برای بدست آوردن instance های sql server از طریق کدنویسی
با سلام و خسته نباشید خدمت شما
من چند instance برای sql server ایجاد کردم نام آنها را هم می دانم فقط خواستم بدونم که آیا می شود از طریق کدنویسی sql server نام instance ها را بدست آورد؟
ممنون می شوم راهنمایی کنید.
5 پاسخ
سلام، بله امکانش هست. اگر از زبان سی شارپ استفاده می کنید طبق کد زیر و بوسیله کلاس System.Data.Sql.SqlDataSourceEnumerator این کار انجام میشه:
using System.Data.Sql;
class Program
{
static void Main()
{
// Retrieve the enumerator instance and then the data.
SqlDataSourceEnumerator instance =
SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();
// Display the contents of the table.
DisplayData(table);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
private static void DisplayData(System.Data.DataTable table)
{
foreach (System.Data.DataRow row in table.Rows)
{
foreach (System.Data.DataColumn col in table.Columns)
{
Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);
}
Console.WriteLine("============================");
}
}
}
کد بالا از سایت Microsoft برداشت شده.
با سلام و خسته نباشید خدمت شما دوست عزیز
جناب آقای مهندس حسین احمدی عزیز از بابت کدی که برای من زحمت کشیدید واقعا ممنونم لطف کردید.
جناب آقای مهندس حتی من یک instance دارم در سیستم خودم که مشکل دارد و سرویس آن start نمی شود با این وجود کد شما آنرا به درستی لیست نکرد بازم ممنونم.
و حتی در سیستم خودم ۲ تا sql server 2014 و ۲۰۱۶ دارم و به درستی instance های هر کدام را لیست کرد ممنونم.
با سلام و خسته نباشید خدمت شما دوست عزیز و گرامی
جناب آقای مهندس از بابت توجه شما بسیار ممنونم اما من کد sql server را می خواستم آیا برای شما مقدور هست که کد sql server را بگذارید باسپاس از شما
سلام
این دستور میتونه کمکت کنه.
SELECT @@servicename
سلام مجدد، کوئری زیر از داخل Registry لیست Instance ها رو براتون برمیگردونه:
DECLARE @GetInstances TABLE ( Value nvarchar(100), InstanceNames nvarchar(100), Data nvarchar(100)) Insert into @GetInstances EXECUTE xp_regread @rootkey = 'HKEY_LOCAL_MACHINE', @key = 'SOFTWARE\Microsoft\Microsoft SQL Server', @value_name = 'InstalledInstances' Select InstanceNames from @GetInstances