sys.sp_rda_test_connection (Transact-SQL)

S’applique à : SQL Server 2016 (13.x) et versions ultérieures

Teste la connexion de SQL Server au serveur Azure distant et signale des problèmes susceptibles d’empêcher la migration des données.

Syntaxe

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'
[ ; ]

Arguments

@database_name= N’db_name'

Nom de la base de données SQL Server avec Stretch. Ce paramètre est facultatif.

Important

Stretch Database est déprécié dans SQL Server 2022 (16.x) et Azure SQL Database. Cette fonctionnalité sera supprimée dans une version future de moteur de base de données. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

@server_address= N’azure_server_fully_qualified_address'

Adresse complète du serveur Azure.

  • Si vous fournissez une valeur pour @database_name, mais que la base de données spécifiée n’est pas activée sur Stretch, vous devez fournir une valeur pour @server_address.

  • Si vous fournissez une valeur pour @database_name et que la base de données spécifiée est activée sur Stretch, vous n’avez pas besoin de fournir de valeur pour @server_address. Si vous fournissez une valeur pour @server_address, la procédure stockée l’ignore et utilise le serveur Azure existant déjà associé à la base de données Stretch.

@azure_username= N’azure_username'

Nom d’utilisateur du serveur Azure distant.

@azure_password= N’azure_password'

Mot de passe du serveur Azure distant.

@credential_name= N’credential_name'

Au lieu de fournir un nom d’utilisateur et un mot de passe, vous pouvez fournir le nom d’informations d’identification stockées dans la base de données Stretch.

Valeurs des codes de retour

En cas de réussite, sp_rda_test_connection retourne l’erreur 14855 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_SUCCEEDED) avec gravité EX_INFO et un code de retour de réussite.

En cas d’échec, sp_rda_test_connection retourne l’erreur 14856 (STRETCH_MAJOR, STRETCH_CONNECTION_TEST_PROC_FAILED) avec gravité EX_USER et un code de retour d’erreur.

Jeu de résultats

Nom de la colonne Type de données Description
link_state int Une des valeurs suivantes, qui correspondent aux valeurs pour link_state_desc.

- 0
- 1
- 2
-3
4
link_state_desc varchar(32) Une des valeurs suivantes, qui correspondent aux valeurs précédentes pour link_state.

-SAIN
Le serveur SQL Server et le serveur Azure distant est sain.
- ERROR_AZURE_FIREWALL
Le pare-feu Azure empêche le lien entre SQL Server et le serveur Azure distant.
- ERROR_NO_CONNECTION
SQL Server ne peut pas établir de connexion au serveur Azure distant.
- ERROR_AUTH_FAILURE
Une défaillance d’authentification empêche le lien entre SQL Server et le serveur Azure distant.
-ERREUR
Une erreur qui n’est pas un problème d’authentification, un problème de connectivité ou un problème de pare-feu empêche le lien entre SQL Server et le serveur Azure distant.
error_number int Nombre de l’erreur. S’il n’y a pas d’erreur, ce champ a la valeur NULL.
error_message nvarchar(1024) Message d’erreur. S’il n’y a pas d’erreur, ce champ a la valeur NULL.

Autorisations

Nécessite des autorisations db_owner .

Exemples

Vérifier la connexion de SQL Server au serveur Azure distant

EXEC sys.sp_rda_test_connection @database_name = N'<Stretch-enabled database>';
GO

Les résultats montrent que SQL Server ne peut pas se connecter au serveur Azure distant.

link_state link_state_desc error_number error_message
2 ERROR_NO_CONNECTION <numéro d’erreur lié à la connexion> <Message d’erreur lié à la connexion>

Vérifier le pare-feu Azure

USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO

Les résultats montrent que le pare-feu Azure empêche le lien entre SQL Server et le serveur Azure distant.

link_state link_state_desc error_number error_message
1 ERROR_AZURE_FIREWALL <numéro d’erreur lié au pare-feu> <Message d’erreur lié au pare-feu>

Vérifier les informations d’identification d’authentification

USE <Stretch-enabled database>
GO
EXECUTE sys.sp_rda_test_connection;
GO

Les résultats montrent qu’une défaillance d’authentification empêche le lien entre SQL Server et le serveur Azure distant.

link_state link_state_desc error_number error_message
3 ERROR_AUTH_FAILURE <numéro d’erreur lié à l’authentification> <Message d’erreur lié à l’authentification>

Vérifier l’état du serveur Azure distant

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

Les résultats montrent que la connexion est saine et que vous pouvez activer Stretch Database pour la base de données spécifiée.

link_state link_state_desc error_number error_message
0 HEALTHY NULL NULL