Share via


sys.sp_rda_test_connection (Transact-SQL)

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores

Comprueba la conexión de SQL Server al servidor remoto de Azure e informa de problemas que pueden impedir la migración de datos.

Sintaxis

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

Argumentos

@database_name= N'db_name'

Nombre de la base de datos de SQL Server habilitada para Stretch. Este parámetro es opcional.

Importante

Stretch Database está en desuso en SQL Server 2022 (16.x) y Azure SQL Database. Esta característica se quitará en una versión futura del motor de base de datos. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

@server_address= N'azure_server_fully_qualified_address'

Dirección completa del servidor de Azure.

  • Si proporciona un valor para @database_name, pero la base de datos especificada no está habilitada para Stretch, debe proporcionar un valor para @server_address.

  • Si proporciona un valor para @database_name y la base de datos especificada está habilitada para Stretch, no tiene que proporcionar un valor para @server_address. Si proporciona un valor para @server_address, el procedimiento almacenado lo omite y usa el servidor de Azure existente ya asociado a la base de datos habilitada para Stretch.

@azure_username= N'azure_username'

Nombre de usuario del servidor remoto de Azure.

@azure_password= N'azure_password'

Contraseña del servidor remoto de Azure.

@credential_name= N'credential_name'

En lugar de proporcionar un nombre de usuario y una contraseña, puede proporcionar el nombre de una credencial almacenada en la base de datos habilitada para Stretch.

Valores de código de retorno

En caso de éxito, sp_rda_test_connection devuelve el error 14855 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_SUCCEEDED) con gravedad EX_INFO y un código de retorno correcto.

En caso de error, sp_rda_test_connection devuelve el error 14856 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_FAILED) con gravedad EX_USER y un código de retorno de error.

Conjunto de resultados

Nombre de la columna Tipo de datos Descripción
link_state int Uno de los siguientes valores, que corresponden a los valores de link_state_desc.

- 0
- 1
- 2
- 3
: 4
link_state_desc varchar(32) Uno de los siguientes valores, que corresponden a los valores anteriores para link_state.

-SANO
El valor entre SQL Server y el servidor remoto de Azure es correcto.
- ERROR_AZURE_FIREWALL
El firewall de Azure impide el vínculo entre SQL Server y el servidor remoto de Azure.
- ERROR_NO_CONNECTION
SQL Server no puede establecer una conexión con el servidor remoto de Azure.
- ERROR_AUTH_FAILURE
Un error de autenticación impide el vínculo entre SQL Server y el servidor remoto de Azure.
-ERROR
Un error que no es un problema de autenticación, un problema de conectividad o un problema de firewall impide el vínculo entre SQL Server y el servidor remoto de Azure.
error_number int Número del error. Si no hay ningún error, este campo es NULL.
error_message nvarchar(1024) El mensaje de error. Si no hay ningún error, este campo es NULL.

Permisos

Requiere permisos de db_owner.

Ejemplos

Comprobación de la conexión de SQL Server al servidor remoto de Azure

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

Los resultados muestran que SQL Server no puede conectarse al servidor remoto de Azure.

link_state link_state_desc error_number error_message
2 ERROR_NO_CONNECTION <número de error relacionado con la conexión> <Mensaje de error relacionado con la conexión>

Comprobación del firewall de Azure

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

Los resultados muestran que Azure Firewall impide el vínculo entre SQL Server y el servidor remoto de Azure.

link_state link_state_desc error_number error_message
1 ERROR_AZURE_FIREWALL <número de error relacionado con el firewall> <Mensaje de error relacionado con el firewall>

Comprobación de las credenciales de autenticación

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

Los resultados muestran que un error de autenticación impide el vínculo entre SQL Server y el servidor remoto de Azure.

link_state link_state_desc error_number error_message
3 ERROR_AUTH_FAILURE <número de error relacionado con la autenticación> <mensaje de error relacionado con la autenticación>

Comprobación del estado del servidor remoto de 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

Los resultados muestran que la conexión es correcta y que puede habilitar Stretch Database para la base de datos especificada.

link_state link_state_desc error_number error_message
0 HEALTHY NULL NULL