Udostępnij za pośrednictwem


sys.sp_rda_test_connection (Transact-SQL)

Applies to: SQL Server 2016 (13.x) and later versions

Tests the connection from SQL Server to the remote Azure server and reports problems that may prevent data migration.

Syntax

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'
[ ; ]

Arguments

@database_name = N'db_name'

The name of the Stretch-enabled SQL Server database. This parameter is optional.

Important

Stretch Database is deprecated in SQL Server 2022 (16.x) and Azure SQL Database. This feature will be removed in a future version of the Database Engine. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

@server_address = N'azure_server_fully_qualified_address'

The fully qualified address of the Azure server.

  • If you provide a value for @database_name, but the specified database isn't Stretch-enabled, then you have to provide a value for @server_address.

  • If you provide a value for @database_name, and the specified database is Stretch-enabled, then you don't have to provide a value for @server_address. If you provide a value for @server_address, the stored procedure ignores it and uses existing Azure server already associated with the Stretch-enabled database.

@azure_username = N'azure_username'

The user name for the remote Azure server.

@azure_password = N'azure_password'

The password for the remote Azure server.

@credential_name = N'credential_name'

Instead of providing a user name and password, you can provide the name of a credential stored in the Stretch-enabled database.

Return code values

In case of success, sp_rda_test_connection returns error 14855 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_SUCCEEDED) with severity EX_INFO and a success return code.

In case of failure, sp_rda_test_connection returns error 14856 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_FAILED) with severity EX_USER and an error return code.

Result set

Column name Data type Description
link_state int One of the following values, which correspond to the values for link_state_desc.

- 0
- 1
- 2
- 3
- 4
link_state_desc varchar(32) One of the following values, which correspond to the preceding values for link_state.

- HEALTHY
The between SQL Server and the remote Azure server is healthy.
- ERROR_AZURE_FIREWALL
The Azure firewall is preventing the link between SQL Server and the remote Azure server.
- ERROR_NO_CONNECTION
SQL Server can't make a connection to the remote Azure server.
- ERROR_AUTH_FAILURE
An authentication failure is preventing the link between SQL Server and the remote Azure server.
- ERROR
An error that's not an authentication issue, a connectivity issue, or a firewall issue is preventing the link between SQL Server and the remote Azure server.
error_number int The number of the error. If there's no error, this field is NULL.
error_message nvarchar(1024) The error message. If there's no error, this field is NULL.

Permissions

Requires db_owner permissions.

Examples

Check the connection from SQL Server to the remote Azure server

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

The results show that SQL Server can't connect to the remote Azure server.

link_state link_state_desc error_number error_message
2 ERROR_NO_CONNECTION <connection-related error number> <connection-related error message>

Check the Azure firewall

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

The results show that the Azure firewall is preventing the link between SQL Server and the remote Azure server.

link_state link_state_desc error_number error_message
1 ERROR_AZURE_FIREWALL <firewall-related error number> <firewall-related error message>

Check authentication credentials

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

The results show that an authentication failure is preventing the link between SQL Server and the remote Azure server.

link_state link_state_desc error_number error_message
3 ERROR_AUTH_FAILURE <authentication-related error number> <authentication-related error message>

Check the status of the remote Azure server

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

The results show that the connection is healthy and that you can enable Stretch Database for the specified database.

link_state link_state_desc error_number error_message
0 HEALTHY NULL NULL