0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

How to backup and restore an Azure SQL managed instance by using storage account.

Posted at

1.前提:
.Azure VMが作成済み。さらに中にSSMSがインストール済み。
.AzureにてSQL managed instance 作成済み。
.bakファイル保存のstorage account作成済み。(containerも作成済み)

2.目標
.SQL managed instanceに接続して、databaseのbackupとrestore作業を実施する。

3.作業実施
早速始めましょう。
3.1 MIはAzureVMから接続することです。SQL databaseのようにlocalから接続はできません。
Azure VMに接続することも苦労しました。NetworkingにDenyALLinBoundが設定されているため接続は拒否されました。仕方なく、High priorityでlocalPCのIPを接続できようにinbound ruleを追加しました。
image.png
これでようやくまずVMに接続できました。

3.2VMから接続。ここは安易に行きました。

3.3databaseには暗号化かけているかどうかを確認します。
SELECT
    db.name,
    db.is_encrypted,
    dm.encryption_state,
    dm.percent_complete,
    dm.key_algorithm,
    dm.key_length
FROM
    sys.databases db
    LEFT OUTER JOIN sys.dm_database_encryption_keys dm
        ON db.database_id = dm.database_id;

image.png
encryption_stateは3です、つまり暗号化かけています。

3.4暗号化かけている場合、Backupはできないため、暗号化をOFFする必要があります。
ALTER DATABASE test1 SET ENCRYPTION OFF;
image.png
確認すると、stateは1なりました。

しかしここではまたBackup作業はできません。なぜなら、暗号Keyをも削除する必要があります。
DROP DATABASE ENCRYPTION KEY;

3.5 よし、Backup to storage accountをやってみよう。
BACKUP DATABASE test1 TO URL = N'https://tantestbkstorage.blob.core.windows.net/tanbackup/test11.bak' with copy_only, compression;
Oh errorがでました。
Msg 3201, Level 16, State 1, Line 9
Cannot open backup device 'https://tantestbkstorage.blob.core.windows.net/tanbackup/test11.bak'. Operating system error 50(The request is not supported.).
Msg 3013, Level 16, State 1, Line 9
BACKUP DATABASE is terminating abnormally.
忘れました。ここではまずdatabaseからstorageaccountに接続できる資格情報の登録が必要です。
早速Azure portalのStorage accountに行って、SAStokenを取ります。
image.png
そして、DBに下記のSQLで資格情報を登録します。
CREATE CREDENTIAL [https://tantestbkstorage.blob.core.windows.net/tanbackup]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
, SECRET = 'sv=2019-02-02&ss=bfqt&srt=sco&sp=rwdlacup&se=2020-04-16T02:50:17Z&st=2020-04-16T02:46:17Z&spr=https&sig=sI5pklF%2B07JTzUsXRaQL5FIaTgyxx9LSL8y8MqUcu%2Bc%3D'

BACKUP DATABASE test1 TO URL = N'https://tantestbkstorage.blob.core.windows.net/tanbackup/test11.bak' with copy_only, compression;

image.png
よし、成功しました。

3.6 さっきbackupしたtest11.bakファイルでrestoreをやりました。
RESTORE DATABASE test11 FROM URL = N'https://tantestbkstorage.blob.core.windows.net/tanbackup/test11.bak'

もちろん成功しました。
では暗号化をONに戻しましょう。
ALTER DATABASE test1 SET ENCRYPTION ON;

追加質問:backup作業の場合、暗号化OFFする必要がありますが、restoreする場合、暗号化OFFにする必要もありますか。

回答は不要です。実機で自分でテストしてみましょうね。

ご清聴、どうもありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?