1

先日、クライアントのVPNを介して古いプロジェクトに取り組んでいたところ、間違ったPKからデータを削除しているという問題が見つかりました。その結果、データベースが巨大になり、情報の返送が遅くなり、ソフトウェアが異常になりました。アウト。

最大サイズに近づいたら知りたいと思いました。電子メール通知用にSQLサーバーを設定する方法を知っていますが、テストメッセージのみを送信しました。電子メールに関連するいくつかのオプションが表示されることを期待してデータベースのプロパティを確認しましたが、何も表示されませんでした。

仕事が終わったらどこにメールを送れるか見てきたので、これもできるといいなと思います。誰かが私がこれを達成する方法を知っていますか?

4

1 に答える 1

0

sys.database_filessizeページ数を格納する列があります。ページは8kbなので、これに8 * 1.024、つまり8.192を掛ける必要があります。これにより、ディスク上のファイルのサイズが表示されます。データベースの実際の名前に置き換え[database name]て、警告しきい値として2 GB以外のものが必要な場合は、サイズチェックを調整してください。

DECLARE @size DECIMAL(20,2);
SELECT @size = SUM(size * 8.192)/1000 FROM [database name].sys.database_files;
IF @size >= 2000 -- this is in MB
BEGIN
    -- send e-mail
END

すべてのデータベースに対してこれを実行する場合は、個々のデータベースのsys.database_filesビューに移動せずに、次を使用してこれを実行できます。master.sys.sysaltfilesここのサイズ列は、のサイズ列と常に同期しているとは限りませんsys.database_files。後者を最初に信頼します。 。

于 2011-08-25T12:46:09.350 に答える