レッスン 4:Azure Storage にデータベースを作成する
このレッスンでは、Azure のデータ ファイルのSQL Server機能を使用してデータベースを作成する方法について説明します。 このレッスンの前に、レッスン 1、2、および 3 を完了する必要があることに注意してください。 レッスン 3 は、レッスン 4 の前に、Azure ストレージ コンテナーに関する情報とそれに関連付けられているポリシー名と SAS キーをSQL Server資格情報ストアに格納する必要があるため、非常に重要な手順です。
データ ファイルまたはログ ファイルによって使用されるストレージ コンテナーごとに、名前がコンテナーのパスに一致する SQL Server 資格情報を作成する必要があります。 その後、Azure Storage で新しいデータベースを作成できます
このレッスンでは、次の手順を既に完了していることを前提としています。
Azure Storage アカウントを持っている。
Azure Storage アカウントの下にコンテナーを作成しました。
読み取り、書き込み、一覧表示の権限のあるコンテナーに対するポリシーを作成しました。 SAS キーも生成しました。
ソース コンピューターで SQL Server 資格情報を作成しました。
Azure Storage のデータ ファイルのSQL Server機能を使用して Azure にデータベースを作成するには、次の手順に従います。
SQL Server Management Studio に接続します。
オブジェクト エクスプローラーで、インストールしたデータベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ]をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、必要に応じて変更します。 FILENAME フィールドがストレージ コンテナーにあるデータベース ファイルの URI パスを指し、先頭は https にする必要があることに注意してください。
--Create a database that uses a SQL Server credential CREATE DATABASE TestDB1 ON (NAME = TestDB1_data, FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Data.mdf') LOG ON (NAME = TestDB1_log, FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Log.ldf') GO
データベースにデータを追加します。
USE TestDB1; GO CREATE TABLE Table1 (Col1 int primary key, Col2 varchar(20)); GO INSERT INTO Table1 (Col1, Col2) VALUES (1, 'string1'), (2, 'string2'); GO
内部設置型 SQL Server の新しい TestDB1 を表示するには、オブジェクト エクスプローラーでデータベースの表示を更新します。
同様に、ストレージ アカウントに新しく作成したデータベースを表示するには、SQL Server Management Studio (SSMS) 経由でストレージ アカウントに接続します。 SQL Server Management Studioを使用して Azure ストレージに接続する方法については、次の手順に従います。
まず、ストレージ アカウント情報を取得します。 管理ポータルにログインします。 次に、[ ストレージ ] をクリックし、ストレージ アカウントを選択します。 ストレージ アカウントを選択したら、ページの下部にある [ アクセス キーの管理 ] をクリックします。 次のようなダイアログ ウィンドウが開きます。
[ストレージ アカウント名] と [プライマリ アクセス キー] の値を SSMS の [Azure Storage への接続] ダイアログ ウィンドウにコピーします。 次に、 [接続] をクリックします。 これで、次のスクリーン ショットに示すように、ストレージ アカウント コンテナーについての情報が SSMS に表示されます。
次のスクリーンショットは、オンプレミス環境と Azure Storage 環境の両方で新しく作成されたデータベースを示しています。
メモ:コンテナー内のデータ ファイルへのアクティブな参照がある場合、関連付けられているSQL Server資格情報を削除しようとすると失敗します。 同様に、既に BLOB の特定のデータベース ファイルにリースが設定されていて、そのデータベースを削除する場合、まず、BLOB のリースを解除する必要があります。 リースを解除するには、 リース BLOB を使用できます。
この新しい機能を使用して、CREATE DATABASE ステートメントの既定値がクラウド対応データベースになるように、SQL Server を構成できます。 つまり、SQL Server Management Studio Server インスタンスのプロパティで既定のデータとログの場所を設定できるため、データベースを作成するたびに、すべてのデータベース ファイル (.mdf、.ldf) が Azure Storage のページ BLOB として作成されます。
ユーザー インターフェイスを使用して Azure Storage にデータベースSQL Server Management Studio作成するには、次の手順を実行します。
オブジェクト エクスプローラーで、 SQL Server データベース エンジン のインスタンスに接続し、そのインスタンスを展開します。
[データベース] を右クリックし、[新しいデータベース] をクリックします。
[新しいデータベース] ダイアログ ウィンドウで、データベース名を入力します。
プライマリ データ ファイルとトランザクション ログ ファイルの既定値を変更します。[データベース ファイル] グリッドで該当するセルをクリックして、新しい値を入力します。 また、ファイルの場所のパスも指定します。 パスとしては、ストレージ コンテナーの URL パスを入力します (たとえば、
https://teststorageaccnt.blob.core.windows.net/testcontainer/
)。 ファイル名としては、データベース ファイル (.mdf、.ldf) の物理ファイル名を入力します。詳細については、「 データベースに対するデータ ファイルまたはログ ファイルの追加」をご覧ください。
その他の値は既定値のままにします。
[OK] をクリックします。
内部設置型 SQL Server の新しい TestDB1 を表示するには、オブジェクト エクスプローラーでデータベースの表示を更新します。 同様に、ストレージ アカウントに新しく作成したデータベースを表示するには、このレッスンの前の方で説明したように、SQL Server Management Studio (SSMS) 経由でストレージ アカウントに接続します。
次のレッスン: