2022-01-01から1年間の記事一覧

メモ:全DB、全ユーザーテーブルに対しての雑な sp_spaceused もどき

SQL Server で、クエリ1発だけで全てのデータベースの全てのユーザーテーブル に sp_spaceused の結果が欲しい + 取得日時とかDB名も欲しいなーなんて時のメモ。 雑なので、色々端折ってます。 ちゃんとしたの欲しい人は、クエリ1発諦めてカーソル + 動的SQL…

Microsoft MVP じゃなくなりました

最近何もしてないのでまあそうだろうなぁと。 オンラインはあんまりやる気が出ないので、 オフラインでイベント開催しても良いかなーと思えるようになったら、 SQL World はぼちぼちやりたいなーとは思ってます。

メモ:ある列の値が上限を超えたら新しい行に分割するクエリ

SQL Server でのメモ id qty 1 47 2 14 3 112 を id qty 1 25 1 22 2 14 3 25 3 25 3 25 3 25 3 12 としたい。 サンプルのクエリはテーブル作るのメンドイので、テーブル値コンストラクターで。 テーブル値コンストラクター (Transact-SQL) - SQL Server | M…

SQL Server 実行プランのスキーマを見比べてみる (2017 - 2019)

実行プランのスキーマを見る機会があったので、久々に blog を…。 ここから xsd をダウンロードできます。 Showplan Schema 単純に diff を取ると、2019 では、PDW や Spill、UDF、Page Server 等の情報が詳しく取れるようになってました。 サクッと検証出来…

メモ:DacFx の .NET 6 対応版が出てた

去年は preview じゃないとダメだったけど、 メモ:DacFx を .NET 6 で使用しようとすると、未だ preview 使わないとダメ - お だ のスペース いつのまにか正式版出てた。 www.nuget.org

型を合わせとくとデータが多くなっても安心

この記事は meetup app osaka@6 - connpass の参加記事です。 試した環境:SQL Server 2019 15.0.2080.9 型を合わせてないと、起きる問題の1パターンを紹介します。 今回は、文字列型の char, varchar / nchar, nvarchar 間の話しです。 比較用のテーブルと…

メモ:not in と not exists は等価じゃない

どっかで書いた気もするけど、null が混じったときに結果が違うよと。 select * from (values (1), (2), (3)) as a(id) where a.id not in (select * from (values (null), (2)) as b(id)) 結果無し select * from (values (1), (2), (3)) as a(id) where no…