4

SQLServer2008を使用しています。データベースのサイズはほぼ2GBです。その90%は(sp_spaceusedによる)1つのテーブルであり、ほとんどの作業で必要ありません。

このテーブルを別のファイルにバックアップして、重要なデータをこれよりも頻繁に転送できるようにすることは可能かどうか疑問に思いました。

私の推測では、これを行う最も簡単な方法は、新しいデータベースを作成し、そこにテーブルを作成し、テーブルの内容を新しいデータベースにコピーし、テーブルの関係を削除し、テーブルを削除し、他のデータベースを指すビューを作成して、そのビューを使用することです。私のアプリケーションでは。

ただし、現時点では気付いていない可能性のあるさまざまな戦略へのポインタがあるかどうか疑問に思いました。

4

2 に答える 2

12

別のFileGroupにテーブルを作成します。

ここにいくつかの良い例へのリンクがあります。

これにより、そのテーブル専用の2番目の物理ファイルが作成されます。パフォーマンスのために、別の物理ドライブに配置できます。特定のファイルグループのみのバックアップまたは復元を実行できます。これは、必要に応じて聞こえます。

これは、「データパーティショニング」のより大きなトピックの一例であり、大きなテーブルを複数のファイルに分割するさまざまな方法が含まれます。

于 2009-01-07T22:39:08.357 に答える
1

ファイルグループソリューションをお勧めします。ただし、データベースから別のデータベースにテーブルをコピーするには、次のトリックを実行できます。

SELECT * INTO MyNewDatabase..MyTable FROM MyOldDatabase..MyTable
于 2009-01-07T22:39:09.557 に答える