msdb データベース
適用対象: SQL Server Azure SQL Managed Instance
msdb データベースは、警告やジョブのスケジュール設定のために SQL Server エージェントが使用します。他にも SQL Server Management Studio、Service Broker、データベース メールなどの機能でも使用されます。
たとえば、SQL Server では、すべてのオンラインのバックアップおよび復元の履歴を msdb データベース内のテーブルで自動的に管理します。 この情報には、バックアップの実行者名、バックアップ日時、バックアップが格納されているデバイスやファイルなどが含まれます。 SQL Server Management Studio では、この情報を使用して、データベースを復元してトランザクション ログ バックアップを適用するプランを立てます。 すべてのデータベースに対するバックアップ イベントは、独自のアプリケーションやサード パーティのツールで発生した場合にも記録されます。 たとえば、SMO (SQL Server 管理オブジェクト) オブジェクトを呼び出してバックアップ操作を行う Microsoft Visual Basic アプリケーションを使用する場合、イベントは msdb システム テーブル、Windows アプリケーション ログ、SQL Server エラー ログに記録されます。 msdbに格納される情報を保護するために、 msdb トランザクション ログをフォールト トレラント ストレージに置くことを検討するようにお勧めします。
既定では、 msdb は単純復旧モデルを使用します。 バックアップおよび復元の履歴 テーブルを使用する場合は、 msdbの完全復旧モデルを使用することをお勧めします。 詳細については、「復旧モデル (SQL Server)」を参照してください。 SQL Server をインストールまたはアップグレードするとき、Setup.exe を使用してシステム データベースを再構築すると、msdb の復旧モデルは常に自動的に simple に設定されることに注意してください。
重要
- データベースのバックアップや復元など、 msdbを更新する操作の後は、 msdbをバックアップすることをお勧めします。 詳細については、「システム データベースのバックアップと復元 (SQL Server)」を参照してください。
- Azure SQL Managed Instance の msdb データベースで使用できる内容には違いがあります。 詳細については、バックアップの透過性を参照してください。
msdb データベースの物理プロパティ
msdb データベースのデータとログ ファイルの初期構成値を次の表に示します。 これらのファイルのサイズは、SQL Server データベース エンジンのエディションによって多少異なる場合があります。
ファイル | 論理名 | 現物名 | ファイル拡張 |
---|---|---|---|
プライマリ データ | MSDBData | MSDBData.mdf | ディスクがいっぱいになるまで 10% ずつ自動拡張 |
ログ | MSDBLog | MSDBLog.ldf | 最大 2 TB まで 10% ずつ自動拡張 |
msdb データベースまたはログ ファイルを移動するには、「 システム データベースの移動」を参照してください。
データベース オプション
msdb データベースの各データベース オプションの既定値とそのオプションを変更できるかどうかを次の表に示します。 これらのオプションの現在の設定を表示するには、 sys.databases カタログ ビューを使用します。
データベース オプション | 規定値 | 変更可否 |
---|---|---|
ALLOW_SNAPSHOT_ISOLATION | ON | いいえ |
ANSI_NULL_DEFAULT | OFF | はい |
ANSI_NULLS | OFF | はい |
ANSI_PADDING | OFF | はい |
ANSI_WARNINGS | OFF | はい |
ARITHABORT | OFF | はい |
AUTO_CLOSE | OFF | はい |
AUTO_CREATE_STATISTICS | ON | はい |
AUTO_SHRINK | OFF | はい |
AUTO_UPDATE_STATISTICS | ON | はい |
AUTO_UPDATE_STATISTICS_ASYNC | OFF | はい |
CHANGE_TRACKING | OFF | いいえ |
CONCAT_NULL_YIELDS_NULL | OFF | はい |
CURSOR_CLOSE_ON_COMMIT | OFF | はい |
CURSOR_DEFAULT | GLOBAL | はい |
データベース可用性オプション | ONLINE MULTI_USER READ_WRITE |
いいえ イエス はい |
DATE_CORRELATION_OPTIMIZATION | OFF | はい |
DB_CHAINING | ON | はい |
暗号化 | OFF | いいえ |
MIXED_PAGE_ALLOCATION | ON | いいえ |
NUMERIC_ROUNDABORT | OFF | はい |
PAGE_VERIFY | CHECKSUM | はい |
PARAMETERIZATION | SIMPLE | はい |
QUOTED_IDENTIFIER | OFF | はい |
READ_COMMITTED_SNAPSHOT | OFF | いいえ |
RECOVERY | SIMPLE | はい |
RECURSIVE_TRIGGERS | OFF | はい |
Service Broker のオプション | ENABLE_BROKER | はい |
TRUSTWORTHY | ON | はい |
これらのデータベース オプションの説明は、「ALTER DATABASE (Transact-SQL)」を参照してください。
制限
msdb データベースでは、次の操作を実行できません。
- 照合順序の変更。 既定の照合順序はサーバーの照合順序です。
- データベースの削除。
- データベースからの guest ユーザーの削除。
- 変更データ キャプチャの有効化。
- データベース ミラーリングへの参加。
- プライマリ ファイル グループ、プライマリ データ ファイル、またはログ ファイルの削除。
- データベース名またはプライマリ ファイル グループ名の変更。
- データベースの OFFLINE への設定。
- プライマリ ファイル グループの READ_ONLY への設定。
推奨事項
msdb データベースで作業を行う際は、次の推奨設定を考慮してください。
msdb データベースの現在のバックアップを、常に使用可能にします。
次の操作後には、できるだけ早く msdb データベースのバックアップを作成します。
- ジョブ、アラート、プロキシ、またはメンテナンス計画の作成、変更、削除
- データベース メール プロファイルの追加、変更、削除
- ポリシー ベースの管理ポリシーの追加、変更、削除
msdb にはユーザー オブジェクトを作成しないこと。 作成すると、msdb をより頻繁にバックアップする必要が生じます。
msdb データベースを機密性の高いデータベースとして扱い、妥当な必要性なしに誰にもアクセス権を付与しないでください。 特に、SQL Server エージェント ジョブは sysadmin ロールのメンバーによって所有されることが多いため、実行されるコードを改ざんされないよう注意が必要です。
msdb 内のオブジェクトに対する変更を 監査する