1

私は、夜間に作成されたバックアップからのデータベースの復元を自動化する任務を負っています。バックアップは、Azure Blob ストレージ コンテナーに保存されます。

Blob Storgae から直接復元を実行したいのですが、他の誰かがこれを達成しましたか?

SQL Server がインストールされているサーバーにバックアップ ファイルをダウンロードし、そこでフォームを復元するための powershell スクリプトを作成しようとしましたが、多くの問題が発生しています。

4

1 に答える 1

0

はい、可能です。これらの手順は、SQL Server 2012 で機能します。

AZCopy コマンドで /BlobType:page スイッチを使用して、バックアップをアップロードできました。

その後、データベースに保存した資格情報を使用して、その場所から直接復元できました。

サンプルコードは次のとおりです。

ファイルをコピーします -

Azcopy /Source:<locationOfYourBackup> /Dest:https://<yourContainerName>.blob.core.windows.net/sqlbackup/<yourBackupFile> /DestKey:<YourContainerKey> /BlobType:page

データベースサーバー上 -

Create credential 'sqlbackup'
With identity ='<yourContainerName>', secret = '<YourContainerKey>'

RESTORE DATABASE [nameOfYourDatabase] FROM  URL = https://<yourContainerName>.blob.core.windows.net/sqlbackup/<yourBackupFile>  
WITH credential = 'sqlbackup' , FILE = 1, NOUNLOAD,  REPLACE,  BLOCKSIZE=4096

復元が正常に完了するように、現在の DB のブロックサイズを一致させることが重要です。

于 2018-04-10T20:31:18.647 に答える