بهار آموزش با تخفیف های شگفت انگیز توسینسو بهار آموزش با تخفیف های شگفت انگیز توسینسو
مانده تا پایان تخفیف
مشاهده دوره ها
0

برای بدست آوردن instance های sql server از طریق کدنویسی

با سلام و خسته نباشید خدمت شما

من چند instance برای sql server ایجاد کردم نام آنها را هم می دانم فقط خواستم بدونم که آیا می شود از طریق کدنویسی sql server نام instance ها را بدست آورد؟

ممنون می شوم راهنمایی کنید.

پرسیده شده در 1396/10/23 توسط

5 پاسخ

1

سلام، بله امکانش هست. اگر از زبان سی شارپ استفاده می کنید طبق کد زیر و بوسیله کلاس 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 برداشت شده.

پاسخ در 1396/10/23 توسط
0

با سلام و خسته نباشید خدمت شما دوست عزیز

جناب آقای مهندس حسین احمدی عزیز از بابت کدی که برای من زحمت کشیدید واقعا ممنونم لطف کردید.

جناب آقای مهندس حتی من یک instance دارم در سیستم خودم که مشکل دارد و سرویس آن start نمی شود با این وجود کد شما آنرا به درستی لیست نکرد بازم ممنونم.

و حتی در سیستم خودم ۲ تا sql server 2014 و ۲۰۱۶ دارم و به درستی instance های هر کدام را لیست کرد ممنونم.

پاسخ در 1396/10/24 توسط
0

با سلام و خسته نباشید خدمت شما دوست عزیز و گرامی

جناب آقای مهندس از بابت توجه شما بسیار ممنونم اما من کد sql server را می خواستم آیا برای شما مقدور هست که کد sql server را بگذارید باسپاس از شما

پاسخ در 1396/10/23 توسط
0

سلام

این دستور میتونه کمکت کنه.

SELECT @@servicename

پاسخ در 1396/10/24 توسط
1

سلام مجدد، کوئری زیر از داخل 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 
پاسخ در 1396/10/24 توسط

پاسخ شما