Obtenir le nom de l'instance locale de sql server
Je suis totalement confus de la façon d'obtenir de l'instance locale de sql server. La seule chose que je reçois est le Serveur de noms. Voici les différentes approches que j'ai essayé:
DataTable availableServers = SmoApplication.EnumAvailableSqlServers([All of the 3 inputs]);
foreach (DataRow serverRow in availableServers.Rows)
{
//foreach row list "Name", "Server", "Instance" etc...
}
et
SqlDataSourceEnumerator sdse = SqlDataSourceEnumerator.Instance;
DataTable table = sdse.GetDataSources();
foreach (DataRow row in table.Rows)
{
//foreach row list "ServerName", "InstanceName", "IsClustered" and "Version"
}
et
ManagedComputer mc = new ManagedComputer();
ServerInstance instance = mc.ServerInstances;
Est-il un autre moyen que je peux obtenir de l'instance locale de sql server nom?
Je sais que lors de la connexion à SQL server management studio le dialogue de connexion s'affiche mon instance locale que .\sqlexpress ou (local)\sqlexpress. Aussi, lors du déploiement d'une base de données d'installation InstallShield l'InstallShield "localiser sqlserver"-dialogue obtient la bonne instance pour mon hôte local. Que font-ils corrects?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser ManagedComputer
Vous avez déjà atteint la mi-temps avec le deuxième exemple de code que vous avez posté. La DataTable retournée sera de 4 colonnes (Collection de colonnes)
ServerName
InstanceName
Propriétés isclustered
Version
Vous pouvez énumérer plus de cette collection pour obtenir les valeurs dans la Table de données, comme cela.