特定のサーバー上にあるデータベースのすべての名前を持つテーブルがあります。私は、DBSizeMB列を関連するDBサイズで更新できるようにしたい。SELECT変数を使用したUPDATE - TSQL
これまでのところ、私のコードは次のとおりです。
DECLARE @DatabaseName VARCHAR(100)
UPDATE master.dbo.mytableName
SET DBsizeMB = (SELECT total_size_mb = CAST(SUM(size) * 8./1024 AS DECIMAL(8,2))
FROM master.sys.master_files)
WHERE DBSizeMB = NULL
AND DatabaseName = @DatabaseName
今SELECT合計サイズの一部は、データベースサイズのすべてを合計しています。
個々のデータベースを更新するにはどうすればよいですか?
カスタムデータを 'master'に保存することはお勧めしません。 –
あなたのコードは、まったく同じようには動作しません。 sys.master_filesは、すべてのデータベースのすべてのファイルです。そして、間違いなくマスターに独自のテーブルを作成しないでください。これは非常に悪い考えです。 –
これは開発サーバー上にあり、シニアDBAのシステムdbに格納されることが承認されました – AznDevil92