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 |