sys.sp_rda_test_connection (Transact-SQL)

適用対象: SQL Server 2016 (13.x) 以降のバージョン

SQL Server からリモート Azure サーバーへの接続をテストし、データ移行を妨げる可能性のある問題を報告します。

構文

EXECUTE sys.sp_rda_test_connection
    @database_name = N'db_name'
    , @server_address = N'azure_server_fully_qualified_address'
    , @azure_username = N'azure_username'
    , @azure_password = N'azure_password'
    , @credential_name = N'credential_name'
[ ; ]

引数

@database_name= N'db_name'

Stretch 対応 SQL Server データベースの名前。 このパラメーターは省略可能です。

重要

拡張データベースは、SQL Server 2022 (16.x) および Azure SQL Database では非推奨になります。 この機能は、データベース エンジンの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

@server_address= N'azure_server_fully_qualified_address'

Azure サーバーの完全修飾アドレス。

  • @database_name値を指定しても、指定したデータベースが Stretch 対応でない場合は、@server_address値を指定する必要があります。

  • @database_name値を指定し、指定したデータベースが Stretch 対応の場合は、@server_address値を指定する必要はありません。 @server_address値を指定すると、ストアド プロシージャはそれを無視し、Stretch 対応データベースに既に関連付けられている既存の Azure サーバーを使用します。

@azure_username= N'azure_username'

リモート Azure サーバーのユーザー名。

@azure_password= N'azure_password'

リモート Azure サーバーのパスワード。

@credential_name= N'credential_name'

ユーザー名とパスワードを指定する代わりに、Stretch 対応データベースに格納されている資格情報の名前を指定できます。

リターン コードの値

成功した場合は、sp_rda_test_connection重大度EX_INFOと成功リターン コードを含むエラー 14855 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_SUCCEEDED) を返します。

エラーが発生した場合は、sp_rda_test_connection重大度EX_USERとエラー リターン コードを含むエラー 14856 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_FAILED) を返します。

結果セット

列名 データ型 説明
link_state int の値に対応する次のいずれかの値 link_state_desc

- 0
- 1
- 2
- 3
- 4
link_state_desc varchar(32) の前の値に対応する次のいずれかの値 link_state

-健康
SQL Server とリモート Azure サーバーの間は正常です。
- ERROR_AZURE_FIREWALL
Azure ファイアウォールによって、SQL Server とリモート Azure サーバー間のリンクが妨げられます。
- ERROR_NO_CONNECTION
SQL Server は、リモートの Azure サーバーに接続できません。
- ERROR_AUTH_FAILURE
認証エラーが発生すると、SQL Server とリモート Azure サーバー間のリンクが妨けられます。
-エラー
認証の問題、接続の問題、ファイアウォールの問題ではないエラーによって、SQL Server とリモート Azure サーバー間のリンクが妨げられます。
error_number int エラーの数。 エラーがない場合、このフィールドは NULL です。
error_message nvarchar(1024) エラー メッセージ。 エラーがない場合、このフィールドは NULL です。

アクセス許可

db_ownerのアクセス許可が必要です。

SQL Server からリモート Azure サーバーへの接続を確認する

EXEC sys.sp_rda_test_connection @database_name = N'<Stretch-enabled database>';
GO

結果は、SQL Server がリモート Azure サーバーに接続できないことを示しています。

link_state link_state_desc error_number error_message
2 ERROR_NO_CONNECTION <接続関連のエラー番号> <接続関連のエラー メッセージ>

Azure ファイアウォールを確認する

USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO

結果は、Azure ファイアウォールが SQL Server とリモート Azure サーバー間のリンクを妨げていることを示しています。

link_state link_state_desc error_number error_message
1 ERROR_AZURE_FIREWALL <ファイアウォール関連のエラー番号> <ファイアウォール関連のエラー メッセージ>

認証資格情報を確認する

USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO

結果は、認証エラーによって SQL Server とリモート Azure サーバー間のリンクが妨げていることを示しています。

link_state link_state_desc error_number error_message
3 ERROR_AUTH_FAILURE <認証関連のエラー番号> <認証関連のエラー メッセージ>

リモート Azure サーバーの状態を確認する

USE <SQL Server database>
GO
EXECUTE sys.sp_rda_test_connection
    @server_address = N'<server name>.database.windows.net',
    @azure_username = N'<user name>',
    @azure_password = N'<password>';
GO

結果は、接続が正常であり、指定されたデータベースに対して Stretch Database を有効にできることを示しています。

link_state link_state_desc error_number error_message
0 正常 NULL NULL