SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Azure Stack TP3 のストレージアカウントと SQL Server の連携を試してみる

leave a comment

Azure Stack ではストレージアカウントも作成できますので、このストレージアカウントと SQL Server の連携機能についても少し試してみました。

Azure Stack のストレージアカウントの作成については、次のような設定となっています。
image

■ストレージの操作


Azure Stack のストレージですが、Storage Explorer で接続することができるようになっているようです。
Connect to an Azure Stack subscription
使っている環境でうまく接続できなかったので、最終的な動作は未確認ですが…。
 

■バックアップ先として Azure Stack のストレージを利用


Windows Server 2016 以降で使用できるようになった「ブロック BLOB」に対してのバックアップについては、Azure Stack のストレージをバックアップ先として使用することができそうです。
チュートリアル: Azure Blob Storage サービスと SQL Server 2016 データベースの使用
ただし、資格情報の作成は master データベースに対して実施するため、SQL Server に対しての管理者アカウントで作業をする必要があり、データベースの利用ユーザーでは作業はできないかと。
ページ BLOB のバックアップについては、ストレージアカウントしか設定することができないのですが、ブロック BLOB へのバックアップについては、ストレージアカウントの FQDN を資格情報として登録することができるため、Azure Stack を保存先として使用できるようです。
今回は「sqlserverstorage」というストレージアカウントと、そのアカウント内に「backup」というコンテナーを作っているのですが、その場合は、以下のようなクエリで資格情報を作成します。

USE master
GO
CREATE CREDENTIAL [https://sqlserverstorage.blob.local.azurestack.external/backup]
WITH IDENTITY='SHARED ACCESS SIGNATURE'
, SECRET = 'sv=~ の SAS トークン'
GO

 
これで、ストレージに対してバックアップを取得することができます。

リストアについても実施できたので、バックアップの保存先として利用することはできそうですね。

BACKUP DATABASE [DB001]
TO URL = 'https://sqlserverstorage.blob.local.azurestack.external/backup/DB001.bak'
WITH COMPRESSION, STATS = 5
USE [master]
ALTER DATABASE [DB001] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
BACKUP LOG [DB001] TO  URL = N'https://sqlserverstorage.blob.local.azurestack.external/backup/DB001_LogBackup_2017-07-08_10-22-12.bak' WITH NOFORMAT, NOINIT,  NAME = N'DB001_LogBackup_2017-07-08_10-22-12', NOSKIP, NOREWIND, NOUNLOAD,  NORECOVERY ,  STATS = 5
RESTORE DATABASE [DB001] FROM  URL = N'https://sqlserverstorage.blob.local.azurestack.external/backup/DB001.bak' WITH  FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 5
ALTER DATABASE [DB001] SET MULTI_USER
GO

 
image
 

■データベースの作成先として Azure Stack のストレージを使用


Azure ストレージについてはデータベースの作成先としても使用することが可能です。
チュートリアル: Windows Azure ストレージ サービス内の SQL Server データ ファイル
バックアップで使用した資格情報の作成と同じ形式で、データベースの作成先としての Azure ストレージの資格情報を作成することができます。
データベースの作成先として使用したコンテナーに対しての資格情報が作成されていれば、データベースの作成先として Azure Stack の領域を使用することが可能なようです。

CREATE DATABASE TestDB1
ON
(NAME = TestDB1_data,
   FILENAME = 'https://sqlserverstorage.blob.local.azurestack.external/database/TestDB1Data.mdf')
 LOG ON
(NAME = TestDB1_log,
    FILENAME = 'https://sqlserverstorage.blob.local.azurestack.external/database/TestDB1Log.ldf')
GO

 
image
 
Azure ストレージと同じような感じで SQL Server の連携はできそうですね。

Share

Written by Masayuki.Ozawa

7月 8th, 2017 at 7:32 pm

Posted in Azure Stack

Tagged with

Leave a Reply