Connecter une instance nommée MS-SQL

Microsoft SQL Server (MS-SQL) propose une fonctionnalité appelée instances nommées. Cette fonctionnalité vous permet d'exécuter plusieurs bases de données sur le même hôte (ou sur des hôtes en cluster) avec des paramètres distincts. Chaque instance de base de données s'exécute sur son propre port. Toutefois, lorsque vous utilisez des clients compatibles avec MS-SQL exécutés sur Windows, vous pouvez vous connecter par nom plutôt que par numéro de port. Par exemple, si votre nom d'hôte est dbserver et que votre instance s'appelle proddb, vous devez vous connecter à l'aide du nom d'hôte dbserver\proddb.

Comment les instances nommées MS-SQL se connectent-elles ?

  1. Votre client contacte l'hôte, nommé sur le port MS-SQL par défaut (1433).
  2. MS-SQL répond avec le port de l'instance nommée.
  3. Le client se connecte ensuite à ce port.

Looker ne pourra pas trouver le numéro de port d'une instance nommée de cette manière. Une fois que Looker se connecte à un port, il s'attend à pouvoir exécuter des requêtes et ne se connecte à aucun autre port.

Connecter une instance nommée MS-SQL à Looker

MS-SQL choisit un port au hasard au démarrage. Pour que Looker se connecte à une instance nommée MS-SQL, vous devez trouver le port sur lequel elle s'exécute:

  • L'article SQL Server - Finding TCP Port Number SQL Instance Is Listening On (SQL Server : trouver le numéro de port TCP sur lequel l'instance SQL écoute) décrit la méthode à suivre pour trouver le port. Bien que l'article date de 2012, la procédure est similaire pour les différentes versions de MS-SQL.
  • Une fois que vous avez trouvé le port, vous pouvez saisir son nom dans le champ Host:Port de la configuration de la connexion à la base de données de Looker. Par exemple, si le port est 61499 et que l'hôte est nommé dbserver, la connexion dans Looker se présente comme suit:

      host: dbserver
      port: 61499
  • REMARQUE:Le nom d'hôte de la base de données ne se présente pas sous la forme dbserver\proddb, comme ce serait le cas si vous vous connectiez par le nom de l'instance.
  • Il est important de noter que MS-SQL peut choisir un port différent pour l'instance nommée chaque fois que le serveur est redémarré. MS-SQL devra peut-être modifier les règles de pare-feu et reconfigurer Looker pour qu'il utilise le nouveau port. Pour éviter que les ports ne changent, vous pouvez choisir d'attribuer un port statique à votre instance nommée. Pour en savoir plus sur la procédure, consultez How to Assign a Static Port to a SQL Server Named Instance — and Avoid a Common Pitfall (Comment attribuer un port statique à une instance nommée SQL Server et éviter un écueil courant).