読み取り専用のファイル グループと圧縮

ファイル グループは読み取り専用に設定できます。プライマリ ファイル グループ以外の既存のファイル グループを、読み取り専用に設定できます。読み取り専用に設定されたファイル グループは変更できません。読み取り専用ファイル グループの圧縮は可能です。

履歴データなど変更してはならないテーブルは、ファイル グループに入れ、そのファイル グループを読み取り専用に設定してください。これにより、誤って更新するのを防ぐことができます。

読み取り専用のユーザー定義のファイル グループと読み取り専用データベースと NTFS 圧縮の併用

SQL Server では、読み取り専用のユーザー定義のファイル グループと読み取り専用データベースの NTFS 圧縮がサポートされています。次の状況では、読み取り専用データの圧縮を検討してください。

  • 大量の静的データや履歴データを制限付きの読み取り専用アクセスで使用可能にする必要がある場合。

  • ディスク領域に制限がある場合。

管理上の考慮事項

  • サポートされるのは Windows NTFS 圧縮だけです。詳細については、Windows のマニュアルで NTFS ファイル システムを参照してください。

  • 読み取り専用のユーザー定義 (.NDF) のファイル グループに格納されたユーザー データでは、データ圧縮がサポートされます。データベース自体が読み取り専用に設定されていない限り、プライマリ ファイル グループとトランザクション ログは圧縮できません。

  • ユーザー定義のファイル グループ ファイルを圧縮するには、データベースがオフラインになっている必要があります。詳細については、「ALTER DATABASE (Transact-SQL)」を参照してください。

  • ファイルを圧縮したり、ファイルの圧縮状態を確認するには、Windows の COMPACT コマンドまたはエクスプローラを使用します。詳細については、Windows のマニュアルを参照してください。

  • mastermodelmsdbresourcetempdb などの SQL Server システム データベースは、圧縮できません。

  • SQL Server のバックアップ操作と復元操作では、圧縮されたファイル グループがサポートされます。バックアップや復元の実装を変更する必要はありません。バックアップ操作や復元操作では、オペレーティング システムによる圧縮を意識する必要はありません。

  • ALL SELECT ステートメントと読み取り専用操作は完全にサポートされます。これらのステートメントの実行時間は、圧縮されていないファイル グループでの同等のステートメントよりも遅くなります。

  • 圧縮されたデータを変更するには、ファイルの圧縮を解除する必要があります。また、読み取りと書き込みの両方を行えるようにファイル グループを設定する必要があります。

  • 読み取り専用データベースでは、プライマリ ファイル グループとユーザー定義のファイル グループの両方を圧縮できます。関連ファイルは、NTFS 圧縮を使用して圧縮する必要があります。

  • データベースのアタッチの操作は、圧縮されたファイル グループでサポートされます。データベースをデタッチする前に、ファイル グループを読み取り専用に設定する必要があります。データベースをアタッチする前に、ファイルを圧縮する必要があります。

セカンダリ ファイル グループの圧縮の例

この例では、実稼働データベースからアーカイブ データベースの SalesArchive に、販売注文トランザクションを移動します。このアーカイブ データベースは、読み取り専用の圧縮されたファイル グループに格納されています。データは売上分析や予測のために断続的に検索されますが、変更されることはありません。

  1. データベース管理者 (DBA) は、実稼働データベースからデータを移動する準備として、SalesArchive に、読み取りと書き込みの両方を行えるファイル グループ Sales01 を作成します。Sales01 は NTFS ディレクトリに配置されます。

  2. DBA は、Sales01 ファイル グループ上に作成されたテーブルをアーカイブするために、実稼働データベースから販売注文トランザクションをコピーします。

  3. DBA は、どのユーザーも SalesArchive データベースを使用していないことを確認したら、データベースを変更し、Sales01 ファイル グループを読み取り専用に設定して、データベースをオフラインにします。

  4. DBA は Windows の COMPACT コマンドを使用して、Sales01.ndf ファイルを圧縮します。詳細については、Windows のマニュアルで NTFS を参照してください。

  5. DBA が SalesArchive データベースをオンラインにします。データが圧縮され、読み取り専用アクセスで使用できるようになります。