このホワイトペーパでは、SQL Azureで提供されている動的管理ビュー(DMV)のガイドラインについて記載されています。動的管理ビューを使用して、トラブルシューティングする方法が説明されています。
Download details: Troubleshooting and Optimizing Queries with SQL Azure
SQL Azure と Cosmos DB をメインにWindows Azureの情報を発信
このホワイトペーパでは、SQL Azureで提供されている動的管理ビュー(DMV)のガイドラインについて記載されています。動的管理ビューを使用して、トラブルシューティングする方法が説明されています。
Download details: Troubleshooting and Optimizing Queries with SQL Azure
Adding Users to Your SQL Azure Database – SQL Azure Team Blog – Site Home – MSDN Blogsを簡単に翻訳し紹介したエントリーです。
SQL Azure Portalを使用して、SQL Azureサーバを作成したとき、同時にユーザ名とパスワードを作成します。サーバ上の全データベースにアクセスすることができる管理者アカウントです。しかし、サーバ上の全て、もしくは一部のDBに他の人にも、フル権限または一部権限で、アクセスして欲しいと思うことがあります。このエントリーでは、SQL Azureデータベースに対してユーザアカウントを追加する方法を紹介します。
今のところ、SQL Azure Portalで、管理者アカウントを追加することはできません。追加するにはTransact-SQLを使用する必要があります。SQL Server Management Studio 2008 R2を使用してSQL AzureにTransact-SQLを実行します。SQL Server Management Studio 2008 R2はSQL Azureデータベースのユーザとログインを一覧で表示しますが、ユーザとログイン作成のGUIは提供されていません。
一覧には、ユーザーとログインが表示されている。
プロパティ的なメニューが表示されない。GUIでの操作方法を今のところ提供されていない。
ログインは、パスワードとログイン(ID)ペアになっており、全てのデータベースに同じパスワードでアクセスすることができます。ログインを作成するTransact-SQLは次のようなものです。
CREATE LOGIN readonlylogin WITH password='1231!#ASDF!a';
CREATE LOGINコマンドを実行するには、SQL Azureのマスターデータベースに(SQL Azure Portalで作成した)管理者アカウントで接続しなければなりません。
ユーザは、データベスに対して作成し、ログインと紐付けます。ユーザを作成するデータベースに対して接続しなければなりません。多くの場合、マスターデータベース以外に接続することになります。ユーザを作成するTransact-SQLは次の用になります。
CREATE USER readonlyuser FROM LOGIN readonlylogin;
ユーザを作成した直後は、データベースに接続する権限はありません。アクセスする為の権限を付与する必要があります。次のTransact-SQLは、ユーザ「readonlyuser」に対して、データベース読み取り権限をdb_datareaderロールを使用して付与します。
EXEC sp_addrolemember 'db_datareader', 'readonlyuser';
幸い、SQL Server Management Studio 2008 R2はユーザとログインを削除することができます。オブジェクトエクスプローラーのツリーからセキュリティーノードを見つけます。ユーザまたはログインで右クリックをし、削除を選択します。
SQL AzureはUSE文を使用することができません。これは、一つのスクリプトで、ログインとユーザを作成することができないことを意味しています。CREATE LOGIN と CREATE USERを実行するにはぞれぞれデータベースに接続詞直さなければなりません。
詳細は、Managing Databases and Logins in SQL Azureを確認してください。
SQL Azureのセキュリティガイドラインが、マイクロソフト ダウンロードセンターにて提供されています。このホワイトペーパーでは、SQL Azureにセキュアに接続する為に、サーバサードとクライアントサイドで必要な基本的な設定について説明されています。
管理者ログインとSQL Azureファイヤーウォールと内部ファイヤーウォールのベストプラクティスを学べます。
SQL Azureの水平パーティショニングと垂直パーティショニングによるスケールアウトについて、Dinakar Nethiが執筆したホワイトペーパーです。
このホワイトペーパーでは、 スケールアウトの概要と、オンプレミスへのスケールアウトの試みと、SQL Azureでのスケールアウトの利点について学ぶことができます。
Creating a SQL Azure Database with SQLCMD – SQL Azure Team Blog – Site Home – MSDN Blogsを簡単に翻訳したエントリーです。
一度、SQL Azure Portalでサーバを配置すれば、sqlcmd.exeを使用してデスクトップのコマンドラインからデータベースを作成したり、削除することができます。スクラッチでデータベースを作成し、スキーマをアップロードし、きれいな環境でテストしたり、それらを繰り返しテストするときに便利です。
注意すべき事は、データベースを作成したり削除したりするときはマスターデータベースに接続する必要があることです。また、 -Nパラメータを使用して接続を暗号かあすることも重要です。暗号化に関する詳細情報は、こちらを参照してください。
最初に、データベースを作成するためのTransact-SQLコマンドを含む.sqlファイルを作成します。例えば、次のようなクエリになります。
CREATE DATABASE Test
これは、デフォルトサイズの1ギアバイトのデータベースが作成されます。コマンドをCreateDatabase.sqlというファイル名に保存したとします。コマンドラインからコマンド(ファイル)を実行するコマンドは次の用になります。
sqlcmd -SyourSeverdatabase.windows.net -UyouLogin@yourServer -PyourPassword -dmaster -i –N CreateDatabase.sql
ユーザ名は、「ログイン@サーバ名」の形式にする必要があります。ログインは、SQL Azureサーバ上の管理者ログインを使用し、マスターデータベースに対して発行します。
データベースの削除も同様の方法で行います。スクリプトは次の用になります。
DROP DATABASE Test
コマンドをDropDatabase.sqlというファイル名に保存したとします。コマンドラインからコマンド(ファイル)を実行するコマンドは次の用になります。
sqlcmd -SyourSeverdatabase.windows.net -UyouLogin@yourServer -PyourPassword -dmaster -i –N DropDatabase.sql
SQL Azureの最小課金単位は、一日です。1ギガバイトのデータベースで一ヶ月に$9.99(日本の場合は、979円ぐらい。詳細は、ここで。) 一日あたり33セント(日本の場合は、33円ぐらい)です。データベースを作成し、すぐに削除すれば33セントかかります。詳細は、Windows Azure Pricing | Windows Azure Services | Windows Azure Platformで確認できます。