Accédez aux tables Microsoft SQL Server sur site à partir de Microsoft SQL Server sur Amazon EC2 à l'aide de serveurs liés - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accédez aux tables Microsoft SQL Server sur site à partir de Microsoft SQL Server sur Amazon EC2 à l'aide de serveurs liés

Créée par Tirumala Dasari (AWS) et Eduardo Valentim (AWS)

Environnement : PoC ou pilote

Technologies : Bases de données

Charge de travail : Microsoft

Récapitulatif

Ce modèle décrit comment accéder aux tables de base de données Microsoft SQL Server sur site exécutées sous Microsoft Windows, à partir de bases de données Microsoft SQL Server exécutées ou hébergées sur des instances Windows ou Linux Amazon Elastic Compute Cloud (Amazon EC2) à l'aide de serveurs liés.

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif

  • Amazon EC2 avec Microsoft SQL Server exécuté sur l'AMI Amazon Linux (Amazon Machine Image)

  • AWS Direct Connect entre le serveur Microsoft SQL Server (Windows) sur site et l'instance EC2 Windows ou Linux

Versions du produit

  • SQL Server 2016 ou version ultérieure

Architecture

Pile technologique source

  • Base de données Microsoft SQL Server locale exécutée sous Windows

  • Amazon EC2 avec Microsoft SQL Server exécuté sur une AMI Windows ou une AMI Linux

Pile technologique cible

  • Amazon EC2 avec Microsoft SQL Server exécuté sur l'AMI Amazon Linux

  • Amazon EC2 avec Microsoft SQL Server exécuté sur une AMI Windows

Architecture de base de données source et cible

Outils

  • Microsoft SQL Server Management Studio (SSMS) est un environnement intégré permettant de gérer une infrastructure SQL Server. Il fournit une interface utilisateur et un groupe d'outils dotés d'éditeurs de script riches qui interagissent avec SQL Server.

Épopées

TâcheDescriptionCompétences requises

Connectez-vous à Windows SQL Server via SSMS.

DBA

Changez le mode d'authentification en Windows dans SQL Server à partir du menu contextuel (clic droit) de l'instance Windows SQL Server.

DBA
TâcheDescriptionCompétences requises

Redémarrez le service SQL.

  1. Dans l'explorateur d'objets SSMS, choisissez l'instance SQL Server.

  2. Ouvrez le menu contextuel (clic droit).

  3. Choisissez Redémarrer.

DBA
TâcheDescriptionCompétences requises

Dans l'onglet Sécurité, ouvrez le menu contextuel (clic droit) de Connexion et sélectionnez une nouvelle connexion.

DBA

Dans l'onglet Général, choisissez l'authentification SQL Server, entrez un nom d'utilisateur, entrez le mot de passe, puis confirmez le mot de passe et désactivez l'option permettant de modifier le mot de passe lors de la prochaine connexion.

DBA

Dans l'onglet Rôles du serveur, sélectionnez Public.

DBA

Dans l'onglet User Mapping, choisissez la base de données et le schéma auxquels vous souhaitez accéder, puis surlignez la base de données pour sélectionner les rôles de base de données.

Sélectionnez public et db_datareader pour accéder aux données des tables de base de données.

DBA

Cliquez sur OK pour créer un utilisateur.

DBA
TâcheDescriptionCompétences requises

Connectez-vous à la boîte Linux SQL Server via la fenêtre du terminal.

DBA

Ouvrez le fichier /etc/hosts et ajoutez l'adresse IP de la machine Windows avec SQL Server.

DBA

Enregistrez le fichier hosts.

DBA
TâcheDescriptionCompétences requises

Créez un serveur lié à l'aide des procédures stockées master.sys.sp_addlinkedserver et master.dbo.sp_addlinkedsrvlogin.

Pour plus d'informations sur l'utilisation de ces procédures stockées, consultez la section Informations supplémentaires.

DBA, Développeur
TâcheDescriptionCompétences requises

Dans Linux SQL Server in SSMS, accédez à Linked Servers et actualisez.

DBA

Développez les serveurs liés et les catalogues créés dans le volet de gauche.

Vous verrez les bases de données SQL Server sélectionnées avec des tables et des vues.

DBA
TâcheDescriptionCompétences requises

Dans la fenêtre de requête SSMS, exécutez la requête : « select top 3 * from [sqllin] .dms_sample_win.dbo.mlb_data ».

Notez que la clause FROM utilise une syntaxe en quatre parties : computer.database.schema.table (par exemple, le nom SELECT « bases de données SQL2 » FROM [sqllin] .master.sys.databases). Dans notre exemple, nous avons créé un alias pour SQL2 dans le fichier hosts, de sorte que vous n'avez pas besoin de saisir le nom NetBIOS réel entre crochets. Si vous utilisez les noms NetBIOS réels, notez qu'AWS utilise par défaut des noms NetBIOS tels que Win-XXXX, et que SQL Server exige des crochets pour les noms marqués de tirets.

DBA, Développeur

Ressources connexes

 

Informations supplémentaires

Utilisation de procédures stockées pour créer des serveurs liés

SSMS ne prend pas en charge la création de serveurs liés pour Linux SQL Server. Vous devez donc utiliser les procédures stockées suivantes pour les créer :

EXEC master.sys.sp_addlinkedserver @server= N'SQLLIN' , @srvproduct= N'SQL Server'     EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'SQLLIN',@useself=N'False',@locallogin=NULL,@rmtuser=N'username',@rmtpassword='Test123$'

Remarque 1 : Entrez les informations de connexion que vous avez créées précédemment dans Windows SQL Server dans la procédure master.dbo.sp_addlinkedsrvlogin stockée.

Remarque 2 : @server le nom SQLLIN et le nom d'entrée du fichier hôte 172.12.12.4 SQLLIN doivent être identiques.

Vous pouvez utiliser ce processus pour créer des serveurs liés pour les scénarios suivants :

  • Linux SQL Server vers Windows SQL Server via un serveur lié (comme spécifié dans ce modèle)

  • Windows SQL Server vers Linux SQL Server via un serveur lié

  • Linux SQL Server vers un autre Linux SQL Server via un serveur lié