Condividi tramite


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