sql >> データベース >  >> RDS >> Sqlserver

SQL Server での大量の古いデータのアーカイブ

    アーカイブと言うとき、これは「後で使用するためにデータを保持する必要がある」ことを意味します。

    とりわけ、データをすぐに利用できる状態にしておくと、テープ バックアップに頼っているとデータを失う危険性があります。また、将来復元するためのディスク容量が必要です。

    もちろん、これらは克服できない問題ではありませんが、重要でない限り、別の方法で証明されるまでデータをオンラインに保ちます。私の経験によると、人々は予想もしないときにアーカイブ データを欲しがります...

    1 つのオプション (質問は SQL Server 2008 とタグ付けされています) は データの圧縮 .たとえば、オンラインのアーカイブ テーブルを圧縮できます。

    アーカイブ テーブルを作成します。

    SELECT * INTO ANewArchiveTable
    FROM CurrentTable
    WHERE SomeDateColumn <= DATEADD(year, -2, GETDATE())
      

    または、パーティショニング を使用します 同じことを達成する

    データがオンラインの場合、「現在の」テーブルをさらに削減し、たとえば 3 か月よりも古いデータを圧縮されたアーカイブ テーブル/パーティションにも含めることができます




    1. SQL Server トリガーのヘルプ - 同じテーブルの更新

    2. MySQLによると:ドキュメント#1045-ユーザー'root' @'localhost'のアクセスが拒否されました(パスワードを使用:NO)

    3. Spring DataのJPAリポジトリを使用したFindByUUID()

    4. MySQL:GROUP_CONCATの結果の条件?