Netwrix Auditor for SQL Server
- Netwrix Auditor を開き、Reports -> Predefined -> SQL Server — State-in-Time -> SQL Server Databases に移動します。
- 表示 をクリックしてレポートを表示します:
ネイティブ監査
- 起動 Microsoft SQL Server Management Studio (MSSMS)。
- ファイル メニューで、 オブジェクト エクスプローラーに接続 をクリックします。サーバーへの接続 ダイアログ ボックスに入力してください:
- 「Server type」リスト ボックスで Database Engine を選択します。
- 「Server name」テキスト ボックスに、SQL クラスター サーバー名を入力します。
- 「Authentication」リスト ボックスで SQL Server Authentication メソッド を選択し、資格情報を指定します。サーバーに接続するたびにパスワードを再入力したくない場合は、Remember password をオンにします。
- 「Connect」をクリックします。
- 接続したら New Query をクリックし、次のスクリプトをクエリ フィールドに貼り付けます。
SELECT
sys.databases.name as 'Database Name',
sys.databases.user_access_desc as "Restrict Access",
sys.databases.state_desc as 'State',
sys.databases.is_read_only as 'Read Only',
sys.databases.is_auto_shrink_on 'Auto Shrink Enabled',
sys.databases.is_encrypted as 'Encrypted',
bckup.last_backup as 'Last Database Backup',
files.data_file as 'Database File Path',
files.log_file as 'Log File Path',
files.db_size as 'Database Size MB',
files.log_size as 'Log File Size MB',
sys.databases.database_id as 'Database ID'
FROM sys.databases
LEFT JOIN (
SELECT msdb.dbo.backupset.database_name, MAX(msdb.dbo.backupset.backup_finish_date) AS last_backup
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE msdb..backupset.type = 'D'
GROUP BY msdb.dbo.backupset.database_name
) bckup on bckup.database_name = sys.databases.name
LEFT JOIN (
SELECT
mdf.database_id,
mdf.name,
mdf.physical_name as data_file,
ldf.physical_name as log_file,
db_size = CAST((mdf.size * 8.0)/1024 AS DECIMAL(8,2)),
log_size = CAST((ldf.size * 8.0 / 1024) AS DECIMAL(8,2))
FROM (SELECT * FROM sys.master_files WHERE type_desc = 'ROWS' ) mdf
JOIN (SELECT * FROM sys.master_files WHERE type_desc = 'LOG' ) ldf
ON mdf.database_id = ldf.database_id
) files
ON files.database_id = sys.databases.database_id
ORDER BY 'Database Name'
- クリック Execute(または F5 キーを押します)。
- クエリ結果の中にあるデータベースの一覧とそのプロパティを確認してください:
ワンクリックで SQL Server のデータベース プロパティを表示できます。
データベースのプロパティ(データベース オプションとも呼ばれます)を収集することは、定常的なデータベース管理タスクです。データベースが既定のベースライン設定に沿った状態を保つために重要であるだけでなく、パフォーマンスと可用性を確保するために重要な状態(バイタル)を監視するうえでも欠かせません。
SQL Server Management Studio を使うと、グラフィカル インターフェイスまたはご自身のクエリによって、SQL Server データベースのプロパティに関する情報を取得できます。とはいえ、どのオプションを選んでも、プロセスが常におそらく望んでいるほどユーザーフレンドリーとは限りません。たとえば GUI ツールを使う場合、必要な情報だけを簡単に取得できず、1 度に 1 つのデータベースしか表示できません。sp_helpdb のような Transact-SQL コマンドでは、SQL データベースのすべてのパラメーターが個別に一覧表示されるのではなく、互いに関連付けられています。システム テーブルを問い合わせる際は、目的の結果を得るために複数のテーブルを結合する必要があることが多く、その後(異なるデータ型を目的の形式に変換するなど)結果を変換して理解する必要があります。さらに、sys.databases をクエリすることで、回復モデル、自動クローズ、自動シュリンク、互換性レベル、照合順序名、スナップショット隔離など、さまざまなデータベース オプションを取得できますが、データベースが OFFLINE 状態で権限が限定されている場合は、データが一切表示されません。ユーザーには、少なくとも ALTER ANY DATABASE のサーバーレベル権限、または master データベースでの CREATE DATABASE 権限が必要です。
SQL Server には、1 つまたはすべてのデータベースに対して特定の情報を返す組み込みの DATABASEPROPERTYEX 関数がありますが、データベース ファイルの物理サイズを取得するには、各データベースを個別にクエリする必要があります。つまり、ネイティブ ツールを使って SQL Server のデータベース プロパティの設定を理解することは、かなり時間がかかり、相当な専門知識を要する場合があります。
Netwrix Auditor for SQL Server を使えば、データベース オプションをワンクリックでわかりやすく要約して確認できます。さらに、レポートを購読して、選択したスケジュールに従って自動的に受信箱へ配信してもらうことも可能です。設定変更に対するアラートも簡単に構成できるため、ダウンタイムや業務に影響し得るその他の問題を防ぐためにアクションが必要になったとき、すぐに把握できます。
共有する