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