sys.sp_rda_test_connection (Transact-SQL)
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
Testa a conexão do SQL Server com o servidor remoto do Azure e relata problemas que podem impedir a migração de dados.
Sintaxe
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'
O nome do banco de dados do SQL Server habilitado para Stretch. Esse parâmetro é opcional.
Importante
O banco de dados de ampliação foi preterido no SQL Server 2022 (16.x) e no Banco de Dados SQL do Azure. Esse recurso será removido em uma versão futura do mecanismo de banco de dados. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.
@server_address= N'azure_server_fully_qualified_address'
O endereço totalmente qualificado do servidor do Azure.
Se você fornecer um valor para @database_name, mas o banco de dados especificado não estiver habilitado para Stretch, será necessário fornecer um valor para @server_address.
Se você fornecer um valor para @database_name e o banco de dados especificado estiver habilitado para Stretch, não será necessário fornecer um valor para @server_address. Se você fornecer um valor para @server_address, o procedimento armazenado o ignorará e usará o servidor do Azure existente já associado ao banco de dados habilitado para Stretch.
@azure_username= N'azure_username'
O nome de usuário do servidor remoto do Azure.
@azure_password= N'azure_password'
A senha do servidor remoto do Azure.
@credential_name= N'credential_name'
Em vez de fornecer um nome de usuário e senha, você pode fornecer o nome de uma credencial armazenada no banco de dados habilitado para Stretch.
Valores do código de retorno
Em caso de sucesso, sp_rda_test_connection
retorna o erro 14855 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_SUCCEEDED
) com gravidade EX_INFO
e um código de retorno de sucesso.
Em caso de falha, sp_rda_test_connection
retorna o erro 14856 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_FAILED
) com gravidade EX_USER
e um código de retorno de erro.
Conjunto de resultados
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
link_state |
int | Um dos seguintes valores, que correspondem aos valores de link_state_desc .- 0 - 1 - 2 - 3 - 4 |
link_state_desc |
varchar(32) | Um dos valores a seguir, que correspondem aos valores anteriores para link_state .-SAUDÁVEL O entre o SQL Server e o servidor remoto do Azure está íntegro. - ERROR_AZURE_FIREWALL O firewall do Azure está impedindo o vínculo entre o SQL Server e o servidor remoto do Azure. - ERROR_NO_CONNECTION O SQL Server não pode estabelecer uma conexão com o servidor remoto do Azure. - ERROR_AUTH_FAILURE Uma falha de autenticação está impedindo o link entre o SQL Server e o servidor remoto do Azure. -ERRO Um erro que não é um problema de autenticação, um problema de conectividade ou um problema de firewall está impedindo o link entre o SQL Server e o servidor remoto do Azure. |
error_number |
int | O número do erro. Se não houver erro, esse campo será NULL. |
error_message |
nvarchar(1024) | A mensagem de erro. Se não houver erro, esse campo será NULL. |
Permissões
Requer permissões de db_owner.
Exemplos
Verificar a conexão do SQL Server com o servidor remoto do Azure
EXEC sys.sp_rda_test_connection @database_name = N'<Stretch-enabled database>';
GO
Os resultados mostram que o SQL Server não pode se conectar ao servidor remoto do Azure.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
2 | ERROR_NO_CONNECTION | <Número de erro relacionado à conexão> | <Mensagem de erro relacionada à conexão> |
Verificar o firewall do Azure
USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO
Os resultados mostram que o firewall do Azure está impedindo o link entre o SQL Server e o servidor remoto do Azure.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
1 | ERROR_AZURE_FIREWALL | <Número de erro relacionado ao firewall> | <Mensagem de erro relacionada ao firewall> |
Verifique as credenciais de autenticação
USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO
Os resultados mostram que uma falha de autenticação está impedindo o link entre o SQL Server e o servidor remoto do Azure.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
3 | ERROR_AUTH_FAILURE | <Número de erro relacionado à autenticação> | <Mensagem de erro relacionada à autenticação> |
Verificar o status do servidor remoto do 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
Os resultados mostram que a conexão está íntegra e que você pode habilitar o Stretch Database para o banco de dados especificado.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
0 | HEALTHY | NULO | NULO |