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 の連携はできそうですね。

Written by masayuki.ozawa

7月 8th, 2017 at 7:32 pm

Posted in Azure Stack

Tagged with

Leave a Reply

*