SQL Azure

SQL Azureデータベースにユーザを追加する」で紹介したように、SQL Azureデータベースでも、ユーザーを追加することができます。

新規に追加したユーザーでSQL Azureデータベースに接続しようとすると、次のような「18453」エラーが出て接続できない人がいるかもしれません。

*****.database.windows.net に接続できません。

Login failed for user ‘******’.

This session has been assigned a tracing ID of ‘*******-0230-4743-a8c4-5fb532996fec’.  Provide this tracing ID to customer support when you need assistance. (Microsoft SQL Server、エラー: 18456)

000001

Windows Azure

Windows Azure SDK 1.2からWindows Azure SDK 1.3へアップグレードすると、Windows Azure上で動作するアプリケーションで、ログ送信が止まってしまう可能性があります。問題が発生している事例をいくつか発見しています。
しかし、この問題は必ず発生するものではありませんが、もし、この問題に遭遇した場合は、MonAgentHostのイベントログを確認する必要があります。下のようなログが記録されているかもしれません。

[Diagnostics]: Checking for configuration updates 11/30/2010 02:19:09 AM.
[MonAgentHost] Error: MA EVENT: 2010-11-30T07:21:35.149Z
[MonAgentHost] Error:   2
[MonAgentHost] Error:   4492
[MonAgentHost] Error:   8984
[MonAgentHost] Error:   NetTransport
[MonAgentHost] Error:   0
[MonAgentHost] Error:   x:\rd\rd_fun_stable\services\monitoring\shared\nettransport\src\netutils.cpp
[MonAgentHost] Error:   OpenHttpSession
[MonAgentHost] Error:   686
[MonAgentHost] Error:   0
[MonAgentHost] Error:   57
[MonAgentHost] Error:   The parameter is incorrect.
[MonAgentHost] Error:   WinHttpOpen: Failed to open manually set proxy <null>; 87
[MonAgentHost] Error: MA EVENT: 2010-11-30T07:21:35.249Z
[MonAgentHost] Error:   2
[MonAgentHost] Error:   4492
[MonAgentHost] Error:   8984
[MonAgentHost] Error:   NetTransport
[MonAgentHost] Error:   0
[MonAgentHost] Error:   x:\rd\rd_fun_stable\services\monitoring\shared\nettransport\src\netutils.cpp
[MonAgentHost] Error:   OpenHttpSession
[MonAgentHost] Error:   686
[MonAgentHost] Error:   0
[MonAgentHost] Error:   57
[MonAgentHost] Error:   The parameter is incorrect.
[MonAgentHost] Error:   WinHttpOpen: Failed to open manually set proxy <null>; 87
[Diagnostics]: Checking for configuration updates 11/30/2010 02:20:11 AM.

このエラーは、Diagnostic Monitor がテーブルストレージにログを送信しようとするたびに、DiagnosticsAgent.exe(Windows SDK 1.2までは、MonAgentHost.exe)が書き込んでいます。

*. ScheduledTransferPeriod()ファンクションで使用するdiagnostics monitorツールからログを送信しようとした時に発生します。

回避策

この問題を解決するには、ServiceDefinition.csdef の<sites></sites>セクションを削除するかコメントアウトします。

<?xml version="1.0" encoding="utf-8"?>

<ServiceDefinition name="Your_Service_Name" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">

  <WebRole name="MyWebRole" enableNativeCodeExecution="true">

    <!–<Sites>

      <Site name="Web">

        <Bindings>

          <Binding name="Endpoint1" endpointName="Endpoint1" />

        </Bindings>

      </Site>

    </Sites>–>

    <Endpoints>

      <InputEndpoint name="Endpoint1" protocol="http" port="80" />

    </Endpoints>

    <Imports>

      <Import moduleName="Diagnostics" />

    </Imports>

  </WebRole>

</ServiceDefinition>

注意点

注意すべき点は、<sites></sites>セクションをサービス定義ファイルから削除orコメントアウトすると、アプリケーションをHWCで動作させることになります。これは、フルIISロールw3wp.exeの代わりにWaWebHost.exeプロセス上で動作させます。

定義ファイルに、<sites></sites>セクションがあるとフルIISWebロールでアプリケーションが動作します。、<sites></sites>セクションをコメントアウトすると、アプリケーションは、webロールベースのWindows Azure SDK 1.2でアプリケーションを動作させていることになります。

元情報

Handling problem: Diagnostics Monitor is not sending diagnostics logs to Azure Storage after upgrading Windows Azure SDK from 1.2 to 1.3を意訳したエントリーです。誤訳があるかもしれませんので、正確な情報は元記事を参照してください。

Windows Azure

Windows Azure SDK 1.2からWindows Azure SDK 1.3へアップグレードすると、Windows Azure上で動作するアプリケーションで、ログ送信が止まってしまう可能性があります。問題が発生している事例をいくつか発見しています。
しかし、この問題は必ず発生するものではありませんが、もし、この問題に遭遇した場合は、MonAgentHostのイベントログを確認する必要があります。下のようなログが記録されているかもしれません。

[Diagnostics]: Checking for configuration updates 11/30/2010 02:19:09 AM.
[MonAgentHost] Error: MA EVENT: 2010-11-30T07:21:35.149Z
[MonAgentHost] Error: 2
[MonAgentHost] Error: 4492
[MonAgentHost] Error: 8984
[MonAgentHost] Error: NetTransport
[MonAgentHost] Error: 0
[MonAgentHost] Error: x:\rd\rd_fun_stable\services\monitoring\shared\nettransport\src\netutils.cpp
[MonAgentHost] Error: OpenHttpSession
[MonAgentHost] Error: 686
[MonAgentHost] Error: 0
[MonAgentHost] Error: 57
[MonAgentHost] Error: The parameter is incorrect.
[MonAgentHost] Error: WinHttpOpen: Failed to open manually set proxy <null>; 87
[MonAgentHost] Error: MA EVENT: 2010-11-30T07:21:35.249Z
[MonAgentHost] Error: 2
[MonAgentHost] Error: 4492
[MonAgentHost] Error: 8984
[MonAgentHost] Error: NetTransport
[MonAgentHost] Error: 0
[MonAgentHost] Error: x:\rd\rd_fun_stable\services\monitoring\shared\nettransport\src\netutils.cpp
[MonAgentHost] Error: OpenHttpSession
[MonAgentHost] Error: 686
[MonAgentHost] Error: 0
[MonAgentHost] Error: 57
[MonAgentHost] Error: The parameter is incorrect.
[MonAgentHost] Error: WinHttpOpen: Failed to open manually set proxy <null>; 87
[Diagnostics]: Checking for configuration updates 11/30/2010 02:20:11 AM.

このエラーは、Diagnostic Monitor がテーブルストレージにログを送信しようとするたびに、DiagnosticsAgent.exe(Windows SDK 1.2までは、MonAgentHost.exe)が書き込んでいます。

*. ScheduledTransferPeriod()ファンクションで使用するdiagnostics monitorツールからログを送信しようとした時に発生します。

回避策

この問題を解決するには、ServiceDefinition.csdef の<sites></sites>セクションを削除するかコメントアウトします。

<?xml version="1.0" encoding="utf-8"?>

<ServiceDefinition name="Your_Service_Name" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">

  <WebRole name="MyWebRole" enableNativeCodeExecution="true">

    <!–<Sites>

      <Site name="Web">

        <Bindings>

          <Binding name="Endpoint1" endpointName="Endpoint1" />

        </Bindings>

      </Site>

    </Sites>–>

    <Endpoints>

      <InputEndpoint name="Endpoint1" protocol="http" port="80" />

    </Endpoints>

    <Imports>

      <Import moduleName="Diagnostics" />

    </Imports>

  </WebRole>

</ServiceDefinition>

注意点

注意すべき点は、<sites></sites>セクションをサービス定義ファイルから削除orコメントアウトすると、アプリケーションをHWCで動作させることになります。これは、フルIISロールw3wp.exeの代わりにWaWebHost.exeプロセス上で動作させます。

定義ファイルに、<sites></sites>セクションがあるとフルIISWebロールでアプリケーションが動作します。、<sites></sites>セクションをコメントアウトすると、アプリケーションは、webロールベースのWindows Azure SDK 1.2でアプリケーションを動作させていることになります。

元情報

Handling problem: Diagnostics Monitor is not sending diagnostics logs to Azure Storage after upgrading Windows Azure SDK from 1.2 to 1.3を意訳したエントリーです。誤訳があるかもしれませんので、正確な情報は元記事を参照してください。

SQL Azure

SQL Azureのデータベース一覧の取得

select name from sys.databases

masterデータべーすを含めて、サーバに関連づけられているデータベース一覧を取得することができます。
データベースIDは、「database_id」カラムで取得可能。

SQL Azureデータベースのエディションと最大サイズ

select
DATABASEPROPERTYEX(‘test‘,’Edition‘),
DATABASEPROPERTYEX(‘test‘,’MaxSizeInBytes‘)

上記の例では、testデータベースのエディションと最大サイズを取得しています。
エディションは、「Web」か「Business」が返ってきます。
最大サイズは、「1073741824」、「5368709120」、「10737418240」、「21474836480」、「32212254720」、「42949672960」、「53687091200」、「NULL」が返ってきます。

参考:DATABASEPROPERTYEX (SQL Azure Database)

SQL Azureデータベースの現在サイズの取得

SELECT SUM(reserved_page_count)*8.0/1024 FROM sys.dm_db_partition_stats

データベースごとに実行する必要があります。戻り値は、メガバイト単位です。
masterデータベースに対して実行すると、「The user does not have permission to perform this action.」っとエラーが発生します。

参考:動的管理ビューを使用した SQL Azure の監視

MVP

1月2日、下のようなメールを受信しました。


おめでとうございます! このたび、2011 Microsoft® MVP アワードを受賞されましたことを、謹んでお知らせ致します。MVPアワードは、実用的で質の高い専門知識を他のユーザーとの間で積極的に共有している、優れたテクニカル コミュニティ リーダーに贈られます。過去1年において、SQL Azureコミュニティに大いに貢献していただきまして誠にありがとうございます。

まだまだ未熟者ではありますが、今後もより一層役立つ情報を提供できるように、自分自身のインプットとアウトプット共に頑張って参ります。

本年も引き続きご愛顧のほど、よろしくお願いします。