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

SQLServer2017バックアップ-2

    こんにちは、

    この記事では、SQLServer2017のバックアップの種類について引き続き説明します。

    この投稿の前に最初の記事を読んでください。

    SQLServer2017バックアップ-1

    SQLServerには3種類のデータベースバックアップがあります。これらは次のようなものです。

    • フル
    • 差分
    • トランザクションログ

    では、これらを調べてみましょう。

    ファイルグループまたはファイルのセット、およびそのデータの回復を可能にするのに十分なログ

    完全バックアップ: このタイプのバックアップは、重要なデータベースにとって最も重要です。データベースの完全バックアップを取るということは、ファイルグループやファイルのセットなど、データベースのすべての部分のバックアップと、データベースのリカバリを可能にするトランザクションログのバックアップを意味します。

    フルバックアップが作成された後、復元フェーズでは他に何も必要ありません。フルバックアップは、差分バックアップやトランザクションログバックアップの作成などの操作の基本的な手順でもあります。データベースが破損していて、最新の完全バックアップがある場合は、心配する必要はありません。バックアップからすべてのデータを復元して復元できます。

    トランザクションは実行中にバックアップできます。最後にコミットされたトランザクションは完全バックアップに含まれます。

    差分バックアップ: このタイプのバックアップとは、最後の完全バックアップ後の変更されたブロックのバックアップを指します。最初の増分バックアップ後の2番目の増分バックアップは、前の最初の増分バックアップ後に変更されたブロックのバックアップを取ります。差分バックアップを作成するには、このバックアップに関連付けられた完全バックアップが必要です。

    トランザクションログのバックアップ: トランザクションログのバックアップは、災害が発生した正確な時点までデータベースを回復するために非常に重要です。例:データベースが今日10時にクラッシュした場合、最新の完全バックアップが昨日取得されました。この完全バックアップが最初に復元されます。トランザクションログを使用して10時までデータベースを回復する必要があります。

    最後のトランザクションログのバックアップが1時間前に行われた場合、1時間前までにデータベースを回復できます。私が与えたシナリオから理解されるように、バックアップでデータベースを取得するなど、トランザクションログのバックアップを取得することが重要です。

    データベースが完全または一括ログ復旧モデルを使用している場合 、データの損失を回避するために、トランザクションログのバックアップを頻繁に作成できます。トランザクションログのバックアップは、他のバックアップと比較して非常に小さいです。

    SQL Server Management Studioを使用して、次のようにSQL Serverデータベースを完全にバックアップできます(関連データベースを右クリック->タスク->バックアップ)

    または、次のようにT-SQLコードを使用してSQLServerデータベースを完全にバックアップできます。

    BACKUP DATABASE [TEST] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\TEST.bak' WITH NOFORMAT, NOINIT, NAME = N'TEST-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
    GO

    次の投稿では、SQLServerのバックアップの詳細について引き続き説明します。


    1. MySQLのパフォーマンス:MyISAMとInnoDB

    2. 名前が不明なPostgreSQLドロップ制約

    3. SQLite DROP TABLE

    4. Python FlaskとMySQLを使用してゼロからWebアプリを作成する:パート3