PDA

View Full Version : سوال: گرفتن نام سرو های موجود داخل سیستم



hercool
جمعه 19 مهر 1392, 23:35 عصر
سلام دوستان
یه سوال دارم
چطور می تونم لیست سرور های sql سیستم رو بگیرم بدون اینکه برم بگردم بصورت دستی کدش چی هست ممنون میشم راهنماییم کنید
و دومین سوال ایا میشه نام سرور رو به کل عوض کرد؟

Reza_Yarahmadi
شنبه 20 مهر 1392, 07:59 صبح
میتونید بصورت زیر عمل کنید
using Microsoft.SqlServer.Management.Smo.Wmi;
....

ManagedComputer mc = new ManagedComputer();

foreach (ServerInstance si in mc.ServerInstances)
{
Console.WriteLine("The installed instance name is " + si.Name);
}

esafb52
شنبه 20 مهر 1392, 08:38 صبح
من قبلا میخواستم این کار رو بکنم از طریق ریجستری اطلاعات سرورها رو بگیری خیلی سرعت بیشتری نسبت به این روش داره

veniz2008
شنبه 20 مهر 1392, 17:56 عصر
سلام.
برای دریافت لیست Instance ها با استفاده از ریجیستری می تونید از قطعه کد زیر استفاده کنید :

List<string> listOfInstances = (Microsoft.Win32.Registry.LocalMachine.OpenSubKey(
@"SOFTWARE\Microsoft\Microsoft SQL Server").GetValue("InstalledInstances", "SQLSERVER IS NOT INSTALLED") as string[]).ToList();
listBox1.Items.AddRange(listOfInstances.ToArray()) ;
دقت کنید که پروژه رو در حالت AnyCpu اجرا کنید :

111791