データ ファイルとログ ファイルは、以前に削除されたファイルからディスク上に残っている既存のデータを上書きするために初期化されます。 データ ファイルとログ ファイルは、まず、次のいずれかの操作を実行するときに、ファイルにゼロを入力して初期化されます。
データベースを作成します。
既存のデータベースにファイル、ログ、またはデータを追加します。
既存のファイルのサイズを大きくする (自動拡張操作を含む)。
データベースまたはファイル グループを復元します。
ファイルの初期化により、これらの操作に時間がかかります。 ただし、データが初めてファイルに書き込まれる場合、オペレーティング システムはファイルにゼロを入力する必要はありません。
ファイルの瞬時初期化
SQL Server では、データ ファイルを瞬時に初期化できます。 これにより、前述のファイル操作を高速に実行できます。 ファイルの瞬時初期化では、その領域にゼロを埋め込まずに、使用済みのディスク領域を再利用します。 代わりに、新しいデータがファイルに書き込まれると、ディスクの内容が上書きされます。 ログ ファイルを瞬時に初期化することはできません。
注
ファイルの瞬時初期化は、MicrosoftWindows XP Professional または Windows Server 2003 以降のバージョンでのみ使用できます。
ファイルの瞬時初期化は、SQL Server (MSSQLSERVER) サービス アカウントにSE_MANAGE_VOLUME_NAMEが付与されている場合にのみ使用できます。 Windows 管理者グループのメンバーは、この権限を持ち、 ボリューム メンテナンス タスクの実行 セキュリティ ポリシーに追加することで他のユーザーに付与できます。 ユーザー権限の割り当ての詳細については、Windows のドキュメントを参照してください。
TDE が有効になっている場合、ファイルの瞬時初期化は使用できません。
アカウントに Perform volume maintenance tasks アクセス許可を付与するには:
バックアップ ファイルが作成されるコンピューターで、
Local Security Policyアプリケーション (secpol.msc) を開きます。左側のウィンドウで、[ ローカル ポリシー] を展開し、[ ユーザー権利の割り当て] をクリックします。
右側のウィンドウで、[ ボリューム メンテナンス タスクの実行] をダブルクリックします。
[ ユーザーまたはグループの追加] をクリックし、バックアップに使用するユーザー アカウントを追加します。
[ 適用] をクリックし、すべての
Local Security Policyダイアログ ボックスを閉じます。
セキュリティに関する考慮事項
削除されたディスクの内容は、新しいデータがファイルに書き込まれるときだけ上書きされるため、削除されたコンテンツに未承認のプリンシパルがアクセスする可能性があります。 データベース ファイルが SQL Server のインスタンスにアタッチされている間、この情報漏えいの脅威は、ファイルの随意アクセス制御リスト (DACL) によって軽減されます。 この DACL では、SQL Server サービス アカウントとローカル管理者にのみファイル アクセスを許可します。 ただし、ファイルがデタッチされると、SE_MANAGE_VOLUME_NAMEを持たないユーザーまたはサービスによってアクセスされる可能性があります。 データベースのバックアップ時に同様の脅威が存在します。 バックアップ ファイルが適切な DACL で保護されていない場合、削除されたコンテンツは承認されていないユーザーまたはサービスが使用できるようになります。
削除されたコンテンツを開示する可能性が懸念される場合は、次のいずれかまたは両方を行う必要があります。
デタッチされたデータ ファイルとバックアップ ファイルには、常に厳格なDACLが設定されていることを確認してください。
SQL Server サービス アカウントからSE_MANAGE_VOLUME_NAMEを取り消して、SQL Server インスタンスのファイルの瞬時初期化を無効にします。
注
ファイルの瞬時初期化を無効にすると、ユーザー権限が取り消された後に作成またはサイズが増えたファイルにのみ影響します。