J'essaie de déterminer quelles instances de SQL Server / SQL Express j'ai installées (manuellement ou par programme), mais tous les exemples me disent d'exécuter une requête SQL pour le déterminer, ce qui suppose que je suis déjà connecté à une instance particulière .
224
Réponses:
Sur une ligne de commande:
ou
(Remarque: doit être un L majuscule)
Cela répertoriera tous les serveurs SQL installés sur votre réseau. Il existe des options de configuration que vous pouvez définir pour empêcher un serveur SQL de s'afficher dans la liste. Pour faire ça...
Sur la ligne de commande:
Dans la liste des protocoles activés, sélectionnez «TCP / IP», puis cliquez sur propriétés. Il y a une case à cocher pour «Masquer le serveur».
la source
C:\> sqllocaldb i
Vous pouvez interroger cette valeur de registre pour obtenir directement la version SQL:
Vous pouvez également interroger le nom de votre instance, puis utiliser sqlcmd avec le nom de votre instance que vous souhaitez:
Pour voir le nom de votre instance:
Exécutez ensuite ceci:
Si vous utilisez C ++, vous pouvez utiliser ce code pour obtenir les informations de registre.
la source
Toutes les instances installées doivent apparaître dans le composant logiciel enfichable Services de la console de gestion Microsoft. Pour obtenir les noms d'instance, accédez à Démarrer | Run | tapez Services.msc et recherchez toutes les entrées avec "Sql Server (Instance Name)".
la source
Get-Service | ?{ $_.Name -like "MSSQL*" }
- Requête T-SQL pour trouver la liste des instances installées sur une machine
la source
sa
n'est-ce pas?Je sais que ce fil est un peu ancien, mais je suis tombé sur ce fil avant de trouver la réponse que je cherchais et de penser partager. Si vous utilisez SQLExpress (ou localdb), il existe un moyen plus simple de trouver vos noms d'instance. Sur une ligne de commande, tapez:
Cela répertorie les noms d'instance que vous avez installés localement. Le nom complet de votre serveur doit donc inclure (localdb) \ devant le nom de l'instance à connecter. En outre, sqllocaldb vous permet de créer de nouvelles instances ou de les supprimer ainsi que de les configurer. Voir: Utilitaire SqlLocalDB .
la source
Si vous voulez simplement voir ce qui est installé sur la machine à laquelle vous êtes actuellement connecté, je pense que le processus manuel le plus simple consiste à simplement ouvrir le Gestionnaire de configuration SQL Server (à partir du menu Démarrer), qui affiche tous les services SQL (et services SQL uniquement ) sur ce matériel (en cours d'exécution ou non). Cela suppose que SQL Server 2005 ou supérieur; La recommandation de dotnetengineer d'utiliser la console de gestion des services vous montrera tous les services et devrait toujours être disponible (si vous utilisez des versions antérieures de SQL Server, par exemple).
Si vous recherchez un processus de découverte plus large, cependant, vous pouvez envisager des outils tiers tels que SQLRecon et SQLPing, qui analyseront votre réseau et créeront un rapport de toutes les instances de service SQL trouvées sur n'importe quel serveur auquel ils ont accès. Cela fait un moment que je n'ai pas utilisé des outils comme celui-ci, mais j'ai été surpris de ce qu'ils ont trouvé (à savoir, une poignée d'exemples que je ne connaissais pas). YMMV. Vous pouvez rechercher des détails sur Google, mais je pense que cette page contient les téléchargements appropriés: http://www.sqlsecurity.com/Tools/FreeTools/tabid/65/Default.aspx
la source
SQL Server permet aux applications de trouver des instances SQL Server dans le réseau actuel. La classe SqlDataSourceEnumerator expose ces informations au développeur de l'application, fournissant un DataTable contenant des informations sur tous les serveurs visibles. Ce tableau renvoyé contient une liste des instances de serveur disponibles sur le réseau qui correspond à la liste fournie lorsqu'un utilisateur tente de créer une nouvelle connexion et développe la liste déroulante contenant tous les serveurs disponibles dans la boîte de dialogue Propriétés de connexion. Les résultats affichés ne sont pas toujours complets. Pour récupérer la table contenant des informations sur les instances SQL Server disponibles, vous devez d'abord récupérer un énumérateur, en utilisant la propriété Instance partagée / statique:
depuis msdn http://msdn.microsoft.com/en-us/library/a6t1z9x2(v=vs.80).aspx
la source
SqlDataSourceEnumerator
n'est pas encore implémenté, mais est sur la liste à ajouter en fonction du problème GitHub .Service de navigateur SQL Server http://msdn.microsoft.com/en-us/library/ms181087.aspx
la source
Si vous souhaitez déterminer cela dans un script, vous pouvez essayer ce qui suit:
Remarque: grep fait partie des outils gnuwin32
la source
findstr
au lieu degrep
pour cela.Depuis la ligne de commande Windows, saisissez:
Où "nom_serveur" est le nom de tout serveur distant sur lequel vous souhaitez afficher les instances SQL.
Cela nécessite bien sûr suffisamment d'autorisations.
la source
Cette requête devrait vous obtenir le nom du serveur et le nom de l'instance:
la source
J'ai eu le même problème. La commande "osql -L" n'affichait qu'une liste de serveurs mais sans nom d'instance (seule l'instance de mon serveur SQL local était affichée). Avec Wireshark, sqlbrowser.exe (qui se trouve dans le dossier partagé de votre installation SQL), j'ai trouvé une solution à mon problème.
L'instance locale est résolue par une entrée de registre. Les instances distantes sont résolues par diffusion UDP (port 1434) et SMB. Utilisez "sqlbrowser.exe -c" pour répertorier les demandes.
Ma configuration utilise 1 carte réseau physique et 3 cartes réseau virtuelles. Si j'ai utilisé la commande "osql -L", le sqlbrowser a affiché une demande de l'un des adaptateurs virtuels (qui se trouve dans un autre segment de réseau), au lieu de celui physique. osql sélectionne l'adpater par sa métrique. Vous pouvez voir la métrique avec la commande "route print". Pour ma configuration, la table de routage a montré une métrique inférieure pour l'adaptateur virtuel puis pour le physique. J'ai donc changé la métrique d'interface dans les propriétés du réseau en désélectionnant la métrique automatique dans les paramètres réseau avancés. osql utilise désormais l'adaptateur physique.
la source
Une autre option consisterait à exécuter SQLSERVER discovery report..go sur le support d'installation de sqlserver et double-cliquer sur setup.exe
et dans l'écran suivant, accédez aux outils et cliquez sur le rapport de découverte comme indiqué ci-dessous
Cela vous montrera toutes les instances présentes ainsi que des fonctionnalités entières ... ci-dessous est un instantané sur mon PC
la source
Je viens d'installer Sql server 2008, mais je n'ai pas pu me connecter à des instances de base de données. Les commandes @G Mastros publiées n'ont répertorié aucune instance active.
J'ai donc regardé dans les services et constaté que l'agent du serveur SQL était désactivé. Je l'ai corrigé en le réglant sur automatique puis en le démarrant.
la source
J'ai eu ce même problème lorsque j'évaluais plus de 100 serveurs, j'avais un script écrit en C # pour parcourir les noms de service constitués de SQL. Lorsque des instances sont installées sur le serveur, SQL Server ajoute un service pour chaque instance avec un nom de service. Il peut varier pour différentes versions comme 2000 à 2008, mais il existe certainement un service avec un nom d'instance.
Je prends le nom du service et j'obtiens le nom de l'instance à partir du nom du service. Voici l'exemple de code utilisé avec WMI Query Result:
la source
Voici une méthode simple: allez dans Démarrer puis Programmes puis Microsoft SQL Server 2005 puis Outils de configuration puis SQL Server Configuration Manager puis SQL Server 2005 Network Configuration puis Ici vous pouvez localiser toutes les instances installées sur votre machine.
la source
Je sais que c'est un ancien article, mais j'ai trouvé une bonne solution avec PoweShell où vous pouvez trouver des instances SQL installées sur une machine locale ou distante, y compris la version et également étendre pour obtenir d'autres propriétés.
la source
Les commandes
OSQL -L
etSQLCMD -L
vous montreront toutes les instances sur le réseau .Si vous souhaitez avoir une liste de toutes les instances sur le serveur et que vous ne souhaitez pas faire de script ou de programmation, procédez comme suit:
sqlsrvr.exe
imagesLes instances doivent être répertoriées dans la colonne "Nom d'utilisateur" comme
MSSQL$INSTANCE_NAME
.Et je suis passé de penser que le mauvais serveur exécutait 63 instances à se rendre compte qu'il en exécutait trois (dont l'un se comportait comme un intimidateur total avec la charge du processeur ...)
la source
Obtiendra les instances de la requête reg du serveur SQL "HKLM \ Software \ Microsoft \ Microsoft SQL Server \ Instance Names \ SQL"
ou utilisez SQLCMD -L
la source
Si vous êtes dans SSMS, vous pourriez trouver plus facile à utiliser:
la source