Я совершенно не понимаю, как получить экземпляр локального сервера sql. Единственное, что я получаю, это имена серверов. Вот разные подходы, которые я пробовал:
DataTable availableServers = SmoApplication.EnumAvailableSqlServers([All of the 3 inputs]);
foreach (DataRow serverRow in availableServers.Rows)
{
// foreach row list "Name", "Server", "Instance" etc...
}
и
SqlDataSourceEnumerator sdse = SqlDataSourceEnumerator.Instance;
DataTable table = sdse.GetDataSources();
foreach (DataRow row in table.Rows)
{
// foreach row list "ServerName", "InstanceName", "IsClustered" and "Version"
}
и
ManagedComputer mc = new ManagedComputer();
ServerInstance instance = mc.ServerInstances;
Есть ли другой способ получить имя экземпляра локального сервера sql?
Я знаю, что при подключении к серверу SQL в Management Studio диалоговое окно подключения отображает мой локальный экземпляр как. \ Sqlexpress или (local) \ sqlexpress. Также при развертывании установки базы данных в InstallShield, InstallShield "locate sqlserver" -dialog получает правильный экземпляр для моего локального хоста. Что они делают правильно?