sys.sp_rda_test_connection (Transact-SQL)
Gilt für: SQL Server 2016 (13.x) und höhere Versionen
Testet die Verbindung von SQL Server mit dem Azure-Remoteserver und meldet Probleme, die die Datenmigration verhindern können.
Syntax
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'
[ ; ]
Argumente
@database_name= N'db_name'
Der Name der Stretch-fähigen SQL Server-Datenbank. Dieser Parameter ist optional.
Wichtig
Stretch Database ist in SQL Server 2022 (16.x) und der Azure SQL-Datenbank veraltet. Diese Funktion wird in einer zukünftigen Version der Datenbank-Engine entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.
@server_address= N'azure_server_fully_qualified_address'
Die vollqualifizierte Adresse des Azure-Servers.
Wenn Sie einen Wert für @database_name angeben, die angegebene Datenbank jedoch nicht stretch-enabled ist, müssen Sie einen Wert für @server_address angeben.
Wenn Sie einen Wert für @database_name angeben und die angegebene Datenbank stretch-enabled ist, müssen Sie keinen Wert für @server_address angeben. Wenn Sie einen Wert für @server_address angeben, ignoriert die gespeicherte Prozedur sie und verwendet vorhandenen Azure-Server, der bereits der Stretch-aktivierten Datenbank zugeordnet ist.
@azure_username= N'azure_username'
Der Benutzername für den Azure-Remoteserver.
@azure_password= N'azure_password'
Das Kennwort für den Azure-Remoteserver.
@credential_name= N'credential_name'
Anstatt einen Benutzernamen und ein Kennwort anzugeben, können Sie den Namen einer in der Stretch-aktivierten Datenbank gespeicherten Anmeldeinformationen angeben.
Rückgabecodewerte
Gibt bei Erfolg sp_rda_test_connection
Den Fehler 14855 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_SUCCEEDED
) mit Schweregrad EX_INFO
und Erfolgsrücklaufcode zurück.
Gibt im Falle eines Fehlers sp_rda_test_connection
den Fehler 14856 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_FAILED
) mit Schweregrad EX_USER
und einen Fehlerrückgabecode zurück.
Resultset
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
link_state |
int | Einer der folgenden Werte, die den Werten für link_state_desc .- 0 - 1 - 2 - 3 – 4 |
link_state_desc |
varchar(32) | Einer der folgenden Werte, die den vorherigen Werten für link_state .-GESUND Der Zwischen SQL Server und dem Azure-Remoteserver ist fehlerfrei. - ERROR_AZURE_FIREWALL Die Azure-Firewall verhindert die Verbindung zwischen SQL Server und dem Azure-Remoteserver. - ERROR_NO_CONNECTION SQL Server kann keine Verbindung mit dem Azure-Remoteserver herstellen. - ERROR_AUTH_FAILURE Ein Authentifizierungsfehler verhindert die Verbindung zwischen SQL Server und dem Azure-Remoteserver. -FEHLER Ein Fehler, bei dem es sich nicht um ein Authentifizierungsproblem, ein Verbindungsproblem oder ein Firewallproblem handelt, verhindert die Verbindung zwischen SQL Server und dem Azure-Remoteserver. |
error_number |
int | Die Nummer des Fehlers. Wenn kein Fehler auftritt, ist dieses Feld NULL. |
error_message |
nvarchar(1024) | Die Fehlermeldung. Wenn kein Fehler auftritt, ist dieses Feld NULL. |
Berechtigungen
Erfordert db_owner-Berechtigungen.
Beispiele
Überprüfen der Verbindung von SQL Server mit dem Azure-Remoteserver
EXEC sys.sp_rda_test_connection @database_name = N'<Stretch-enabled database>';
GO
Die Ergebnisse zeigen, dass SQL Server keine Verbindung mit dem Azure-Remoteserver herstellen kann.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
2 | ERROR_NO_CONNECTION | <Verbindungsbezogene Fehlernummer> | <Verbindungsbezogene Fehlermeldung> |
Überprüfen der Azure-Firewall
USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO
Die Ergebnisse zeigen, dass die Azure-Firewall die Verbindung zwischen SQL Server und dem Azure-Remoteserver verhindert.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
1 | ERROR_AZURE_FIREWALL | <Firewallbezogene Fehlernummer> | <Firewallbezogene Fehlermeldung> |
Überprüfen von Authentifizierungsanmeldeinformationen
USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO
Die Ergebnisse zeigen, dass ein Authentifizierungsfehler die Verbindung zwischen SQL Server und dem Azure-Remoteserver verhindert.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
3 | ERROR_AUTH_FAILURE | <Authentifizierungsbezogene Fehlernummer> | <Authentifizierungsbezogene Fehlermeldung> |
Überprüfen des Status des Azure-Remoteservers
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
Die Ergebnisse zeigen, dass die Verbindung fehlerfrei ist und Sie die Stretch-Datenbank für die angegebene Datenbank aktivieren können.
link_state | link_state_desc | error_number | error_message |
---|---|---|---|
0 | FEHLERFREI | NULL | NULL |