過去5年間で15GBを超えるSQLServerデータベースがあります。今私の問題は、ディスク容量と毎日のバックアップの実行にかかる時間です。私が知りたいのは、データを失うことなく古いレコードをアーカイブし、データベースのサイズを減らすにはどうすればよいですか?
前もって感謝します。
過去5年間で15GBを超えるSQLServerデータベースがあります。今私の問題は、ディスク容量と毎日のバックアップの実行にかかる時間です。私が知りたいのは、データを失うことなく古いレコードをアーカイブし、データベースのサイズを減らすにはどうすればよいですか?
前もって感謝します。
15GBはそれほど大きくはなく、特別なことをしなくてもすばやくバックアップできるはずです。ディスク容量は他のほとんどの技術リソース(特に開発者やDBAの時間)よりもはるかに安いため、アーカイブソリューションを設計する価値があるかどうかを尋ねる必要がありますか、それとも単にディスクを追加購入するだけですか。
もっと根本的に、とにかく「アーカイブ」はあなたにとって何を意味しますか?データを別の場所に移動した場合でも、データはスペースを占有するため、そのスペースを購入して維持する必要があります。テープやDVDに入れて忘れても大丈夫ですか、それとも時々聞かれますか?もしそうなら、ユーザーがそれを要求したとき、どのくらいの頻度でどのくらいの遅延が許容されますか?従う必要のある法規制はありますか?データは引き続きアプリケーションに表示されますが、別のディスクに保存する必要がありますか?もしそうなら、データを分割することは意味がありますか?
私は同様の問題、つまりメインデータベースに「ライブ」データを、2番目のデータベースに「終了」データを保持する方法を検討しています。
現在の独自のソリューションは、ライブデータベースからアーカイブデータベースにデータをシリアル化/逆シリアル化するカスタムアプリケーションであり、新しいデータと古いデータにアクセスするための2つの接続文字列を提供します。
組み込みソリューションの調査では、水平分割が考えられました。
http://msdn.microsoft.com/en-gb/library/ms178148%28v=sql.105%29.aspx
これは、データの表示をユーザーに制限するものではありませんが、日付ごとに物理ディスク間でデータを分割することはできます。