sys.sp_rda_test_connection (Transact-SQL)
Si applica a: SQL Server 2016 (13.x) e versioni successive
Verifica la connessione da SQL Server al server di Azure remoto e segnala problemi che potrebbero impedire la migrazione dei dati.
Sintassi
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'
[ ; ]
Argomenti
@database_name= N'db_name'
Nome del database SQL Server abilitato per Stretch. Il parametro è facoltativo.
Importante
Stretch Database è deprecato in SQL Server 2022 (16.x) e database SQL di Azure. Questa funzionalità verrà rimossa nelle versioni future del motore di database. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.
@server_address= N'azure_server_fully_qualified_address'
Indirizzo completo del server di Azure.
Se si specifica un valore per @database_name, ma il database specificato non è abilitato per Stretch, è necessario specificare un valore per @server_address.
Se si specifica un valore per @database_name e il database specificato è abilitato per Stretch, non è necessario specificare un valore per @server_address. Se si specifica un valore per @server_address, la stored procedure lo ignora e usa il server di Azure esistente già associato al database abilitato per Stretch.
@azure_username= N'azure_username'
Nome utente per il server di Azure remoto.
@azure_password= N'azure_password'
Password per il server di Azure remoto.
@credential_name= N'credential_name'
Anziché specificare un nome utente e una password, è possibile specificare il nome di una credenziale archiviata nel database abilitato per Stretch.
Valori del codice restituito
In caso di esito positivo, sp_rda_test_connection
restituisce l'errore 14855 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_SUCCEEDED
) con gravità EX_INFO
e codice restituito con esito positivo.
In caso di errore, sp_rda_test_connection
restituisce l'errore 14856 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_FAILED
) con gravità EX_USER
e un codice restituito di errore.
Set di risultati
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
link_state |
int | Uno dei valori seguenti, che corrispondono ai valori per link_state_desc .-0 -1 -2 -3 -4 |
link_state_desc |
varchar(32) | Uno dei valori seguenti, che corrispondono ai valori precedenti per link_state .-SANO Il tra SQL Server e il server di Azure remoto è integro. - ERROR_AZURE_FIREWALL Il firewall di Azure impedisce il collegamento tra SQL Server e il server di Azure remoto. - ERROR_NO_CONNECTION SQL Server non è in grado di stabilire una connessione al server di Azure remoto. - ERROR_AUTH_FAILURE Un errore di autenticazione impedisce il collegamento tra SQL Server e il server di Azure remoto. -ERRORE Un errore che non è un problema di autenticazione, un problema di connettività o un problema del firewall impedisce il collegamento tra SQL Server e il server di Azure remoto. |
error_number |
int | Numero dell'errore. Se non è presente alcun errore, questo campo è NULL. |
error_message |
nvarchar(1024) | Messaggio di errore. Se non è presente alcun errore, questo campo è NULL. |
Autorizzazioni
Richiede le autorizzazioni db_owner.
Esempi
Controllare la connessione da SQL Server al server di Azure remoto
EXEC sys.sp_rda_test_connection @database_name = N'<Stretch-enabled database>';
GO
I risultati mostrano che SQL Server non è in grado di connettersi al server di Azure remoto.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
2 | ERROR_NO_CONNECTION | <numero di errore correlato alla connessione> | <messaggio di errore correlato alla connessione> |
Controllare il firewall di Azure
USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO
I risultati mostrano che il firewall di Azure impedisce il collegamento tra SQL Server e il server di Azure remoto.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
1 | ERROR_AZURE_FIREWALL | <Numero di errore correlato al firewall> | <Messaggio di errore correlato al firewall> |
Controllare le credenziali di autenticazione
USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO
I risultati mostrano che un errore di autenticazione impedisce il collegamento tra SQL Server e il server di Azure remoto.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
3 | ERROR_AUTH_FAILURE | <numero di errore correlato all'autenticazione> | <messaggio di errore correlato all'autenticazione> |
Controllare lo stato del server di Azure remoto
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
I risultati mostrano che la connessione è integra e che è possibile abilitare Stretch Database per il database specificato.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
0 | HEALTHY | NULL | NULL |