私は、夜間に作成されたバックアップからのデータベースの復元を自動化する任務を負っています。バックアップは、Azure Blob ストレージ コンテナーに保存されます。
Blob Storgae から直接復元を実行したいのですが、他の誰かがこれを達成しましたか?
SQL Server がインストールされているサーバーにバックアップ ファイルをダウンロードし、そこでフォームを復元するための powershell スクリプトを作成しようとしましたが、多くの問題が発生しています。
私は、夜間に作成されたバックアップからのデータベースの復元を自動化する任務を負っています。バックアップは、Azure Blob ストレージ コンテナーに保存されます。
Blob Storgae から直接復元を実行したいのですが、他の誰かがこれを達成しましたか?
SQL Server がインストールされているサーバーにバックアップ ファイルをダウンロードし、そこでフォームを復元するための powershell スクリプトを作成しようとしましたが、多くの問題が発生しています。
はい、可能です。これらの手順は、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 のブロックサイズを一致させることが重要です。