Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SqlDataSourceEnumerator.Instance.GetDataSources() स्थानीय SQL सर्वर 2008 आवृत्ति का पता नहीं लगाता है

आप उन सर्वरों को छोड़ रहे हैं जिनका नाम इंस्टेंस नहीं है। अपना कोड संशोधित करें:

public class SqlServerInstance
{
    public string ServerInstance { get; set; }
    public string Version { get; set; } 
}

public static List<SqlServerInstance> LocateSqlInstances()
{
    List<SqlServerInstance> results = new List<SqlServerInstance>();

    using (DataTable sqlSources = SqlDataSourceEnumerator.Instance.GetDataSources())
    {
        foreach (DataRow source in sqlSources.Rows)
        {
            string servername;
            string instancename = source["InstanceName"].ToString();

            if (!string.IsNullOrEmpty(instancename))
            {
                servername =  source["ServerName"].ToString() + '\\' + instancename;
            }
            else
            {
                servername = source["ServerName"].ToString();
            }

            results.Add(new SqlServerInstance (){ ServerInstance = servername, Version = source["Version"].ToString() });
        }
    }

    return results;
}

कृपया ध्यान दें:SqlDataSourceEnumerator.Instance.GetDataSources() कमियां हैं:

  • फ़ायरवॉल नियमों के अधीन (अवरुद्ध TCP/IP 1433 और UDP 1434)
  • यदि SQL ब्राउज़र बंद है तो SQL सर्वर नहीं ढूँढता
  • यदि SQL सर्वर छिपे हुए हैं तो उन्हें नहीं मिलता
  • सूची सामग्री दोहराने योग्य होने की गारंटी नहीं है (समय समाप्त होने के कारण)। वास्तव में, बाद की कॉल से नेटवर्क I/O, सर्वर प्रदर्शन, नेटवर्क पर सर्वरों की संख्या और अन्य समय-निर्भर बाधाओं के आधार पर एक अलग सूची देने की काफी संभावना है

कई स्रोतों का कहना है कि आपको SqlDataSourceEnumerator.Instance.GetDataSources() पर 2 कॉल करने होंगे। ...

संदर्भ:

  • SqlDataSourceEnumerator.Instance; सभी उदाहरण नहीं लौटा रहे हैं
  • EnumAvailableSqlServers या SqlDataSourceEnumerator - उपलब्ध डेटाबेस की गलत सूची
  • एसक्यूएल सर्वर की गणना करना
  • प्रोग्रामेटिक रूप से SQL सर्वरों को सूचीबद्ध करना


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में DATEDIFF () बनाम DATEDIFF_BIG ():क्या अंतर है?

  2. राउंड () SQL सर्वर में उदाहरण

  3. घटक 'तदर्थ वितरित क्वेरी' के "SQL सर्वर ने STATEMENT 'OpenRowset/OpenDatasource' तक पहुंच को अवरुद्ध कर दिया" को ठीक करें

  4. किसी विशिष्ट डेटाबेस के लिए अंतिम निष्पादित क्वेरी

  5. SQL सर्वर में डेटा कैसे डालें