#author("2019-10-03T09:30:29+00:00","default:admin","admin") -[[Sql Server Backup Academy:https://sqlbak.com/academy/]] -[[Backup Overview (SQL Server):https://docs.microsoft.com/ja-jp/sql/relational-databases/backup-restore/backup-overview-sql-server?view=sql-server-2017]] --[[データベースの完全バックアップ (SQL Server):https://docs.microsoft.com/ja-jp/sql/relational-databases/backup-restore/full-database-backups-sql-server?view=sql-server-2017]] --[[差分バックアップ (SQL Server):https://docs.microsoft.com/ja-jp/sql/relational-databases/backup-restore/differential-backups-sql-server?view=sql-server-2017]] --[[部分バックアップ (SQL Server):https://docs.microsoft.com/ja-jp/sql/relational-databases/backup-restore/partial-backups-sql-server?view=sql-server-2017]] -[[SQL Server のバックアップの種類:https://sql55.com/column/sql-server-backup-types.php]] -[[SQL Serverをバックアップする(障害直前まで復旧):https://sql-oracle.com/sqlserver/?p=1405]] -[[SQL Server: フル(完全)バックアップをとる方法:https://sql55.com/column/create-full-database-backup.php]] -[[ログバックアップと差分バックアップ:http://mtgsqlserver.blogspot.com/2013/02/blog-post_21.html]] -[[SQLServer2008 バックアップ/復元の方法:https://www.softel.co.jp/blogs/tech/archives/4159]] *操作 [#c11a14a5] -[[データベースのバックアップファイルを同じサーバーに別のデータベース名でリストアする (SQL Server Tips):https://www.ipentec.com/document/sql-server-restore-database-in-different-name-in-same-database-server]] -[[[SQL Server] データベースの論理名・論理ファイル名を変更 / Change Logical File Name:http://jp.innoya.com/Board/ViewTip.aspx?MenuID=4&Idx=299]] *復旧モデル [#l68b762e] -ログファイルをバックアップに活かす方式が、完全復旧モデルと一括ログ復旧モデル **完全復旧モデル [#qfd2af74] **一括ログ復旧モデル [#cb76e096] **単純復旧モデル [#h9fa7cbf] *コマンドによるバックアップ [#i308f401] -[[BACKUP (Transact-SQL):https://docs.microsoft.com/ja-jp/sql/t-sql/statements/backup-transact-sql?view=sql-server-2017]] -[[バックアップコマンド実行時に任意のファイル名で保存する - 日付を指定してバックアップ:https://www.projectgroup.info/tips/SQLServer/MSSQL_00000011.html]] -[[バックアップコマンド実行時に任意のファイル名で保存する - 曜日名を指定してバックアップ:https://www.projectgroup.info/tips/SQLServer/MSSQL_00000010.html]] **完全バックアップ(BACKUP DATABASE) [#w9bde240] -コマンドは「BACKUP DATABASE [DB名] TO DISK = N'[バックアップファイルのPATH]'」 -SQL Server のバックアップは、1つのバックアップファイルに複数のバックアップを入れることができる -オプション(WITH optionA, optionB, ...) --INIT ... 1つのバックアップファイルに、1つのバックアップのみを作成 --COMPRESSION ... 圧縮 BACKUP DATABASE Test TO DISK = N'C:\temp\TestDB.bak' WITH INIT, COMPRESSION; **ログバックアップ(BACKUP LOG) [#g59d9973] -コマンドは「BACKUP LOG [DB名] TO DISK = N'[バックアップファイルのPATH]'」 -トランザクションログのみをバックアップ BACKUP LOG Test TO DISK = N'C:\temp\TestDB_log.bak' WITH INIT, COMPRESSION; -オプション(WITH optionA, optionB, ...) --INIT ... 1つのバックアップファイルに、1つのバックアップのみを作成 --COMPRESSION ... 圧縮 --NO_TRUNCATE ... ログ末尾をバックアップするとともに、ログを切り捨てない *コマンドによる復元 [#hc904fa2] -[[RESTORE ステートメント (Transact-SQL):https://docs.microsoft.com/ja-jp/sql/t-sql/statements/restore-statements-transact-sql?view=sql-server-2017]] -[[バックアップからのリストアによるリカバリ手順:https://blogs.msdn.microsoft.com/jpsql/2013/10/04/1959/]] -[[SQL Server 「データベースは使用中なので、排他アクセスを獲得できませんでした」 で復元の失敗時の対処方法:https://sql55.com/column/sql-server-restore-failed-database-in-use.php]] -[[SQL Server バックアップ コマンド (差分バックアップ):https://www.keicode.com/db/mssql02-differential-backup.php]] -RESTORE LOG ステートメントで WITH STOPAT、STOPATMARK、または STOPBEFOREMARK を指定して、バックアップ内の特定の時間またはトランザクションにログバックアップを復元できる -次の復元シナリオが実行可能 --完全データベース バックアップからデータベース全体を復元する (完全復元) --データベースの一部を復元する (部分復元) --特定のファイルまたはファイル グループをデータベースに復元する (ファイル復元) --特定のページをデータベースに復元する (ページ復元) --トランザクション ログをデータベースに復元する (トランザクション ログ復元) --データベース スナップショットでキャプチャされた時点にデータベースを戻す -オプション(WITH optionA, optionB, ...) --NORECOVERY ---まだリストアすべきバックアップがある場合に使用するオプション ---NORECOVERY を指定してリストアを行った場合は、データベースが「復旧中」(リストア中)となり、ユーザーからの接続を一切できないようにブロックする --RECOVERY ---リストア後にデータベースを完全復旧した状態にする ---リストアが完了したことの合図になり、残りのバックアップをリストアすることはできない -REPLACE ... 指定したデータベースと同じ名前のデータベースが既に存在している場合でも、データベースとその関連ファイルが作成される。その場合、既存のデータベースは削除される。 *バックアップセット [#b43b9a7a] -[[SQL SERVER2016 バックアップと復元でエラー(メディアファミリ、メディアセットの概念):http://mio-web.net/pcsupport/archives/399/]] *バックアップファイル [#d6429c9e] **ヘッダ情報 [#ccf6b4d8] -[[バックアップ テープまたはバックアップ ファイルの内容の表示 (SQL Server):https://docs.microsoft.com/ja-jp/sql/relational-databases/backup-restore/view-the-contents-of-a-backup-tape-or-file-sql-server?view=sql-server-2017]] -[[Understanding SQL Server Log Sequence Numbers for Backups:https://www.mssqltips.com/sqlservertip/3209/understanding-sql-server-log-sequence-numbers-for-backups/]] **LSN : Log Sequence Number [#oe3e902d] -[[Log Sequence Number:https://sqlbak.com/academy/log-sequence-number/]] -FirstLSN – Log sequence number of the first transaction in the backup set -LastLSN – Log sequence number of the next log record after the backup set -CheckpointLSN – Log sequence number of the last checkpoint -DatabaseBackupLSN – Log sequence number of the last full database backup