後述のコマンドを実行するため、下記のようにSQLCMDコマンドプロンプトに入ります。 sqlcmd -U sa -P SA-PASSWORD -S localhost\SQLEXPRESS バックアップモデル †単純復旧モデル : ログ領域は自動的に削除される。バックアップは必要無い(リストアに利用できない)。 1> ALTER DATABASE testdb SET RECOVERY SIMPLE 2> GO 完全復旧モデル : ログ領域はバックアップを取るまで削除されない。 1> ALTER DATABASE testdb SET RECOVERY FULL 2> GO バックアップ(フル) †1> BACKUP DATABASE testdb TO DISK = 'D:\backup\testdb_full.bak' WITH INIT 2> GO バックアップ(差分 : 前回フルバックアップ以降の更新分) †1> BACKUP DATABASE testdb TO DISK = 'D:\backup\testdb_diff.bak' WITH INIT,DIFFERENTIAL 2> GO バックアップ(トランザクションログ) †1> BACKUP LOG testdb TO DISK = 'D:\backup\testdb_log.bak' 2> GO バックアップ計画 †
リストア(フル+差分+ログ) †障害が発生した時点で、アクティブなログ(=ログの末端)のバックアップを試みる 1> BACKUP LOG testdb TO DISK = 'D:\backup\testdb_log.bak' WITH NORECOVERY 2> GO 上記ではバックアップできない場合は下記のいずれかの方法でバックアップを試みる 方法一: 1> BACKUP LOG testdb TO DISK = 'D:\backup\testdb_log.bak' WITH CONTINUE_AFTER_ERROR 2> GO 方法二: 1> BACKUP LOG testdb TO DISK = 'D:\backup\testdb_log.bak' WITH NO_TRUNCATE 2> GO その後、リストアを行う 1> RESTORE DATABASE testdb FROM DISK = 'D:\backup\testdb_full.bak' WITH NORECOVERY 2> RESTORE DATABASE testdb FROM DISK = 'D:\backup\testdb_diff.bak' WITH NORECOVERY 3> RESTORE DATABASE testdb FROM DISK = 'D:\backup\testdb_log.bak' WITH RECOVERY 4> GO ★月額105円~/容量最大30GB/機能満載! ロリポップ!レンタルサーバー ★ コメント: |