Bonjour,
Je cherche à savoir s'il y a un moyen de récupérer tous les servers sur lesquels tourne un sqlserver (2000, 2005 ou 2008) sur un réseau ?
Merci.
Version imprimable
Bonjour,
Je cherche à savoir s'il y a un moyen de récupérer tous les servers sur lesquels tourne un sqlserver (2000, 2005 ou 2008) sur un réseau ?
Merci.
1/ tu balaies le réseau pour détecter les ports TCP 1433 ouverts, avec nmap par exemple (http://nmap.org/), ce qui est valable pour les instances par défaut de SQL Server;
2/ Si l'installation des serveurs SQL est standard et le browser sql est démarré, tu peux utiliser le SqlDataSourceEnumerator, en powershell par exemple :
Code:[System.Data.Sql.SqlDataSourceEnumerator]::Instance.GetDataSources()
Tu peux aussi utiliser la commande :
Code:sqlcmd -Lc
Bonjour et Merci à vous deux.
@+
:ccool:
Les 2 méthodes citées dans le post marchent bien mais cependant elles ne sont pas parfaites car elles sont en générales limités aux instances SQL Server qui répondent (port par défaut et non cachés) ou aux services SQL Browser et au sous réseau local sur lequel tu te trouves (cf le post de rudib).
Une autre façon de faire est de passer par l'active directory et pour chaque objet d'ordinateur trouvé vérifier les services installés (MSSQLSERVER ou MSSQL$XXX). Cela peut prendre du temps en fonction de la topologie existante, nécessite certains droits dans le domaine mais cela donne des résultats plus probants
++
Merci bien de ces infos.
@+