Serveur d'impression

Comment configurer un alias SQL Server et quand un alias de connexion est-il utile pour les développeurs? – Serveur d’impression

Le 31 mars 2020 - 9 minutes de lecture

MISE À JOUR: 5 janvier 2012

Si la machine cliente ne dispose pas de SQL Server Configuration Manager, accédez à cet article MSDN,

http://msdn.microsoft.com/en-us/library/ms190445.aspx

Aamir Qureshi a écrit un excellent commentaire sur la façon d'utiliser l'utilitaire de ligne de commande, cliconfg.exe, sur une machine client qui ne dispose pas de SQL Server Configuration Manager.



N'est-ce pas ce vieux chapeau?

Dans un SqlBits lointain, loin, très loin (en fait les tout premiers SqlBits), j'ai donné deux conférences grok; le premier sur les développeurs utilisant des alias SQL Server pour simplifier le développement, le second sur le chiffrement des bases de données SQL à l'aide du chiffrement NTFS. Comme d'habitude, j'ai promis de tout écrire sur ce blog.

Deux ans plus tard, lors du récent SQL Bits V, j'ai mentionné des alias à un collègue développeur. Il a suivi et a demandé un lien vers mon blog. C’est à ce moment-là que j’ai découvert que même si j’avais écrit l’utilisation du chiffrement de fichiers NTFS, je n’avais pas écrit l’utilisation des alias. Je ne peux que m'excuser et je me suis enfin mis à écrire ceci. En prime, il inclut désormais la qualité 64 bits et une manière beaucoup, beaucoup plus rapide (si sale) de configurer les alias SQL Server.

Bien qu'un sujet aussi ancien que SQL Server 2000, je trouve toujours surprenant le nombre de développeurs qui ne savent pas à quel point un alias SQL peut être utile.

Qu'est-ce qu'un alias SQL Server?

Un alias SQL Server est simplement un nom convivial, configuré sur l'ordinateur client qui pointe vers une instance SQL Server. Cette instance peut être installée localement ou sur une autre machine du réseau. Considérez un alias comme une entrée dans un fichier d'hôtes, une sorte de recherche DNS codée en dur d'une instance SQL Server.

Pourquoi voudriez-vous les utiliser?

Un alias SQL Server peut être utile pour plusieurs raisons

La première fois que je les ai utilisés, c'était dans une petite équipe de développement où la plupart des développeurs avaient installé SQL Server en tant qu'instances par défaut, (local), mais certains des développeurs les plus anonymes (moi y compris) avaient utilisé des instances nommées, c'est-à-dire SQL2005Std. En utilisant le même alias sur toutes les machines de développement, n'importe quel projet peut être extrait sans avoir à modifier les fichiers .config pour modifier l'instance de base de données, réduisant ainsi le «bruit» de vérification dans le système de contrôle de version.

Une deuxième utilisation consiste à simplifier la configuration des serveurs d'intégration continue (CI). Comme pour une équipe de développement partagée, vous créez des alias sur votre serveur CI pour effectuer des tests d'intégration sur plusieurs variantes de serveurs de base de données, vous n'avez donc pas à modifier les paramètres de configuration des applications. En outre, un développeur peut configurer un alias sur sa machine locale, exécuter des tests unitaires par rapport à cet alias et le serveur CI peut utiliser le même alias pointant vers une instance SQL locale lorsque les tests sont exécutés en mode automatisé.

Une troisième utilisation permet à un développeur de basculer rapidement entre différentes instances de base de données locales (c'est-à-dire SQL 2000, SQL 2005, SQL 2008, SQL Express) ou entre des instances locales et des instances réseau telles que le transfert ou la construction de serveurs pour vérifier le fonctionnement cohérent d'une application. Encore une fois, le tout sans modifier (éventuellement) plusieurs fichiers de configuration d'application ou entrées de registre dans de nombreuses applications.

Pré-requis pour l'utilisation de l'alias SQL Server

  1. Vous devez être prêt à ce que vos clients se connectent à l'instance via un protocole réseau. Il n'est pas possible d'utiliser des connexions de mémoire partagée disponibles lorsque le client et l'instance sont sur le même système. J'utilise des connexions TCP / IP pour mes alias.
  2. Sur le système hébergeant l'instance SQL Server, vous devez avoir le service SQL Server Browser en cours d'exécution (le mode de démarrage est normalement défini sur Automatique).
  3. Sur un système 64 bits, si vous avez des clients 32 bits et 64 bits, vous devrez créer un alias pour les DEUX clients 32 bits et 64 bits.

Configuration de l'instance SQL Server (pour activer un protocole réseau)

Microsoft expédie désormais à juste titre les produits verrouillés par défaut, et SQL Server ne fait pas exception, vous devrez donc activer le protocole réseau que vous avez choisi, dans ce cas TCP / IP.

Exécutez le Gestionnaire de configuration SQL Server, Programmes -> Microsoft SQL Server 2005 (ou 2008) -> Outils de configuration

Ouvrez le Configuration réseau SQL Server branche d'arbre (sur ma machine, elle est répertoriée comme 32 bits pour SQLExpress, 64 bits pour 2005 Dev, 2008 Std) et mettez en surbrillance l'option protocoles pour votre instance SQL Server, vous pouvez voir les protocoles répertoriés dans le volet de droite, y compris TCP / IP

Gestionnaire de configuration SQL - Protocoles

Double-cliquez sur le protocole que vous souhaitez ouvrir la boîte de dialogue de protocole, afin de pouvoir modifier les paramètres de ce protocole,

Gestionnaire de configuration SQL - Boîte de dialogue Protocoles

Pendant que vous êtes dans le Gestionnaire de configuration SQL Server, il peut être utile de vous assurer que le Navigateur SQL Server le service est en cours d'exécution et défini sur Automatique. Vous pouvez voir l'état des services dans le Services SQL Server branche d'arbre. Les différents services sont répertoriés dans le volet droit,

Gestionnaire de configuration SQL - Services

Double-cliquez sur le Navigateur SQL Server service pour modifier ses propriétés et garantir la Mode de démarrage est réglé sur Automatique.

Configuration du client – comment créer un alias SQL Server (simple et officiel)

Exécutez le Gestionnaire de configuration SQL Server, Programmes -> Microsoft SQL Server 2005 (ou 2008) -> Outils de configuration.

Ouvrez le Configuration de SQL Native Client 10.0 branche d'arbre (pour les systèmes 64 bits, vous aurez une branche spécifique 32 bits et une branche par défaut, 64 bits), et mettez Alias option.

Gestionnaire de configuration SQL - Alias

Tous les alias actuels sont affichés dans le volet droit. Pour créer un alias, faites un clic droit et sélectionnez Nouvel alias. Pour modifier un alias existant, double-cliquez sur le nom de l'alias. Vous modifiez les détails dans la boîte de dialogue d'alias,

Gestionnaire de configuration SQL - Boîte de dialogue Alias

Dans cette boîte de dialogue, l'alias est appelé NUnitAlias, le protocole a été défini sur TCP / IPet l'instance SQL Server est définie sur 6910p-WIN7BETA-SQL2005dev. Lorsqu'un client se connecte à l'aide du nom d'instance NUnitAlias il se connectera à 6910p-WIN7BETA-SQL2005dev en utilisant le TCP / IP protocole.

Configuration du client – comment créer un alias SQL Server (manière rapide, sale et non officielle)

Vous avez peut-être remarqué que pour configurer un alias, nous utilisions le Gestionnaire de configuration SQL Server, qui fait partie de l'ensemble des outils client SQL Server. J'ai décidé de prouver que c'était tout ce dont vous aviez besoin (c'est-à-dire que vous n'avez pas besoin d'installer une instance SQL Server réelle) en téléchargeant ces outils. Sauf que vous ne pouvez pas, eh bien, pas en tant qu'installation autonome.

J'ai attrapé mon DVD MSDN SQL 2008 R2 le plus proche, et bien que SQL Server Native Client ait une installation distincte, les outils client ne l'ont pas fait. J'ai donc installé SQL Server Express, en sélectionnant une option personnalisée, en installant uniquement les outils de gestion – Basic et Kit de connectivité client SQL SDK.

Cela a bien fonctionné, mais j'étais mal à l'aise avec cette quantité d'efforts et un ou deux Bing plus tard, j'ai trouvé cet article de blog SQL utile de 2007,

http://blogs.msdn.com/sql_protocols/archive/2007/01/07/connection-alias.aspx

Donc, tout est dans le registre, c'est aussi simple que ça. J'ai testé cette théorie sur une installation propre de Windows 7 Ultimate fonctionnant comme une machine virtuelle sous VirtualBox. J'ai ajouté la clé de Registre ConnectTo et une valeur pour un alias et utilisé un simple fichier UDL pour tester une connexion via Microsoft OLE DB pour SQL Server en utilisant l'alias que j'ai entré dans le registre,

Éditeur du Registre - Clé par défaut

Il m'est venu à l'esprit que sur un système d'exploitation 64 bits, s'il n'y avait qu'une seule clé de registre, pourquoi aurions-nous besoin de créer deux alias. Les paramètres de registre affichés dans l'image ci-dessus sont ceux par défaut pour le système d'exploitation; pour un système d'exploitation 32 bits, c'est pour les clients 32 bits, pour un système d'exploitation 64 bits, c'est pour les clients 64 bits.

Pour un système d'exploitation 64 bits, les valeurs d'alias client 32 bits sont stockées dans un Wow6432Node comme indiqué ici,

Éditeur du Registre - Client 32 bits sur un système d'exploitation 64 bits

Résumé

Voilà donc vraiment, des alias pour les systèmes 32 bits et 64 bits, y compris une nouvelle découverte très pratique de la définition des valeurs d'alias directement via le registre. Avec la solution de registre, vous pouvez inclure des configurations d'alias dans le contrôle de version et utiliser des fichiers .reg simples pour configurer des alias à la volée (utile dans un script de serveur CI) afin que vous n'ayez plus à maintenir une myriade de paramètres de configuration d'application pour chaque instance de serveur vous voudrez peut-être utiliser.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.