X



Microsoft SQL Server 総合スレ 12
0539NAME IS NULL
垢版 |
2021/09/09(木) 20:27:34.53ID:???
alter view ではtime outはよくある
使ってるviewをalterするとデットロックする
0540NAME IS NULL
垢版 |
2021/09/10(金) 01:03:31.08ID:JMgjI8OA
sqlの中の括弧の対応関係を色付けしてくれる機能ってssmsであります?
0541NAME IS NULL
垢版 |
2021/09/12(日) 08:06:05.73ID:???
>>539
deadlockとtimeoutはエラーメッセージが違う
0542NAME IS NULL
垢版 |
2021/09/13(月) 00:55:02.75ID:???
単なるタイムアウトをデッドロックとか言う人多いよね

まあSQL Serverはalter viewもトランザクション内でできたはずだから
デッドロックすることもなくはないんだろうけど
0543NAME IS NULL
垢版 |
2021/09/13(月) 08:13:14.58ID:8fCPiXxw
排他ロックとデッドロックを間違えるレベルはひどいなw
0544NAME IS NULL
垢版 |
2021/09/22(水) 02:05:41.92ID:iue4uJKZ
csvファイルでテーブルをキーが一致したらレコード洗い替えたい。バッチファイルとか実行すると作動するようにしたい。
可能ですか?
0545NAME IS NULL
垢版 |
2021/09/22(水) 12:58:41.05ID:???
Accessはもう諦めたのか?
そんなんじゃ何一つ出来ないぞ
0546NAME IS NULL
垢版 |
2021/09/22(水) 13:34:54.24ID:xdPa75UG
>>545
ん?
0548NAME IS NULL
垢版 |
2021/09/23(木) 12:16:42.00ID:bPVhBfA6
>>547
やり方おしえてよ
0550NAME IS NULL
垢版 |
2021/09/23(木) 20:35:31.15ID:bPVhBfA6
sqlcmdをサーバはインストールしてるけど
クライアントはしてない場合にも
実行できる方法ない?
0552NAME IS NULL
垢版 |
2021/09/23(木) 21:00:49.66ID:???
>>550
何らかの方法でサーバーにログインして実行すればいいんじゃね?
0553NAME IS NULL
垢版 |
2021/09/23(木) 21:10:39.70ID:???
インストールしたらよくね?
0554NAME IS NULL
垢版 |
2021/09/26(日) 10:51:50.76ID:???
>>550
SQLServerのドライバはOS標準で組み込まれてるんだから、バッチ処理で良いんならJSやVBSを使えば良いんじゃないの
PSよりはVBSの方が情報が多いように思うし、OFFICEが使えるならVBAでも良いんじゃないの
というかOFFICEが入ってるならMSクエリとかが使えるか

>>553
クライアント環境にはできるだけツール類はいれたくないだろ
0555NAME IS NULL
垢版 |
2021/09/26(日) 12:12:38.40ID:???
>>554
>クライアント環境にはできるだけツール類はいれたくないだろ

DBを直接操作する人間のクライアントにsqlcmdとかSSMSが入ってないほうが意味がわからないんだけど?
まさかエンドユーザーにやらせようとしてんの?
0556NAME IS NULL
垢版 |
2021/09/26(日) 14:12:03.66ID:5SVUANCV
>>555
そう
一般利用ユーザーにテーブル更新させる
別にそういうとこあるでしょ
0557NAME IS NULL
垢版 |
2021/09/26(日) 15:46:53.78ID:???
>>556
そういうのは普通アプリケーション経由で処理するから
エンドユーザーのクライアント環境でバッチを流したりはしない
入力データが不正だったり更新が競合したりしても
エンドユーザーレベルのリテラシーで対応できるようなものを作る

各ユーザー専用のテーブルのみ更新するような場合で
データが壊れても再作成すればいいような重要度の低いものなら
そういうやり方もありえるのかもしれないが
問い合わせが増えるだけだからまずやらない
0558NAME IS NULL
垢版 |
2021/09/26(日) 16:43:12.12ID:5SVUANCV
>>557
クライアント側のアプリケーションだと
レコード削除はできない制約あるパッケージとか多くない?
スクラッチならやるけど
0559NAME IS NULL
垢版 |
2021/09/27(月) 11:31:27.95ID:BOre3vig
クライアントアプリが制限されているから
BATでやりたいと……

なるほど!理解した!
0560NAME IS NULL
垢版 |
2021/09/27(月) 14:50:56.29ID:???
データの洗い替えをユーザーにやらせるのは聞いたことないな
マスタメンテで複数件一括更新することを洗い替えと呼んでるのかもしれないが
0561NAME IS NULL
垢版 |
2021/09/27(月) 17:18:19.08ID:???
マスタメンテ機能そのものが用意されてなさそう
0562NAME IS NULL
垢版 |
2021/09/28(火) 00:20:14.32ID:moPRyYxu
マスタじゃないよ、トランザクション
0563NAME IS NULL
垢版 |
2021/09/28(火) 07:33:03.07ID:???
闇が深すぎて救いようがないな
0564NAME IS NULL
垢版 |
2021/09/28(火) 10:02:47.41ID:???
トランザクションなら本来の意味での「洗い替え」っぽいけど
だとしたらユーザー入力のcsvファイル使って
ユーザー環境でバッチ実行させる意味がますますわからん

わかる人いたら解説してくれ
0565NAME IS NULL
垢版 |
2021/09/29(水) 17:04:04.45ID:???
こういう当たり前のアプリケーション設計知識って実務経験以外で手に入れるのは難しいのかもね
0566NAME IS NULL
垢版 |
2021/10/03(日) 07:29:19.61ID:???
>>564
話を聞いてて、うちの会社でも同じような例があった
本社のシステム部門がDBを管理していて、事業部のシステム部門がマスタを更新したいって例があった。
本社部門は、テーブルを直接操作する権限は与えたくないんだけど、更新作業を自分たちでやりたくない、インターフェースのアプリを作りたくない
というような流れ、本社部門がしっかり作りこめば良いだけなのにね
0567NAME IS NULL
垢版 |
2021/10/03(日) 09:51:16.00ID:???
システム部門がユーザーの場合は全然話が違うでしょ

やり方はいろいろ有るけど単純なのはファイル連携で定期スケジューリングしたバッチジョブ流すだけ
エラー時は入力データを用意した関係者にエラー内容を通知するようジョブを組んでおけば十分なので
ユーザーインターフェースを用意しなきゃいけないような話ではない

自分たちが管理してないDBを直接SQLで更新したいってのも論外だし
事業部のシステム部門があるような大企業でマスタの更新バッチすら作らないような本社システム部門はかなりヤバい
0568NAME IS NULL
垢版 |
2021/10/03(日) 12:27:53.85ID:???
てか、事業部がどんな大きさなのかわからんけどシステム部門を抱えてるレベルなら事業部のDB持ってないの?
コンプライアンスとかで本社のシステム部門が統括管理してるのかな?
それであっても簡単なメンテツールを事業部システム部門が作ればいいだけだと思うけど…
0569NAME IS NULL
垢版 |
2021/10/13(水) 21:58:34.60ID:???
updateなのに重複するキーを挿入できませんと怒られる
そんなこと有り得るのかな
0571NAME IS NULL
垢版 |
2021/10/14(木) 00:17:12.64ID:???
キー値を書き換えた
トリガーでなんかした

まあ他にもあるかもしれんが、ありえる
0572NAME IS NULL
垢版 |
2021/10/14(木) 00:19:10.66ID:???
>>567>>568
おっしゃる通りです
日立とかIBMのホスト系しか扱ったことがない方が多くて、人員も世代交代に失敗していて古いシステム構成のまま改悪が続いてる
事業部側も人員がいなくてシニア契約社員が主戦力になってるような会社なんです
若い有能な人は見切りをつけて転職していく
個々の担当者はそれなりなんだと思うけど、経営がちょっと抜けてる感じでどうしようもない
0573NAME IS NULL
垢版 |
2021/10/14(木) 07:04:25.37ID:???
>>570
ありえました
と同時に絶望しました
もう作った人に修正させてと思いました
0574NAME IS NULL
垢版 |
2021/11/10(水) 05:15:39.36ID:???
付加列インデックスって関数の引数に使ってくれる?
where句、select句どっちも使う、使わない、どっちかしか使わないとかわかる資料ってどっかにあるかな?
0575NAME IS NULL
垢版 |
2021/11/10(水) 16:34:28.00ID:???
SQL Serverは関数インデックスをサポートしてないから
付加列インデックスかどうかやkeyかnon-keyかに関係なく
関数の引数に使った場合はindex seekにはならないよ

computed columnでkeyならwhere句で使える
non-keyはwhere句では使えない
0576NAME IS NULL
垢版 |
2021/11/11(木) 16:52:52.42ID:???
>>575
やっぱそうだよね。
なんか遅いクエリの実行プラン確認したときに出てきた足りないindexの中の付加列にisnull関数噛ませてるカラムが出てたんでもしやと思ったんだけど。
バージョンは2017です
ありがとうございました
0577NAME IS NULL
垢版 |
2021/11/11(木) 18:26:27.79ID:???
ん?
isnullってことはwhere句で使ってるんじゃないの?
であれば付加列インデックスの使い方間違ってる

あとちゃんとインデックス作っても
isnull自体にパフォーマンスの問題あるから違う方法に変えたほうがいいかもしれない
0578NAME IS NULL
垢版 |
2021/11/11(木) 20:29:26.94ID:???
>>577
そう。where句で使っていてselect句にはないカラムです。
付加列インデックスの使い方の件はわかってたんだけど、実行プランの足りないインデックスにisnull関数に噛ませてるカラムが付加列に入ったインデックスが出てきたんで、あれ思い違いしてたんかな?と思って質問させていただきました。

違う方法についてはよくある触りにくい、他の方法はコストがかかるってやつです。
まぁ、インデックスの追加も方法の一つとして、他の案も含めて考えます。
0579NAME IS NULL
垢版 |
2021/11/11(木) 20:51:37.87ID:???
この一連のやり取りが理解できないのは俺だけか?

とりあえず、その他の条件が満たされるなら
関数の引数でも、付加列の目的である余計なキー参照はしなくて済むぞ
0580NAME IS NULL
垢版 |
2021/11/11(木) 21:31:46.51ID:???
>>579
分かりづらかったのならすまんね。
今回の質問は問題解決ではなく仕様確認になるのかな

とある遅いクエリ流したら実行プランの確認でこれが足りないよって言われたインデックスにwhere句のisnull関数の引数に使ってるカラムが付加列として出てきました。
関数の引数にインデックスのカラムは使えないと思ってたんだけど、付加列ならいけるの?ってことで質問しました。

とある遅いクエリの改善についてはどうでもいいです
0581NAME IS NULL
垢版 |
2021/11/11(木) 21:43:45.41ID:6iIlck1C
なぜやってみないのか?
0582NAME IS NULL
垢版 |
2021/11/11(木) 23:20:50.43ID:???
使えないとはどういうことを言ってるんだ?
インデックスはってもそのカラムが使えなくなることなんてないぞ

実行時にそのインデックス使うかどうかはわからんがな
そのパターンでインデックス使って早くなるのは大体はキー参照しなくて済むパターン
だから通常のインデックス列ではなくて付加列で良いというお薦めだろう
0583NAME IS NULL
垢版 |
2021/11/11(木) 23:40:31.54ID:???
さすがにそれは文脈でわかってやれやw
0584NAME IS NULL
垢版 |
2021/11/12(金) 00:03:37.35ID:???
>>582
日本語下手でごめんね。

例えば、
create table AAAA
(
colmun01 char(4) not null
,colmun02 char(4) not null
,seq int not null
,first_date varchar(8) null
,last_date varchar(8) null
,primary key
(
colmun01
,colmun02
,seq
)
)

ってテーブルがあって

select colmun01
from AAAA
where colmun02 = 'BBBB'
and '20210401' between isnull(first_date, '00000000') and isnull(last_date, '99999999')

ってクエリを実行して実際の実行プランを確認したら

CREATE INDEX CCCC
ON DDDD( colmun02)
include(first_date,last_date )

が足りないんじゃない?
って出ました。

付加列の中のカラムはisnull関数の引数なんだけどなんで?

ってなったんで最初の質問になりました。
(WEBだけだけど)調べても出てこなかったんで

first_date、last_date が date型じゃなくてvarchar型 なのは許して。元のテーブルがそうなんで
0585NAME IS NULL
垢版 |
2021/11/12(金) 00:37:13.12ID:???
サジェストされてるインデックス追加すれば付加列としての効果はあるね

でもそもそもBETWEENの左側に固定値をもってくる書き方って有りなのかなぁ
isnull不要にしてfirst_data, last_dateをキーとしてインデックスはっても
Index Seekにはならないような気がするんだけど実際どうなんだろ
0586NAME IS NULL
垢版 |
2021/11/12(金) 01:46:20.70ID:???
>>585
付加列の効果あるんですか。

>でもそもそもBETWEENの左側に固定値をも>ってくる書き方って有りなのかなぁ
なるでしょっ、て思い込んでたんで改めて
isnull不要にしてfirst_data, last_dateをキーとしてインデックスはってfirst_data, last_dateのbetweenのみで実行してみたら、最適化の段階で大なり小なりに展開されてindex seekになってますね。実行プラン見る限りは
0587NAME IS NULL
垢版 |
2021/11/12(金) 01:48:02.27ID:???
☓ isnull不要にしてfirst_data, last_dateをキーとしてインデックスはってfirst_data, last_dateのbetweenのみで実行してみたら

○ first_data, last_dateをキーとしてインデックスはってisnull不要にしたfirst_data, last_dateのbetweenのみで実行してみたら
0589NAME IS NULL
垢版 |
2021/11/12(金) 17:47:15.17ID:ud1MiESj
>>584
WHERE句の条件の書き方が異常
0590NAME IS NULL
垢版 |
2021/11/12(金) 17:48:55.65ID:ud1MiESj
>>585
もうあんたの書き込みはネタとしか思えないんだけど?
0591NAME IS NULL
垢版 |
2021/11/12(金) 18:25:15.51ID:wE0oiQg0
>>584
インデックスにこだわっている理由は?
0592NAME IS NULL
垢版 |
2021/11/12(金) 19:08:33.33ID:???
>>591
こだわっている理由というか、このクエリでなんでこの条件がパフォーマンス改善の候補として上がってきたのかの理由が知りたい。

自分の今持っている知識が間違っているのだろうけど、この付加列が入ってくる理由がわからないので


前にも書いたけど、元の処理のパフォーマンス改善自体はどうでもいい
0593NAME IS NULL
垢版 |
2021/11/12(金) 19:18:04.33ID:wE0oiQg0
isnull関数を使っているから、他人には何を知りたいのかわからない。
0594NAME IS NULL
垢版 |
2021/11/12(金) 19:42:04.72ID:???
インデックスに付加列しとけばインデックスの読み込みだけで済むからでしょう
付加列にないカラムを参照したらインデックス以外にテーブルも読み込みしないといけないから遅くなる
0595NAME IS NULL
垢版 |
2021/11/12(金) 19:54:35.42ID:wE0oiQg0
典型的なSQL Server脳だなw
0596NAME IS NULL
垢版 |
2021/11/12(金) 19:55:36.00ID:wE0oiQg0
インデックスそのものが大きければ意味がない。
0597NAME IS NULL
垢版 |
2021/11/12(金) 21:42:13.95ID:???
いつもの嫌なやつ召喚しちゃったね・・・
0598NAME IS NULL
垢版 |
2021/11/12(金) 22:17:40.73ID:wE0oiQg0
インデックススキャンにしなければいけない→テーブル全体のインデックスを作る→このインデックスはいらないのでは?
0600NAME IS NULL
垢版 |
2021/11/13(土) 19:09:19.46ID:???
付加列の話を出したものです。
一応簡易的にデータを作って確認してみたので結果を書きます。

環境:
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Express Edition (64-bit)
on Windows 10 Pro 10.0 <X64> (Build 19043: ) (Hypervisor)
実施内容:
互換性レベル:SQL Server2017 のデータベース上で
create table AAAA
(
colmun01 char(4) not null
,colmun02 char(4) not null
,seq int not null
,first_date varchar(8) null
,last_date varchar(8) null
,primary key clustered
(
colmun01
,colmun02
,seq
)
)
の形のテーブルをAAAA〜EEEEの5つ作成。同一のデータを100万件投入
各々
CREATE INDEX IX_XXXX ON BBBB(colmun02)
CREATE INDEX IX_XXXX ON CCCC(colmun02) include(first_date, last_date )
CREATE INDEX IX_XXXX ON DDDD(colmun02, first_date, last_date )
CREATE INDEX IX_XXXX ON EEEE(first_date, last_date )
のindexを作成

各テーブルに対しての
select colmun01
from <テーブル名>
where colmun02 = 'BBBB'
and '20210401' between isnull(first_date, '00000000') and isnull(last_date, '99999999')
を1クエリでまとめて実行し実際の実行プランを確認
0601NAME IS NULL
垢版 |
2021/11/13(土) 19:10:10.28ID:???
結果:
AAAA Clustered Index Scan となりクエリコスト30%
BBBB Clustered Index Scan となりクエリコスト31% ※作成したindexは効かず
CCCC IX_XXXX がindex Seek となりクエリコスト6%
DDDD IX_XXXX がindex Seek となりクエリコスト6%
DDDD IX_XXXX がindex Scan となりクエリコスト28%

となりました。
この結果からIndexのキー列、または付加列が関数の引数として使用されている場合もindexが効く場合があるようです

ちなみにBBBBテーブルの実行の際にヒント句でindexを強制した場合は
AAAA クエリコスト8%
BBBB クエリコスト81%
CCCC クエリコスト2%
DDDD クエリコスト2%
DDDD クエリコスト8%
となりました。
0602NAME IS NULL
垢版 |
2021/11/13(土) 19:29:49.86ID:???
>>575の通りの理解だったので、なぜこのように動くのかがわかりません。
何か知っている方や理解に誤りなどありましたら教えていただけると助かります
0603NAME IS NULL
垢版 |
2021/11/13(土) 21:36:11.89ID:???
>>601
演算のパーセント表示だけで比較されてもわからんがな
0604NAME IS NULL
垢版 |
2021/11/14(日) 02:47:16.70ID:???
>>603
では、他にどのような情報がアレバ良いのですか?
0605NAME IS NULL
垢版 |
2021/11/14(日) 21:36:16.11ID:???
クエリコストの大小を比較したいなら各クエリ全体のコスト
コスト1000の6%と、コスト10の30%なら後者のほうが効率がいいからね

SET SHOWPLAN_ALL ON;
SET STATISTICS PROFILE ON;
SET STATICTICS IO ON;

↑この3つでそれぞれ表示される値の意味をdocs見て把握しておくといいと思う
0606NAME IS NULL
垢版 |
2021/11/15(月) 00:21:06.02ID:???
>>605
ありがとうございます。
ただ今回自分が知りたいことはコストはあまり関係ないんですよね。

違う結果になったことを明示するための情報としてコストを出したつもりでしたが下記の知りたいことからすると不要な情報でした。
すみません。

知りたいことは実行したクエリ

select colmun01
from <テーブル名>
where colmun02 = 'BBBB'
and '20210401' between isnull(first_date, '00000000') and isnull(last_date, '99999999')

のfirst_date,last_dateはisnull関数の引数なのになぜ付加列、またはindexのキー列が利用されて、index seekのみで解決されているのか?
になります。※1

元々indexのキー列、付加列は関数の引数や計算が含まれるとwhere句で利用されない(と思っていた)ため、CCCCテーブル、DDDDテーブルの実行はindex seek後にクラスター化indexのキー参照が起こると思っていました。
これはヒント句でindexの利用を矯正したBBBBの実行と同じ動きです。

一応テストした結果として、※1については解決できる場合があり、そもそもの自分の知識が誤っていることがわかりました。

ので「indexのキー列、付加列が関数の引数や計算が含まれてもwhere句で利用される」のはどのような場合か、明確な基準があるのかなどがわかれば教えていただければとおもいます。

一部表現が適切でなく伝わりにくい部分があるかと思いますが汲み取っていただけると助かります。
0607NAME IS NULL
垢版 |
2021/11/15(月) 01:23:19.68ID:???
利用されないのはオプティマイザが利用しても効果がないと判断したからで、効果があると思えば利用する
それだけのこと
べつに引数や計算だろうと直接の比較だろうと同じなんだが
0608NAME IS NULL
垢版 |
2021/11/15(月) 02:06:34.07ID:???
>>606
column02だけでindex seekしてるのか
column02に加えてfirst_dateやlast_date含めてindex seekしてるのかseek predicatesで確認した?
0609NAME IS NULL
垢版 |
2021/11/15(月) 23:18:02.81ID:???
>>608
これでした。ありがとうございます。
index seekの中を確認したところ、column02のみがseekでisnull関数の引数になっているfirst_dateとlast_dateはwhereでの参照でした。

CCCCとDDDDのクエリからisnull関数を外したものの実行結果と比較していろいろ合点がいきました。

GUI上のindex seekの表示しか見ていない浅い確認でそれ以降の知識がなかったため、自力でここにたどり着くのは難しかったと思います。
あらためてありがとうございました。

ついでにで申し訳ないのですが、今まで実行プラン上でindex seek、またはindex scanになっていることを「indexが効いている」と表現していたのですが、これは一般的に間違っていますか?
質問の中で色々表現がおかしく、理解しづらい部分もあったと思いますので少しでも修正できればと思っております。
0610NAME IS NULL
垢版 |
2021/11/15(月) 23:40:19.19ID:???
>>607
今迄はあなたと同じように「オプティマイザの気分」で済ませてたのですが、今回は少し突き詰めたかったのです
0611NAME IS NULL
垢版 |
2021/11/16(火) 00:00:34.73ID:???
SQLserverのハードを買い替えようと検討してもるんだけどストレージをSSDしても大丈夫か聞きたい。
SSDは書き込みの回数制限があり、頻繁な書き込みのあるSQLserverには向かないと昔聞いた事あったんだけど今は大丈夫か教えて下さい。
0612NAME IS NULL
垢版 |
2021/11/17(水) 00:13:51.33ID:???
>>611
SQLserverに向かないってよりもアクセス頻度の問題のような気がするけど。
ssdって言ってもqlc,tlc,mlcのような種類もあるし。
ただ、前にベンダーに見積もりとった時に聞いたのは利用用途が中規模のwebサービスなら、5年位であればそんなに気にしなくて良いって言われた。(ここでのSSDの種類が何か、中規模がどの程度かは忘れた。参考にならずすまん)
ちなみにどんな利用用途なの?
社内用か、インターネットに公開してるサービスなのか(1日のアクセスはどの程度か)、それとも個人用か

個人用でもなければどこかのベンダーに話聞いちゃった方がいいかも
0613NAME IS NULL
垢版 |
2021/11/17(水) 18:17:30.15ID:???
>>612
アドバイスありがとう
用途は会社でデータウエアハウス的利用です。日次で基幹システムからデータ取得して蓄積するようなデータサーバです。
DELLの直販で買う予定でサーバ向けSAS接続のSSDだから大丈夫だと思う。
一応DELLに問い合わせしときました。
0614NAME IS NULL
垢版 |
2022/01/22(土) 16:40:07.61ID:ANkLRIq9
レプリケーションというのを初めて設定しているのですが
「スナップショットエージェントが起動していません」のMSGが
出てスナップショットが取れません。
これってSQL Server エージェントとは別物ですか?
SQL Server エージェントは起動しているのに…。
すみませんが、わかる方がいたら教えて下さい。
0615NAME IS NULL
垢版 |
2022/01/26(水) 17:15:02.37ID:IRw1UwiV
オブジェクト名'sysservers'が無効です。エラー208
これどういった調査をすれば良いのでしょうか?
0616NAME IS NULL
垢版 |
2022/01/26(水) 19:31:05.33ID:???
sys.servers じゃね?
0617NAME IS NULL
垢版 |
2022/01/27(木) 01:31:47.35ID:???
将来のバージョンで廃止予定とかになってるけど、バージョンいくつ使ってるんだろうな
0619NAME IS NULL
垢版 |
2022/01/27(木) 17:53:32.89ID:???
何をどうしたらそのエラーが出たのかと、エラーメッセージを正確にかけ
0620NAME IS NULL
垢版 |
2022/01/27(木) 18:24:31.13ID:???
サブスクリプションの新規ウィザードで
パブリケーションを選択して次へをクリックすると
先のメッセージと一緒に「パブリケーションの
情報が取得できません」のMSGが出て先に進めません。
SQL SERVER2008R2です。
2019の評価版で試すと問題なく設定できます。
0621NAME IS NULL
垢版 |
2022/01/27(木) 21:44:41.14ID:???
パブリケーション側のバージョンは?
0622NAME IS NULL
垢版 |
2022/01/27(木) 22:05:05.99ID:???
パブリケーション側のバージョンが2008なのかな?
SSMSのバージョンを2008をサポートしてる古いやつで試すといいんでない?
0623NAME IS NULL
垢版 |
2022/01/28(金) 05:39:07.73ID:???
>>622
パブリケーション側が2008です。
SSMSのバージョンについては
全く頭にありませんでした
試してみます
ありがとうございました
0624NAME IS NULL
垢版 |
2022/01/28(金) 08:10:53.42ID:98qoK9/E
>>622
サブスクリプション側のSSMSをver10に変えたら出来ました。
本当にありがとうございました。
0625NAME IS NULL
垢版 |
2022/03/16(水) 06:19:16.79ID:???
大したデータ量でもないのに「クエリの実行中にMemoryGrantを25秒間待機する必要がありました」との警告が出て処理が遅くなるんですが対処法はないでしょうか。
また値が1, (2 or 3), (4 or 5)でそれぞれ集計したいのですがどのようなSQLにすればいいのでしょうか
0626NAME IS NULL
垢版 |
2022/03/16(水) 16:26:28.69ID:???
>>625
>大したデータ量でもないのに「クエリの実行中にMemoryGrantを25秒間待機する必要がありました」との警告が出て処理が遅くなるんですが対処法はないでしょうか。
テーブルとインデックスの構成、クエリ内容、実行プランを確認して原因を突き止めてください
原因が分かったらテーブルやインデックスを変更したりクエリを変更して対処してください

>また値が1, (2 or 3), (4 or 5)でそれぞれ集計したいのですがどのようなSQLにすればいいのでしょうか
現在のテーブル構造と欲しい結果のイメージを提示してください
0627NAME IS NULL
垢版 |
2022/03/16(水) 17:12:02.73ID:???
>>625
> また値が1, (2 or 3), (4 or 5)でそれぞれ集計したいのですがどのようなSQLにすればいいのでしょうか
select
case when 値 = 1 then '1' when 値 = 2 or 値 = 3 then '2 or 3' when 値 = 4 or 値 = 5 then '4 or 5' end as 値,
sum(集計列) as 集計
from テーブル
group by
case when 値 = 1 then '1' when 値 = 2 or 値 = 3 then '2 or 3' when 値 = 4 or 値 = 5 then '4 or 5' end
0628NAME IS NULL
垢版 |
2022/03/19(土) 18:54:37.22ID:???
開発サーバにいれるSQLServerのエディションをDeveloperにするの問題ないでしょうか
利用目的はシステム改修の開発単体テストから総合テスト、受入テスト
あとは本番サーバで不具合でたときの検証目的で使用するのは数名〜Max20人くらい
バージョンアップの準備してて、経緯不明なんですが開発サーバが今Enterprise入ってて変えて問題ないなら変えたい
本番はEnterpriseです
0629NAME IS NULL
垢版 |
2022/03/20(日) 13:06:14.65ID:???
>>625
MemoryGrantで待機ってメモリが足りてない
・SQLServer以外のプロセスがメモリ食ってSQLServerのメモリが小さくなってる可能性
→SQLServerの最大メモリ最小メモリの設定、SQLServerのサービスアカウントにメモリのページロックの特権がついてるか
・メモリめっちゃ使うクエリが同タイミングで動いてる可能性
→パフォーマンスモニタのBufferManagerカウンターで急激な変動がないか確認、動的管理ビューでその時間帯に動いてたクエリででかいのを調べる
・そのクエリがめっちゃメモリ食う
→これは626

昔使うメモリの計算に不具合あった覚えあるけど、あれは2008か2012くらいのSPで解消されてたような
0630NAME IS NULL
垢版 |
2022/03/25(金) 16:26:14.25ID:???
Express版は10GBまでは使用できるようですが、
10GBを超えそうだという警告などは設定できるのでしょうか?
定期的に使用領域を確認していないと、ある日突然なにもできなくなってしまうのでしょうか?
0631NAME IS NULL
垢版 |
2022/03/26(土) 05:22:50.26ID:???
>>630
このページにあるクエリを実行するスクリプトを作成し、タスクスケジューラで定期実行してみてはどうでしょうか
クエリの結果をもとに、自分で決めたしきいち値超えたら警告メールを送るような処理も加えると監視をほぼ自動化できそうですね
0632NAME IS NULL
垢版 |
2022/03/26(土) 05:24:39.02ID:???
>>630
ページの情報が抜けてた。。。
「データベースのデータとログの領域情報を表示する」でググってみてください
0633NAME IS NULL
垢版 |
2022/03/27(日) 04:43:57.62ID:g/u0dazF
ディスク容量を常に気にしていない運用という点が突っ込みどころなんだろうな
0634NAME IS NULL
垢版 |
2022/03/27(日) 09:21:36.36ID:???
今どき10GBの容量を気にする運用って…
0635NAME IS NULL
垢版 |
2022/03/27(日) 12:27:12.36ID:???
>>631-632
ありがとうございます
クエリで問い合わせられるのなら、いろいろできそうです
0636NAME IS NULL
垢版 |
2022/03/27(日) 14:58:09.23ID:???
>>633
ディスク容量を常に気にしたところで役に立たないという点が突っ込みどころなんだろうなww
0637NAME IS NULL
垢版 |
2022/03/27(日) 21:51:16.43ID:g/u0dazF
>>636
どこにファイルが作られているのかを気にしてない時点でおかしんだけどな。
0638NAME IS NULL
垢版 |
2022/03/27(日) 22:22:31.32ID:???
> どこにファイルが作られているのかを気にしてない
どこからそんな妄想が?w
0639NAME IS NULL
垢版 |
2022/03/27(日) 22:26:31.76ID:???
>>637
知らんのなら大人しくしとけよw
お前のオツムのほうがよっぽどおかしいぞ
0640NAME IS NULL
垢版 |
2022/03/28(月) 20:26:23.25ID:???
今、自分1人で使ってるスタンドアロンのACCESS DBがクソ重くて激不安定なので
同じ事をSQL serverでやろうとしてるんだけど
1人でスタンドアロン使用の場合、Developer版を
「永遠に開発中」という設定にしとけばライセンス違反にならない?
0641NAME IS NULL
垢版 |
2022/03/28(月) 23:45:33.37ID:YrCsxNrI
>>640
Expressを使わずにDeveloperを使わないといけない理由は?
0642NAME IS NULL
垢版 |
2022/03/29(火) 01:49:02.52ID:???
ちんちんシュッ!シュッ!シュッ!
0644NAME IS NULL
垢版 |
2022/03/29(火) 08:14:33.09ID:???
>>641
別にexpressでもいいんだけど
単にdevelopは制限が全くないのでこっち使おっかな、程度の事です
0645NAME IS NULL
垢版 |
2022/03/29(火) 08:20:42.50ID:???
そんなやつがライセンス気にしてるのかw
0647NAME IS NULL
垢版 |
2022/03/29(火) 13:26:38.05ID:???
>>640
止めとけ
素直にMySQLかPostgreSQL使え
0648NAME IS NULL
垢版 |
2022/03/29(火) 23:39:12.46ID:BT3fAchA
>>647
そんな理由で別製品にするなんて素人が言うことだろw
0649NAME IS NULL
垢版 |
2022/03/30(水) 00:51:56.50ID:???
SSMSでストアドのテストドライバ生成機能ってありますか?
※Sqldeveloperみたいな感じの、っていう表現で伝わりますかね

あるいは皆さんの、ストアドの単体テストの楽な方法とかも何かtipsがあれば
0650NAME IS NULL
垢版 |
2022/03/30(水) 01:29:25.29ID:???
Visual StudioのSQL Server Data Tools(SSDT)
0651NAME IS NULL
垢版 |
2022/03/30(水) 02:36:50.14ID:Q0Wnmomb
>>649
そもそもTransact-SQLをわかってますか?
0652NAME IS NULL
垢版 |
2022/03/30(水) 09:01:40.57ID:???
いつものことながらID付きはとことん的外れだな
0653NAME IS NULL
垢版 |
2022/04/02(土) 00:32:00.52ID:???
接続文字列のData SourceとServerに違いはあるの?
どちらもサーバーのインスタンス名かIPアドレスとポートの指定だと思ってるけど
0654NAME IS NULL
垢版 |
2022/04/02(土) 03:40:35.60ID:???
SQLServerでServerといったら基本的にはSQLServerがインストールされているサーバーかサーバーとそのインスタンス名まで
DataSourceとなるとSQLServer以外のDBMSやフラットファイルも含まれる
0657NAME IS NULL
垢版 |
2022/04/05(火) 18:16:10.44ID:???
>>656
ごめん自己解決
間違ってF5押してたわ
0658NAME IS NULL
垢版 |
2022/04/06(水) 22:53:45.80ID:2Dm57SjU
F5キーでコミットとはおそろしい発想だな
0660NAME IS NULL
垢版 |
2022/05/19(木) 16:16:58.24ID:QTEsI/3c
教えて下さい。
ACCESS2019、SQL Server2012利用しています。

ACCESSからSQL ServerのテーブルへODBCでリンクテーブルを貼っている環境があるんですが、
特定の端末だけ、リンクテーブルを開くと、内容が突然すべて#DELETEになってしまう に現象に見舞われました。

https://pctips.jp/pc-soft/access-sqlserver-deleted
このサイトを始めとして、同様の現象を解説しているサイトには、SQL Server側でbigint型を使ってるせいとありましたが、
bigint型は使っていませんし、特定の端末のみこの現象が発生しています。
再起動やODBC設定の作り直し、リンクテーブルの貼り直しなどしても治りません。


更に不思議なことに、次の日になると治ってしまいます。
で、しばらくたつとまた同じ現象に見舞われます。
(ここ一週間で3回です)

私も長年SE・PGやっていますが、このような現象は初めてで、
途方にくれています。
最悪PC変えれば治りそうな感じではあるのですが・・

なにか情報をお持ちの方のお知恵を拝借したく・・・
何卒よろしくお願いいたします。
0661NAME IS NULL
垢版 |
2022/05/19(木) 17:06:40.47ID:???
bigintだけじゃなくて、bit型で値がNULLだったりしたらそんな感じになった気がする

まあ、クライアントがまったく同じバージョンでまったく同じデータを表示して起こるなら
ネットワーク系の問題の可能性が高そうだけど
それかODBC定義が違ってるとか
ウィルスチェック系のソフトが悪さしてるんじゃね
0663NAME IS NULL
垢版 |
2022/05/25(水) 01:02:51.71ID:q0WabceL
sql serverにアプリから接続しているクライアントPCって
利用状況モニターで確認できますが、過去の履歴ってどこから見れますか?
0664NAME IS NULL
垢版 |
2022/05/25(水) 11:21:36.57ID:???
>>663
利用状況モニターってたぶん動的管理ビューから情報とってるから、それの過去データ見たいならそれをとるように設定しないと
データコレクションがそれなんだろうが自作でクエリ組んでSQLAgentで動かすほうがカスタマイズしやすいと思う
あとは、どういう風にデータを見たいかだけど拡張イベントでログインログアウトとるとかも有りかな
0665NAME IS NULL
垢版 |
2022/05/25(水) 16:42:31.89ID:???
どういうログがいるのかわからんが、監査ログで良いんじゃないか
0666NAME IS NULL
垢版 |
2022/05/25(水) 23:54:39.54ID:???
監査ログって拡張イベントを監査用にまとめただけでしょ
簡単にやれるぶん融通がきかない
項目とフィルタの設定の自由度ほしいなら拡張イベント一択
0667NAME IS NULL
垢版 |
2022/11/15(火) 22:39:41.69ID:54ouQ1K1
sql sever 2019で、ファンクションを作成しています。
その処理の中で、番号を管理する列から最大値を取得して1を加えたものを新しい番号として同じテーブルにインサートしようとしています。
その処理の間に、他からこのファンクションを呼び出されて割り込まれることを防止するため、ファンクションが完了するまでテーブルロック(排他ロック)をかけたいのですが、どのような記述が必要でしょうか。

begin transaction
commit のような感じで関係するステートメントをかこえたらよいのですが。
0668NAME IS NULL
垢版 |
2022/11/15(火) 22:53:59.24ID:???
>>667
自作せずにSEQUENCEをNO CACHEで使えばいいよ
0669NAME IS NULL
垢版 |
2022/11/15(火) 23:38:08.24ID:uZbfP42z
>>668
早速のレスありがとうございます。

連番はSQL SEVERに自動で振ってもらおうと思います。
そして、INSERTとOUTPUT inserted.*を使って、
その新しい番号を得たいと思います。
0670NAME IS NULL
垢版 |
2022/11/15(火) 23:42:08.86ID:uZbfP42z
>>669
訂正します
INSERTにOUTPUT inserted.*を組み合わせて
0672NAME IS NULL
垢版 |
2022/11/17(木) 19:21:02.25ID:???
>>667
まず分離レベルってのを理解しような
0673NAME IS NULL
垢版 |
2022/11/17(木) 23:47:32.26ID:???
>>671
エクスプレス版を取りあえずダウンロードだけしといたw
SSMSが同じだからなあ…どうなんだろ
0674NAME IS NULL
垢版 |
2022/11/24(木) 11:28:43.27ID:DKlnX/+1
質問です。

テーブルA(1)---(∞)テーブルB(∞)---(1)テーブルA

こういう関係になるテーブルBを考えています。
即ち、テーブルAの外部キーをテーブルBの2列で持つことになります。
同じテーブルAについて外部キーを持っても、テーブルBの2列の意味はそれぞれで異なります。

こういうテーブルBの2列は、テーブルAの外部キーを持つので、列名の設定に困ります。
一列だけならforeignkeyofA_CDという列をテーブルBに設定すれば良いですが、こういう場合はどんなふうに列名を設定するのが良いのでしょうか。
0675NAME IS NULL
垢版 |
2022/11/24(木) 12:21:15.60ID:???
>>674
foreignkeyof ってググっても出ないから、そんな作法は一般的じゃないよね
普通に名詞だけの単語でテーブルA,B共通の名前にして、エイリアス名で分ければ?
0676NAME IS NULL
垢版 |
2022/11/24(木) 12:25:57.91ID:???
悩むくらいなら、
/* コメントxxxxx */
みたいにメモを残すほうが、あとでみてもわかる
0677NAME IS NULL
垢版 |
2022/11/24(木) 12:30:02.95ID:???
>>674
列名?
外部キー制約名じゃなくて?

列名ならそのカラムがテーブルAで持つ意味でつければいい

外部キー制約名はFK_テーブルA_テーブルBが一般的
2つ同じテーブル同士で外部キー制約を貼るなら
テーブルA側の列名も使って外部キー制約名を付ける
0678NAME IS NULL
垢版 |
2022/11/24(木) 12:34:41.41ID:???
>列名ならそのカラムがテーブルAで持つ意味でつければいい

buyerとsellerとか
primary_contact/secondary_contactとか
0679675
垢版 |
2022/11/24(木) 12:43:41.42ID:???
スレが盛り上がったところで、質問させていただきます
SQLCLRなんですが、複数のアセンブリがあって、その中の、一部のメソッドを仕様変更したとき、アセンブリとストアドの依存関係なしに、全部createやり直すのは普通ですか?邪道ですか?
0680675
垢版 |
2022/11/24(木) 12:46:57.35ID:???
再作成必要ないものまでcreate assembly、create procedureしてしまうんですよね
0681NAME IS NULL
垢版 |
2022/11/24(木) 15:15:06.11ID:???
>>679
普通ではないように思うが署名やテストも含め自動化できてるなら好きにすればいいんじゃない?
0682674
垢版 |
2022/11/26(土) 00:22:21.03ID:sFVTXftJ
皆様、レスありがとうございます。
参考になりました。
結局、次のようにしました。


table_A.列名あいう(table_Aの主キー)

table_B.列名あいう(table_A外部キー)
table_B.列名あいう_用途(table_A外部キー)

このように、用途がわかるように列名を設定しました。

ありがとうございます。
0683NAME IS NULL
垢版 |
2022/11/26(土) 16:16:33.61ID:D63qN8dA
同じ列名で格納かれているデータ異なるけど、関連があるなんてわかりにくいにもほどがあるだろw
0684NAME IS NULL
垢版 |
2022/11/26(土) 16:17:09.46ID:D63qN8dA
>>682
相互に参照し合う外部キー?
0685NAME IS NULL
垢版 |
2022/11/26(土) 16:18:35.53ID:D63qN8dA
1対Nを、1対「無限大」と表記する表記法なんて初めて見たわ。
0686NAME IS NULL
垢版 |
2022/11/26(土) 16:45:50.88ID:???
>>682
わるい
「列名ならそのカラムがテーブルAで持つ意味でつければいい」と書いたけど
「列名ならそのカラムがテーブルBで持つ意味でつければいい」の間違いだったわ

message.sender -> account.id
message.receiver -> account.id
0687NAME IS NULL
垢版 |
2022/11/26(土) 16:51:31.81ID:D63qN8dA
外部キー列と参照される列を混同するのは初心者あるあるだが、
純粋に間を取り持つテーブルを作った方がいい。

説明がいるデータモデルにしておくと、自分でもわからなくなる。
0688NAME IS NULL
垢版 |
2022/11/26(土) 18:53:09.89ID:o+PA739f
トランザクションデータの親子関係と、マスタデータの関係がごっちゃになっているのかな?
0689682
垢版 |
2022/11/28(月) 07:15:24.18ID:Y7UCoM6L
table_A.列名あいう(table_Aの主キー)

table_B.列名あいう(table_A外部キー)
table_B.列名あいう_用途(table_A外部キー)

table_Aの外部キーが保存されるこの2列ですが、table_Aの同じ行とリンクするものではありません。

table_B.列名あいう_用途(table_A外部キー)
は、たとえば
0690NAME IS NULL
垢版 |
2022/11/28(月) 07:19:51.81ID:Y7UCoM6L
>>689
table_B.列名あいう_用途(table_A外部キー)
は、たとえば、

table_B.列名あいう_処理ターゲット(table_A外部キー)
とでもして、処理と処理済みであることを銘記するためのものです。

table_B.列名あいう(table_A外部キー)がリンクするtable_Aの行とは違う行とリンクします。
0691NAME IS NULL
垢版 |
2022/11/28(月) 07:20:23.19ID:Y7UCoM6L
>>686
ありがとうございます。
そのように考えました。
0692NAME IS NULL
垢版 |
2022/11/28(月) 07:21:29.60ID:Y7UCoM6L
>>685
アクセスのGUIってそうなってなかった?
0693NAME IS NULL
垢版 |
2022/11/28(月) 07:28:43.92ID:Y7UCoM6L
>>690
table_B.列名あいう(table_A外部キー)
table_B.列名あいう_用途(table_A外部キー)

つまり、table_Bは、table_Aのサブテーブルでありながら、処理のターゲットにもされるテーブルということになります。
0694NAME IS NULL
垢版 |
2022/11/28(月) 14:59:50.69ID:iXYDTEGM
テーブルAの別のレコードの列を参照する列を同じレコードに持つテーブルB

これCOBOLの発想か?
0695NAME IS NULL
垢版 |
2022/11/28(月) 15:04:08.76ID:???
>>693
親子関係なのか
それならそういう命名もある程度納得できる

taskテーブルとtask_dependencyテーブルがあって
task_dependencyテーブルではtask Aが終わったら
task B, C, Dを実行するみたいな依存関係を管理する時に
↓こういうイメージの構成にして(A, B), (A, C), (A, D)の3レコードを登録する形だよね

task.task_id
task_dependency.task_id -> task.task_id
task_dependency.depentent_task -> task.task_id
0696NAME IS NULL
垢版 |
2022/12/02(金) 14:57:13.95ID:???
他サーバーのテーブルを参照するビューがクソ重くて辛い
データ転送バッチ作るしかないのか?
0697NAME IS NULL
垢版 |
2022/12/02(金) 17:56:05.96ID:???
レプリとかLog Shippingとかあるよ
0698NAME IS NULL
垢版 |
2022/12/05(月) 11:50:30.30ID:???
>>697
ありがとう
他サーバーは他の人が管理してるものだからいけるか謎だけどちょっと相談してみるわ
0699NAME IS NULL
垢版 |
2022/12/05(月) 21:06:27.64ID:JoOlcgho
>>698
SQL Serverはマテリアライズドビューがない

これはかなりの欠点
0701NAME IS NULL
垢版 |
2022/12/06(火) 01:23:03.08ID:mYqHptcX
>>700
それは標準SQLのマテリアライズドビューではなく、データベースそのものの物理的なレプリケーションでしかない。

こんなの乱暴すぎてアプリケーションからは危険すぎて使えない。

マテリアライズドビューがわからないのなら、マテリアライズドビューを知ってから反論した方がいい。
0702NAME IS NULL
垢版 |
2022/12/06(火) 15:29:27.72ID:???
>>701
何いってんのww
レプリとマテリアライズドビューの区別もできない上に
マテリアライズドビューが標準SQLになった妄想見てんのかww
恥ずかしいやつだなwww

オラクルしか知らんとマテリアライズドビューの本来の意味もわからんようになるのか
こうはなりたくないな
0703NAME IS NULL
垢版 |
2022/12/06(火) 17:18:32.85ID:???
オラクルだと昔はスナップショットと呼んでたから
マテリアライズドビューをスナップショットレプリケーションだと思い込んでるんだろ
0704NAME IS NULL
垢版 |
2022/12/06(火) 19:56:32.02ID:mYqHptcX
おまえらSQL Serverしか知らねえのまるわかりじゃねえかw
0705NAME IS NULL
垢版 |
2022/12/06(火) 20:00:28.19ID:mYqHptcX
>>702
あのさ、他のRDBMSではレプリケーションという言葉は広い意味の言葉で、製品ごとに定義が異なる。

さらにマテリアライズドビューはデータベースオブジェクトですよ?

SQL Serverで似たようなことをするには、全レコードをSELECTして他のテーブルに登録するくらいしかない。

他のRDBMSはSQLでマテリアライズドビューの操作ができる。
0706NAME IS NULL
垢版 |
2022/12/06(火) 20:02:10.27ID:mYqHptcX
>>703
「スナップショットレプリケーション」なんて言葉が出てくるのはSQL Serverくらい
0707NAME IS NULL
垢版 |
2022/12/06(火) 20:05:56.31ID:mYqHptcX
日本マイクロソフトのサポートや、日本マイクロソフトが作らせたOracleDBとの比較資料も大間違いだらけなんだぜ?

そのくらいマイクロソフトは自社製品がわからない。

日本マイクロソフトの品川本社のSQL Serverサポートもひどいレベル。

普通のデスクトップPCで試してみているだけ。
さも知ってましたみたいに答えるが、Bing検索で検索して答えるレベル
0708NAME IS NULL
垢版 |
2022/12/06(火) 20:34:37.28ID:mYqHptcX
マイクロソフトはSQL Serverの欠点を指摘されて、マテリアライズドビューはあるみたいなことを世界に発信している。

マテリアライズドビューは、ビューにインデックスを作成すれば解決みたいなことを言い出して、そのインデックスが実態がもはやただのテーブルにすぎない。

同じようにロックエスカレーションも悪く言われて、これも正反対のロックエスカレーションはすばらしいと言って回っているので、ますますSQL Serverが売れなくなった。
0709NAME IS NULL
垢版 |
2022/12/06(火) 20:37:02.65ID:???
>>705
> SQL Serverで似たようなことをするには、全レコードをSELECTして他のテーブルに登録するくらいしかない。
よくそんなレベルでレスできるもんだな...
0710NAME IS NULL
垢版 |
2022/12/06(火) 21:16:22.43ID:mYqHptcX
>>709
データがそんな大きくなければそうやるよ?

あなたは何と戦っているの?

そうじゃない、そうじゃないと言っていても、ただのイタいおじさんを通りすぎて、追放されるレベルだよ。
0711NAME IS NULL
垢版 |
2022/12/06(火) 21:32:40.36ID:???
> こんなの乱暴すぎてアプリケーションからは危険すぎて使えない。
とか言ってた奴が
> SQL Serverで似たようなことをするには、全レコードをSELECTして他のテーブルに登録するくらいしかない。
とかw
とりあえず何が危険なのか書いてみ
それでお前のレベルがわかる
0712NAME IS NULL
垢版 |
2022/12/06(火) 21:44:53.86ID:???
まいどまいど斜め上のレスを上から目線で書いちゃってwww
いつも笑わせてもらってる

こいつは特別アホだとしても
オラクル信奉者ってなぜか低レベルなやつ多いよなぁ
0713NAME IS NULL
垢版 |
2022/12/06(火) 21:51:47.80ID:BmDSm/mR
よろしくお願いします。

Date型で、日部分のみ指定した値に変更したいのですが、そういう関数はあるでしょうか。

元となる年月日から足し引きするような関数はあったのですが、直接指定するというものが見つかりません。

年、月、日に分解したあとに、日のみ変えてまたDATE型を組み立てるしかないのでしょうか。
0714NAME IS NULL
垢版 |
2022/12/06(火) 22:04:17.98ID:???
>>712
他のDBMSに精通したらオラクルを信奉したりしないからね
0715NAME IS NULL
垢版 |
2022/12/06(火) 22:38:13.91ID:???
>>713
SQL-Server 2022 なら
dateadd(day, n - 1, datetrunc(month, 日付))
でできると思うけどどう見ても素直に
datefromparts(year(日付), month(日付), n)
の方がわかりやすいと思う
0716NAME IS NULL
垢版 |
2022/12/06(火) 22:55:01.97ID:rSr0+yYs
>>715
早速レスをいただき、ありがとうございます。
専用関数がないのは残念ですが、確かにわかりやすいので、組み立て方式でいきたいとおもいます。

参考になりました!
0718NAME IS NULL
垢版 |
2022/12/07(水) 02:44:35.29ID:+zJ/wx/Y
>>717
こういうのがあるからアップデートしたくない

最初にテストしたら、そのまま何の変更も加えてほしくない
0719NAME IS NULL
垢版 |
2022/12/07(水) 17:41:32.59ID:KFl2dpu1
Sql server 2019と、SQL Server Management Studio(SSMS)について

SSMSを使って、Sql serverにsaで接続し、
ファンクションを作成しました。
作成用Create functionスクリプトの実行は完了しました。
しかし、SSMSの左ペインに表示されるはずの作成したファンクションが見つかりません。
そのファンクションも、SSMSには認識されておらず、dbo.ファンクション名を打とうとしても、インテリセンスが機能しません。

このとき、SSMSを再起動したのですが、状況は変わりませんでした。
しかし、Sql serverも再起動した後に試すと、SSMSはさきのファンクションを認識しました。

こういう挙動は普通ですか?
ストアドプロシジャなら、直ぐに認識されなくても、いくらなんでもSSMSで再接続さえすれば認識されたと思います。
0720NAME IS NULL
垢版 |
2023/01/09(月) 01:53:59.58ID:get9qHwd
>>719
データベースの情報を完璧に取得し直して表示するという仕様は、完璧である必要があると思っているんですか?

データベースオブジェクトを検索して表示するのも負荷のかかることです。

SSMSで一時的に見えなかったことを問題視してますが、そんなに重大な問題ですか?

SSMSではなく、クエリで存在を確認する習慣をつけた方がいいですよ。
0721NAME IS NULL
垢版 |
2023/01/09(月) 05:36:49.23ID:22YCMRiX
ストアドプロシジャ内で、
サブクエリによるテーブルの導出を
テーブル値ファンクションで行うとパフォーマンスは落ちるのでしょうか。

各ストアドプロシジャ内で、同じ導出を行うのも非効率だなと思って、流用しやすい形でfrom 句にファンクションを使おうと思っています。
0722NAME IS NULL
垢版 |
2023/01/09(月) 17:03:36.75ID:???
>>719
SSMSってDB情報とかキャッシュしてるから、まあよくあることなんじゃね

>>721
テーブル値ファンクションって、おそらく実行時に展開されないので
サブクエリより実行計画の幅が狭いはず
なのでサブクエリより実行効率が上がるとは思えん
0723NAME IS NULL
垢版 |
2023/01/09(月) 17:23:40.09ID:???
>>719
手動でRefreshしなよ
わからなかったら「SSMS Refresh」でググって
インテリセンスのキャッシュも同じ
DBに不必要な負荷をかけないために昔からそういう仕様だったはず
0724NAME IS NULL
垢版 |
2023/01/09(月) 22:12:05.07ID:???
>>721
Inline Table Valued Functionなら
SELECT文を直接書くのと同じように展開されてから
オプティマイザが実行プランを生成するのでパフォーマンスは変わらない
0725NAME IS NULL
垢版 |
2023/01/10(火) 05:05:40.83ID:M8ITj7+H
>>722
>>724

レスありがとうございます。
テーブル値ファンクションを、From句や、
OUTER APPLYで使うと、パフォーマンスおちないか心配でした。

ストアドプロシジャにベタ書きするように最適化されると聞いて安心しました。

しかし、再利用性を高めるとはいえ、
SQLにサブルーチン的な発想をもちこむのは心が痛みます。
0726NAME IS NULL
垢版 |
2023/01/10(火) 05:48:19.71ID:j9AMOfqi
>>725
整合性の取れた最新のデータを取得しないといけない理由があるんですか?

理由がないのならそんなやり方は捨てるべきです。

しかもデータ量について言及がないので、データ量が少なければ、どういう方法でやっても速度性能なんてほとんど変わりません。

パフォーマンスは低下するが、1.00秒かかるクエリが1.01秒になるような性能悪化なら気にしても意味はありません。
0727NAME IS NULL
垢版 |
2023/01/10(火) 16:42:39.89ID:MfwzOWLo
>>726
>整合性の取れた最新のデータを取得しないといけない理由があるんですか?理由がないのならそんなやり方は捨てるべきです。

どういうこと?
静的テーブルに、予めデータを用意しておいて、
これを使うということ??
0728NAME IS NULL
垢版 |
2023/01/10(火) 18:38:33.71ID:???
>>725
通常のビューや、CTEでダメな理由がなにかあるのか?
0729NAME IS NULL
垢版 |
2023/01/10(火) 19:15:25.24ID:1urMig+5
>>728
再利用できない
0730NAME IS NULL
垢版 |
2023/01/10(火) 19:26:28.71ID:???
>>729
そこで言う再利用って何?
CTEはともかく、ビューが再利用できないわけないんだが
0731NAME IS NULL
垢版 |
2023/01/10(火) 20:33:42.25ID:aTVN3pRn
>>730
テーブル値ファンクションで、定義しとけば、
他でテーブルのように何度でも使える。
修正も一箇所ですむので簡単。
0732NAME IS NULL
垢版 |
2023/01/10(火) 22:02:19.98ID:???
>>727
そいつはDB板の有名荒らしなので相手にするのは時間の無駄だよ
0733NAME IS NULL
垢版 |
2023/01/10(火) 22:03:23.61ID:aTVN3pRn
>>732
ありがとうございます。
0734NAME IS NULL
垢版 |
2023/01/10(火) 22:08:48.47ID:???
条件となる値が固定ならビュー
条件となる値が可変ならinline TVF
0735NAME IS NULL
垢版 |
2023/01/11(水) 05:06:06.88ID:icJsem5h
>>734
引数なしのテーブル値ファンクションは駄目?
0736NAME IS NULL
垢版 |
2023/01/11(水) 14:22:52.23ID:???
>>731
だからそれだと、ビューがダメな理由にならないんだが?
0737NAME IS NULL
垢版 |
2023/01/11(水) 16:50:03.30ID:iyfLfCdS
>>736
ビューはかつて使ったことないけど、
from句や、OUTER APPLYできるのかな。

ファンクションで作っておくと、引数追加したくなっても変更しやすそう
0738NAME IS NULL
垢版 |
2023/01/11(水) 18:33:20.02ID:???
>>737
>from句や、OUTER APPLYできるのかな。
当然使えるよ
SELECTするだけならTableが使えるところならどこでも使えると思うよ
更新系はいろいろ制約があってそれを満たしてなければ使えない
0739NAME IS NULL
垢版 |
2023/01/13(金) 04:01:42.26ID:gJb3onoK
>>738
ありがとうございます。
0740NAME IS NULL
垢版 |
2023/01/13(金) 12:39:45.86ID:???
SQL ServerのPKやインデックスは作成後にメモリに常駐し続けるものなんでしょうか?
0741NAME IS NULL
垢版 |
2023/01/13(金) 13:47:19.40ID:???
>>740
キャッシュにブロック単位で読み込まれて残ってることはあるけど常駐はしない
0742NAME IS NULL
垢版 |
2023/01/13(金) 16:02:17.39ID:ULxEl8AG
SQL Server for LinuxでActive×Activeの遠隔地マルチマスター構成作れるの?
0744NAME IS NULL
垢版 |
2023/01/13(金) 21:27:19.96ID:???
>>742
WindowsかLinuxかに関係なくSQL Serverが持ってる機能だけじゃできないと思うぞ
Oracleと同じでGoldenGateみたいな3rdパーティの製品依存
0746NAME IS NULL
垢版 |
2023/01/14(土) 05:02:21.29ID:wGD1MOCC
大規模システムはOracleDB、

中小システムはSQL Serverという棲み分けは

結局、変わらなかった。

今後も変わることはない。

なぜならマイクロソフトが諦めているから。
0747NAME IS NULL
垢版 |
2023/01/14(土) 15:34:58.44ID:???
十数年前ならともかく
本当に大規模なシステムでは
もうオラクルやSQL Serverを検討するような時代じゃないからな
0748NAME IS NULL
垢版 |
2023/01/15(日) 06:58:05.77ID:2joXWGOy
>>747
なに使うの
0749NAME IS NULL
垢版 |
2023/01/15(日) 14:10:17.70ID:7Mz5p9+i
>>747
勘違いしすぎだぞ
クラウドでも大企業はオラクルクラウド、AWSやAzure上で同じ製品を使っている
0751NAME IS NULL
垢版 |
2023/01/15(日) 15:07:57.87ID:???
>>749
大規模なシステムと大企業のシステムの違いもわからないのかww
脳みそバグってるね
0752NAME IS NULL
垢版 |
2023/01/15(日) 15:24:23.29ID:7Mz5p9+i
子供みたいな反論だな
0753NAME IS NULL
垢版 |
2023/01/15(日) 15:24:53.65ID:7Mz5p9+i
単にお金がない企業は安いものを選択するしかないだけの話
0754NAME IS NULL
垢版 |
2023/01/15(日) 16:07:23.25ID:???
そうなんだよ
お金がないからAmazonもOracle全部やめようとしてるんだよなぁ
0755NAME IS NULL
垢版 |
2023/01/15(日) 16:12:59.82ID:???
Googleもお金がないからオラクルなんてボッ・・・高価なものは使えない
Facebookも右肩下がりだから節約してMySQL
0756NAME IS NULL
垢版 |
2023/01/15(日) 19:18:52.45ID:7Mz5p9+i
AWSなんてすげーお金がかかるのに騙されて契約するのが日本人
0757NAME IS NULL
垢版 |
2023/01/15(日) 19:20:18.35ID:7Mz5p9+i
本番環境しか見積もらずにAWSに完全移行して、運用保守環境がなくて積む企業が多発しているのが現状。
0758NAME IS NULL
垢版 |
2023/01/26(木) 02:55:42.92ID:0ZdAuIEw
あげ太郎
0761NAME IS NULL
垢版 |
2023/02/12(日) 07:52:50.32ID:???
SSE2017相手なんだけど
SSMS19は18から設定を引き継ぐと繋がるけど
設定をクリアして新規で接続しようとすると
証明書がどうたらって出て接続エラーになる
でアンインストールしてSSMS18を入れ直すと
新規設定からでも接続できた

SSE2019以降の組み合わせだとどうなるか…
検証が非常に面倒だw
0762NAME IS NULL
垢版 |
2023/02/13(月) 15:44:50.45ID:???
SSMS19の接続問題は接続の暗号化オプションが原因だった
SSMS18は暗号化が既定でオフだった
0763NAME IS NULL
垢版 |
2023/02/14(火) 03:21:26.51ID:???
>>762
SSMSだけの問題じゃなくて、ほかのクライアントでも問題出てるから
サーバーかクライアントドライバでのデフォルト設定が変わってるっぽい

とりあえず接続文字列修正してるけど、デフォルト設定変える方法探さんとなぁ
0764NAME IS NULL
垢版 |
2023/02/14(火) 20:18:55.91ID:???
SSMS19は設定ファイル自体を削除しちゃうと
接続暗号化オプションにもチェックが入るけど
詳細メニューで一度リセットボタン押しとくと
その後は既定で暗号化オプションがオフになる
0765NAME IS NULL
垢版 |
2023/02/14(火) 20:21:19.25ID:???
Azureの方も更新来てたけど
引継でも新規接続でも問題無いな
0766NAME IS NULL
垢版 |
2023/06/02(金) 23:00:42.49ID:wLn6qWZ8
SQL Serverは他のRDBMSと実装の方向性が違いすぎて、もはや作りが崩壊している。
0767NAME IS NULL
垢版 |
2023/06/08(木) 18:27:59.82ID:???
具体的な事例を挙げてくれ
0768NAME IS NULL
垢版 |
2023/06/11(日) 12:32:26.82ID:0iWIq9DX
>>767
特定のインデックスがあるとテーブルが不要になるあたり
0769NAME IS NULL
垢版 |
2023/06/11(日) 13:31:49.72ID:???
もっと具体的に。
0770NAME IS NULL
垢版 |
2023/06/11(日) 13:34:41.55ID:0iWIq9DX
>>769
列ストアインデックス

根本的に実装がおかしいと言っているようなもの
0771NAME IS NULL
垢版 |
2023/06/11(日) 14:31:03.94ID:???
いや、個別の機能とかそういうのはいいから。
それをどう使うとどういう風になにが崩壊するのか実際的に語ってみて。
0772NAME IS NULL
垢版 |
2023/06/11(日) 15:46:57.75ID:???
ボラクル君いじりは非生産的なのでやめようね
0773NAME IS NULL
垢版 |
2023/06/11(日) 20:50:10.54ID:0iWIq9DX
>>771
テーブルで実装できなかったことをごまかしている
0774NAME IS NULL
垢版 |
2023/06/11(日) 20:55:17.39ID:???
崩壊してないじゃん。w
0775NAME IS NULL
垢版 |
2023/06/11(日) 22:37:56.63ID:0iWIq9DX
データの読み取りだけで高負担という欠点をさらしているわけだが、読み取り一貫性の実装が何度、作り直しても同じという諦めはマイクロソフト自身が諦めていること。

マイクロソフトドキュメントでわかるとおり、技術的にわかる人間を投入していないからこうなる。
0776NAME IS NULL
垢版 |
2023/06/11(日) 22:53:30.42ID:???
崩壊してないじゃん。w
0777NAME IS NULL
垢版 |
2023/06/12(月) 17:56:19.91ID:???
>>770
データウェアハウス向けの機能追加したら、他のRDBMSと実装の方向性が違いすぎるってか

>>データの読み取りだけで高負担という欠点
エビデンスは?

>読み取り一貫性の実装が何度、作り直しても同じという諦めはマイクロソフト自身が諦めている
エビデンスは?

>マイクロソフトドキュメントでわかるとおり、技術的にわかる人間を投入していない
たとえばどのドキュメント?

せめて、具体的なURLの一つでもあげてから言えよ
0778NAME IS NULL
垢版 |
2023/06/14(水) 16:03:13.72ID:14/Kwe66
SQL Serverの営業職なのか?

SQL Serverは同時実行性を切り捨てている。

2005から2008でコードを書き直したが、結局、仕様がたいして変わらないものが納品されたことぐらい歴史を勉強しろよ。
0779NAME IS NULL
垢版 |
2023/06/14(水) 16:08:00.63ID:14/Kwe66
>>777
他のトランザクションを邪魔する形で、読み取り一貫性を実装している。

データそのものを排他ロックするSybaseの流れから方針転換できなかった。

だから、列ストアインデックスのようにテーブルのコピーを作って、読み取りの並列化をするしかなくなった。

批判をしているんじゃなくて、事実を書かれて頭に来ているのは、ちょっとおかしい。
0780NAME IS NULL
垢版 |
2023/06/14(水) 20:11:54.11ID:???
だから、どこが崩壊してるんだよ。
0781NAME IS NULL
垢版 |
2023/06/14(水) 20:43:15.61ID:???
だからエビデンスを出せと
せめてURLの一つでも張らないと何の説得力もないよ

>>778
>仕様がたいして変わらない
中身のコードはどうでもいいが、バージョン上がって仕様が変わってたら大変なんだが?

>>779
ロックで一貫性を保つのは普通の方針だと思うが、それが実装の方向性が違うって?

で、列ストア以前にスナップショット実装されてるはずだが、それについては?
まあ、どうせ何の根拠もなく使い物にならないっていうんだろけど
0782NAME IS NULL
垢版 |
2023/06/15(木) 05:40:55.29ID:Q/3PXPD+
何が気に入らないのか?
0783NAME IS NULL
垢版 |
2023/06/15(木) 05:47:09.29ID:Q/3PXPD+
>>781
他のRDBMSは仕様を変えながら進化している。
後方互換性をマイクロソフトがアピールしていることもないし、そもそも後方互換性を気にしないのがSQL Server。

これを批難されているように受け取るんだろうけど、SQL Serverは日本マイクロソフトが作っているんじゃねえんだぞ?
0784NAME IS NULL
垢版 |
2023/06/15(木) 05:57:11.40ID:Q/3PXPD+
SQL ServerはSQL ServerのDBAはなかなかいなくて、マイクロソフトは売りっぱなしの商売下手。

すでに終わったSQL Serverの資格も普及させる気があるとは思えなかった。いまはAzureのおかげでセット販売ができているからいいけど。
0785NAME IS NULL
垢版 |
2023/06/15(木) 20:47:54.90ID:???
だから、どこが崩壊してるんだよ。

結構真面目に聞いてたつもりだったけど、何の根拠を挙げることもできないのね。
ただのアンチさんの戯言だったわけだ。
0786NAME IS NULL
垢版 |
2023/06/17(土) 08:32:00.55ID:5Ljw3AHe
SELECTだけで必要以上にレコードを排他ロックすることがいまだにあり、これによる同時実行性の低下対策として、レコードのコピーを使う仕組みが作られて、それを使わされている。

要するにマイクロソフトが指示した仕様を手抜きで前のバージョンのコピープログラムで再構築してしまったのが不幸の始まり。

マイクロソフトはいまだに「ロックエスカレーションは必ずしも悪いことではない」と説明せざるをえない。
0787NAME IS NULL
垢版 |
2023/06/17(土) 08:40:49.47ID:5Ljw3AHe
>>785
テーブルをSELECTしながら処理するのと、テーブルをSELECTし、同じSELECT結果を登録した一時テーブルや同じデータを持つ列ストアインデックスを参照して処理するのを比べると、後者の方が短時間で終わる。

さらにやばいのがSQL Serverはいまでも単にSELECTしただけで、理由のわからない大幅な性能劣化が起きることがある。

マイクロソフトそのものが諦めているのに、SQL Serverに期待しすぎの人間がこのスレにいるのは、日本マイクロソフトの周知不足なんだろうな。
0788NAME IS NULL
垢版 |
2023/06/17(土) 08:44:00.04ID:5Ljw3AHe
SQL Serverは同じテーブルに複数のセッションから同時にSELECT文を発行すると、極端に遅くなることがある。

さすがにこう説明すれば、作りに問題があることがわかるだろ?
0789NAME IS NULL
垢版 |
2023/06/17(土) 11:04:09.78ID:???
だから、どこが崩壊してるんだよ。
自分の台詞だろ。まずそこを説明しろよ。
0790NAME IS NULL
垢版 |
2023/06/17(土) 11:04:34.79ID:???
あ、失礼。
x 説明
o 証明
0791NAME IS NULL
垢版 |
2023/06/18(日) 23:16:22.92ID:???
何の根拠もなくここまで文句言えるとは
SQL Serverに親でも殺されたのか

>>786
聞いたことないけど、根拠は?
まあ、いまだに自分で明示的にロックかけないとまともに動かないDBを使ってる人は
排他ロックと共有ロックの区別がつかないんだな

>>787
どんな処理をしたらそうなるって?
で、その理由をお前が理解できないから、なぜかそうなるですましてるんだろ

期待してるどうこうではなくて、正しく理解して使いたいだけで
正しいかどうかもよくわからん情報を垂れ流されても困るんだがな
0792NAME IS NULL
垢版 |
2023/06/19(月) 19:27:17.18ID:4/v87WeP
共有ロックの意味が違うぞ
0793NAME IS NULL
垢版 |
2023/06/24(土) 16:50:28.70ID:kF0ecW7R
3行めから6行目までのデータを抽出するときってどうやって書いたらいいですか?
0794NAME IS NULL
垢版 |
2023/06/24(土) 16:53:00.13ID:kF0ecW7R
>>793
SELECT *
FROM テーブル名
LIMIT 4
OFFSET
0795NAME IS NULL
垢版 |
2023/06/24(土) 16:53:55.90ID:kF0ecW7R
>>794
OFFSET 6;
とするとエラーが出ました
0796NAME IS NULL
垢版 |
2023/06/24(土) 19:51:58.99ID:???
この辺りのこと?
ttps://sql-oracle.com/sqlserver/?p=857
0797NAME IS NULL
垢版 |
2023/06/24(土) 22:11:08.28ID:kF0ecW7R
>>796
すいません。
これです
調べきれてなかったです。
ありがとうございます。
0798NAME IS NULL
垢版 |
2023/06/25(日) 09:25:22.34ID:ABQ2v09G
2行目の5列目のみを抽出したいときってどうすればできますか?
SELECT 5列目の列名
FROM テーブル名
まではわかったのですが。。。
0799NAME IS NULL
垢版 |
2023/06/25(日) 11:29:58.29ID:???
796 の応用でできるでしょうに。
0800NAME IS NULL
垢版 |
2023/06/25(日) 11:47:11.55ID:ABQ2v09G
>>799
同じように入力してみます。
すいません。
0801NAME IS NULL
垢版 |
2023/06/27(火) 17:05:56.20ID:???
select s from テーブル名 s where s.email = $1;

この s って何でしょうか?
AS句を省略してる的な感じなのでしょうか?
0802NAME IS NULL
垢版 |
2023/06/27(火) 17:33:51.50ID:???
そうだよ
テーブル名のエイリアス
0803NAME IS NULL
垢版 |
2023/06/27(火) 18:30:54.86ID:???
>>802
合ってたんですね。
ありがとうございます。
ググるにも何て調べたら良いかわからず困っていました。
0804NAME IS NULL
垢版 |
2023/06/27(火) 19:16:12.82ID:XSnmrLrK
同じテーブル同士をjoinする意味ってなに?
0805NAME IS NULL
垢版 |
2023/06/27(火) 19:16:57.47ID:XSnmrLrK
ですか?
同じテーブルを隣同士に繋げても意味ない気がして。。
0806NAME IS NULL
垢版 |
2023/06/27(火) 19:27:51.68ID:???
同じテーブルでも行ごとに中身がちがうんだから
違う行をつなげる意味はあるだろう
0807NAME IS NULL
垢版 |
2023/06/27(火) 19:55:39.96ID:XSnmrLrK
行を消せたりするってこと?
0808NAME IS NULL
垢版 |
2023/06/27(火) 21:58:44.24ID:XSnmrLrK
LEFT OUTERJOINの説明で、結合した時に余計なデータを取ってくるとノイズになるって説明見たんですけど、(ノイズ)ってなんの意味ですか?
NULLばっかりになるってことですか?
0809NAME IS NULL
垢版 |
2023/07/14(金) 20:40:09.51ID:???
>>808
行数もそうだがむしろ
select *fromなんて指示したらどえらい列になるってことでは
0810NAME IS NULL
垢版 |
2023/07/15(土) 12:24:05.87ID:ZDu5V+2v
0811NAME IS NULL
垢版 |
2023/07/15(土) 13:28:07.72ID:???
不要な列のデータ=ノイズって解釈なのだろうとエスパー。
0812NAME IS NULL
垢版 |
2023/07/15(土) 16:37:15.54ID:???
たぶんそういう意味だろうね
(特に右テーブルの)不要な列を取ってくるなってことを言いたかったんだろう
0813NAME IS NULL
垢版 |
2023/07/15(土) 22:00:38.83ID:aJ3C4xJo
>>812
左右が逆
0814NAME IS NULL
垢版 |
2023/07/15(土) 22:04:46.99ID:aJ3C4xJo
>>812
難解な表現だな。
0815NAME IS NULL
垢版 |
2023/07/15(土) 22:05:30.45ID:aJ3C4xJo
>>809
列指定にアスタリスクを使うことはあまりない
0816NAME IS NULL
垢版 |
2023/08/07(月) 00:03:36.76ID:KYaloyhj
Developer Editionのライセンス規約数年前に変わったはずなのに、未だに開発者しか使えないと
大手ベンダですら勘違いしているのはマイクロソフトの宣伝周知足りないよな
こっちは損しないからどうでもいいけど、無駄な金払う顧客が可哀想・・・
0817NAME IS NULL
垢版 |
2023/08/08(火) 01:33:23.95ID:???
昔もいまも開発用途にしか使えないと思うんだが

昔はどうで今はどうなのか詳しく
0818NAME IS NULL
垢版 |
2023/09/19(火) 00:15:00.16ID:???
それってどうしてそうなの?
0819NAME IS NULL
垢版 |
2023/09/19(火) 00:29:15.64ID:???
https://www.microsoft.com/ja-jp/sql-server/sql-server-downloads

SQL Server 2022 Developer は、非運用環境におけるデータベースの開発およびテスト向けの、全機能を備えた無料エディションです。

SQL Server 2022 Express は、デスクトップ、Web、小規模サーバー向けのアプリケーションの開発と運用に最適な、SQL Server の無料エディションです。
0820NAME IS NULL
垢版 |
2023/10/04(水) 00:26:39.56ID:???
クエリストア、めちゃくちゃ便利ですね
Oracleから移ってきたけどsql serverの便利さ
0821NAME IS NULL
垢版 |
2023/10/04(水) 00:28:48.45ID:???
に驚いています。
ssmsやc#との連携のしやすさなどエコシステム全体がユーザーフレンドリーな感じ
逆にOracleが不便なだけなのかもだけど
0822NAME IS NULL
垢版 |
2023/10/08(日) 08:12:40.58ID:1K2SEOD7
公式ドキュメントに問題があるせいで伸びないSQL Server
0823NAME IS NULL
垢版 |
2023/10/18(水) 08:53:43.60ID:???
ねぇ…試してみる?
0824NAME IS NULL
垢版 |
2023/10/19(木) 00:03:00.82ID:???
エラーの有無にかかわらずログテーブルへの出力をしたいんですが、オラクルのような自律型トランザクションってないんですよね…
皆さんどうやってます?
0825NAME IS NULL
垢版 |
2023/10/19(木) 15:21:35.75ID:???
それってメインの処理は成功してログテーブルへの出力が失敗した場合はどう対処してるの?
0826NAME IS NULL
垢版 |
2023/10/19(木) 20:34:46.35ID:???
テキストファイルに吐いといて定期的にログテーブルに乗せるとか
原始的すぎるかな
0827NAME IS NULL
垢版 |
2023/10/19(木) 20:35:14.26ID:???
テキストファイルに吐いといて定期的にログテーブルに乗せるとか
原始的すぎるかな
0828NAME IS NULL
垢版 |
2023/10/19(木) 20:35:48.55ID:???
テキストファイルに吐いといて定期的にログテーブルに乗せるとか
原始的すぎるかな
0830NAME IS NULL
垢版 |
2023/10/20(金) 19:12:09.41ID:???
本当にロールバックさせたいとこだけ子トランザクションにして全体はコミットする
0831NAME IS NULL
垢版 |
2023/10/20(金) 19:12:18.60ID:???
本当にロールバックさせたいとこだけ子トランザクションにして全体はコミットする
0832NAME IS NULL
垢版 |
2023/10/21(土) 09:43:57.33ID:???
トランザクションをハンドリングするレイヤーとログ出力するレイヤーが揃ってないんだろう
テーブル変数やリンクテーブル使った回避策もあるけど揃ってないのがアンチパターンなので設計を見直したほうがいい
0833NAME IS NULL
垢版 |
2023/10/21(土) 13:56:10.51ID:???
設計がおかしいって言っとけばなんかわかってる感が出るから便利よね
どうおかしいかは言ってる本人もわからない
0834NAME IS NULL
垢版 |
2023/11/18(土) 00:15:40.15ID:t4HCeZxT
Accessマスターしたんだが次何やればいい?
0836NAME IS NULL
垢版 |
2023/12/07(木) 00:03:22.93ID:???
ssmsとazure data studioそれぞれで実行計画出したときの不足インデックス提案が微妙に違うことに気づいたけどなんで?
0837NAME IS NULL
垢版 |
2023/12/14(木) 14:28:23.30ID:???
ごめん、ポスグレに移行します
0838NAME IS NULL
垢版 |
2023/12/14(木) 14:37:57.09ID:LkoJvXxu
いいね👍
0839NAME IS NULL
垢版 |
2023/12/14(木) 23:52:39.82ID:???
azureの料金上がるし、azureからawsに乗り換えるってなるとDBもついでにsql serverからauroraに移行、みたいな話は増えそう
0840NAME IS NULL
垢版 |
2023/12/16(土) 23:22:24.72ID:dHU1nQbd
>>839
オラクルクラウドだろ?
0841NAME IS NULL
垢版 |
2023/12/16(土) 23:48:47.64ID:???
オラクルクラウドとか罰ゲーム
VMがタダなのでたまに使うくらい
0842NAME IS NULL
垢版 |
2023/12/17(日) 01:42:37.95ID:rc5EPYnZ
オラクルクラウドはAzureと提携しているんだが?
0843NAME IS NULL
垢版 |
2023/12/17(日) 02:28:25.20ID:???
「提携してるんだが」wwwwww
0844NAME IS NULL
垢版 |
2023/12/17(日) 21:30:43.12ID:rc5EPYnZ
知らねえだけか
Azureの意味も製品の単位だとまちがって思い込んでいるな
0845NAME IS NULL
垢版 |
2023/12/18(月) 08:18:13.62ID:???
awsのマネージドsql serverって実際移行先としてどうなんだろう
0846NAME IS NULL
垢版 |
2023/12/20(水) 15:34:03.74ID:6ZdiLoKb
>>845
クソ高いだけ
0847NAME IS NULL
垢版 |
2024/01/03(水) 17:51:37.12ID:???
クラウドはDBが一番コストかかるので頭が痛い
案件ごとにチューニングしてvCore2つなんとか減らせるかどうか…を突き詰めるのしんどいわ
0848NAME IS NULL
垢版 |
2024/01/04(木) 19:09:30.45ID:9A15oU4c
みんなの後悔するんだよな
0849NAME IS NULL
垢版 |
2024/01/04(木) 21:01:53.61ID:???
インフラメンテコストを丸投げできるなら安い
DBサーバのメンテ不足で痛い目見た経験ある人はこのスレ多いでしょ
0850NAME IS NULL
垢版 |
2024/01/05(金) 22:59:11.61ID:E7vKZkjZ
オラクルクラウドはいいぞ
なんせただでサーバー立てられるからな
ある時よくわからん理由で消されるけどwww
0851NAME IS NULL
垢版 |
2024/01/06(土) 00:13:48.60ID:???
数年前に勝手にインスタンス消されたってツイッターで騒ぎあったね
信用してないからタダでも使わないかなw
0852NAME IS NULL
垢版 |
2024/01/06(土) 22:08:12.83ID:+8fz8nB8
数年前と現在の区別がないのか
0853NAME IS NULL
垢版 |
2024/03/18(月) 00:34:07.58ID:???
サブスクがコスト高でオンプレ回帰の流れ
クラウドの役割なんてバックアップ程度が相応しい
0854NAME IS NULL
垢版 |
2024/03/18(月) 00:50:59.03ID:???
お前の中ではそうなんだろうな
0855NAME IS NULL
垢版 |
2024/03/18(月) 01:01:28.53ID:???
定期的にボラクル君が出現するねw
それも決まってなぜかSQL Serverスレww
0856NAME IS NULL
垢版 |
2024/03/18(月) 04:06:55.63ID:???
従量課金のことをサブスクと呼ぶやつとは希少種だな
0857!
垢版 |
2024/04/29(月) 04:26:52.27ID:???
azureで無料版サーバレスがプレビュー
レスを投稿する


ニューススポーツなんでも実況