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

SQL सर्वर 2005 और 2008 पर TCP सक्षम करने के लिए रजिस्ट्री सेटिंग्स क्या हैं?

जब तक आपके पास सीधे रजिस्ट्री को संशोधित करने का कोई अच्छा कारण न हो, मेरा सुझाव है कि आप WMI . का उपयोग करने पर विचार करें . WMI आपको अधिक संस्करण अज्ञेयवादी कार्यान्वयन प्रदान करेगा। WMI को System.Management के माध्यम से एक्सेस किया जा सकता है नाम स्थान आपके पास ऐसा कोड हो सकता है जो कुछ इस तरह दिखता हो।

public void EnableSqlServerTcp(string serverName, string instanceName)
{
    ManagementScope scope =
            new ManagementScope(@"\\" + serverName +
                                @"\root\Microsoft\SqlServer\ComputerManagement");
    ManagementClass sqlService =
            new ManagementClass(scope,
                                new ManagementPath("SqlService"), null);
    ManagementClass serverProtocol =
            new ManagementClass(scope,
                                new ManagementPath("ServerNetworkProtocol"), null);

    sqlService.Get();
    serverProtocol.Get();

    foreach (ManagementObject prot in serverProtocol.GetInstances())
    {
        prot.Get();
        if ((string)prot.GetPropertyValue("ProtocolName") == "Tcp" &&
            (string)prot.GetPropertyValue("InstanceName") == instanceName)
        {
            prot.InvokeMethod("SetEnable", null);
        }
    }

    uint sqlServerService = 1;
    uint sqlServiceStopped = 1;
    foreach (ManagementObject instance in sqlService.GetInstances())
    {
        if ((uint)instance.GetPropertyValue("SqlServiceType") == sqlServerService &&
            (string)instance.GetPropertyValue("ServiceName") == instanceName)
        {
            instance.Get();
            if ((uint)instance.GetPropertyValue("State") != sqlServiceStopped)
            {
                instance.InvokeMethod("StopService", null);
            }
            instance.InvokeMethod("StartService", null);
        }
    }
}

यह कोड System.Management.dll . के लिए एक प्रोजेक्ट संदर्भ मानता है और निम्नलिखित कथन का उपयोग करते हुए:

using System.Management;

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 सर्वर के लिए सबसे तेज़ तरीका सम्मिलित करता है, अद्यतन करता है, चयन करता है

  2. मैं SQL सर्वर में किसी XML मान से तत्व नामों की सूची कैसे प्राप्त कर सकता हूं?

  3. एसक्यूएल:ओवर () में कहां क्लॉज का उपयोग करें?

  4. SQL सर्वर SHOWPLAN_TEXT

  5. स्कोप_पहचान बनाम पहचान_वर्तमान