SQLServerデータベースのバックアップにコマンドラインを使用し、別の新しいデータベースに復元する方法

SQLServerデータベースのバックアップにコマンドラインを使用し、別の新しいデータベースに復元する方法

まず、我々は定期的なバックアップ計画を持っている必要があり、データベース・エージェントでバックアップタスクを追加することができ、次のように、お勧めです。

週に一度実行します。フルバックアップを

一日一回実行:差分バックアップ

毎時間:トランザクションログのバックアップ(トランザクションログは、指定されたセカンドレベルにデータベースを復元するために達成することができます)

ここでは、データベースをバックアップするためのコマンド、これらのコマンドは、外出先へのバックアップジョブにも適用することができます

DECLARE @FULLPATH NVARCHAR(100)
declare @DIFFPATH nvarchar(100)
declare @LOGPATH nvarchar(100)
SET @FULLPATH='数据库全备份路径.bak'
SET @DIFFPATH='数据库差异备份路径.bak'
SET @LOGPATH='数据库日志备份路径.bak'
BACKUP DATABASE 数据库名称 TO DISK = @DIFFPATH with DIFFERENTIAL #差异备份,仅备份数据
BACKUP DATABASE 数据库名称 TO DISK = @FULLPATH #完全备份,仅备份数据
BACKUP LOG 数据库名称 TO DISK=@LOGPATH #事务日志备份

今、私たちは他のコンピュータにコピーしてログインする必要があります、私たちは、新しいデータベースにデータベースを復元するために開始します

まず、データベースの論理ファイル名は、必要があなたのログファイルを確認することを知っていないかもしれません

#首先我们可能并不知道数据库的逻辑文件名是什么,需要查询一下日志文件
DECLARE @PATH NVARCHAR(100)
SET @PATH='数据库全备份路径.bak'
RESORE FILELISTONLY FROM DISK=@PATH

第二に、論理ファイル名へのお問い合わせは、以下の回復のために使用することができた後、

#使用以上查询的逻辑文件名
RESTORE DATABASE 新数据库名称 FROM DISK = @PATH with RECOVERY,REPLACE,
      MOVE 'DATA' TO 'C:\BAK\DATA\DATA.mdf',
      MOVE 'DATA_LOG' TO 'C:\BAK\DATA\DATA.ldf'

我々はデータを回復するために、トランザクションログを引き続き使用する必要がある場合は最後に、その後、上記のコマンドを復元し、

WITH后面需要变成NORECOVERY
RESTORE DATABASE 新数据库名称 FROM DISK = @PATH with NORECOVERY

あなたは右の新しいデータベースに、トランザクションログを選択し、復元を選択私たちのログファイルを選択することができ、あなたが回復するために必要な目標時間を選択することができます。

公開された48元の記事 ウォンの賞賛3 ビュー20000 +

おすすめ

転載: blog.csdn.net/chscomfaner/article/details/103729467