2010-03-05 14 views
10

के साथ SQL सर्वर 2008 से कनेक्ट करें जब मैं SQL सर्वर प्रबंधन स्टूडियो से टीसीपी/आईपी से कनेक्ट करने का प्रयास करता हूं तो मुझे निम्न त्रुटि मिलती है। मुझे अपनी समस्या का समाधान करने के लिए चरण-दर-चरण विवरण की आवश्यकता है। यहाँ क्या गलत है?टीसीपी/आईपी

Cannot connect to 
=================================== 

A network related or instance specific error when a connection to SQL Server... 
(provider: Named pipe-provider, error: 40 - SQL Server) 
(.Net SqlClient Data Provider) 

------------------------------ 
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=53&LinkId=20476 

------------------------------ 
Error Number: 53 
Severity: 20 
State: 0 

------------------------------ 
Program Location: 

    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 
    at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) 
    at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) 
    at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) 
    at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) 
    at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) 
    at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) 
    at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) 
    at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
    at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
    at System.Data.SqlClient.SqlConnection.Open() 
    at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ObjectExplorer.ValidateConnection(UIConnectionInfo ci, IServerType server) 
    at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser() 
+9

सलाह का एक दोस्ताना टुकड़ा: कुछ भी मांग न करें, यानी जब आपने कहा "मैं अपनी समस्या को हल करने के लिए चरणबद्ध कदम उठाना चाहता हूं। .. "। यह गलत इंप्रेशन देता है; हम यहां सभी स्वयंसेवक हैं। –

+0

ठीक है, माफ करना ... इस तरह की आवाज सुनने का मेरा अर्थ नहीं था .... – MCOL

+0

सभी संभावनाओं में, या तो आपका क्लाइंट या आपका सर्वर (या दोनों) आपके एसक्यूएल सर्वर परिवहन के रूप में टीसीपी/आईपी को अनुमति देने के लिए सेटअप नहीं हैं। – RBarryYoung

उत्तर

4

www.connectionstrings.com पर एक नज़र डालें। त्रुटि संदेश ऐसा लगता है कि आप नामित पाइप का उपयोग कर रहे हैं और टीसीपी/आईपी नहीं। भूलें कि आपको SQL सर्वर के लिए सर्वर मशीनों पर टीसीपी/आईपी को स्पष्ट रूप से सक्षम करना होगा।

+0

धन्यवाद..लेकिन मैं एक टीसीपी/आईपी नंबर – MCOL

+0

का उपयोग कर रहा हूं यदि आप अपने सर्वर को डिफ़ॉल्ट पोर्ट का उपयोग न करने के लिए सेट करते हैं, तो आप एक उपनाम जोड़ना चाहते हैं या बंदरगाह को स्पष्ट रूप से बता सकते हैं। यह एक उदाहरण के रूप में पोस्ट यूआरएल पर होना चाहिए। इसके अलावा, फ़ायरवॉल और कनेक्शन स्ट्रिंग पर दी गई टिप्पणियों को समाधान का कारण बनना चाहिए। – Sascha

2

क्या आप 200% सुनिश्चित हैं कि आपका सर्वर टीसीपी/आईपी के माध्यम से कनेक्शन स्वीकार करने के लिए सेटअप है?

+0

हाँ मुझे यकीन है ..... – MCOL

+0

सर्वर पर आप कनेक्ट करने का प्रयास कर रहे हैं, SQL सर्वर कॉन्फ़िगरेशन प्रबंधक, नेटवर्क कॉन्फ़िगरेशन चलाएं, टीसीपी/आईपी सक्षम है (ऊपर के संबंध में)। यह सुनिश्चित करने के लिए कि आप उनमें से किसी एक से कनेक्ट करने का प्रयास कर रहे हैं, आईपी पते (डबल क्लिक करके) की सूची भी देखें। – CResults

13

जब आप SQL सर्वर नेटवर्क कॉन्फ़िगरेशन (Start Menu > Microsoft SQL Server > Configuration Tools > SQL Server Configuration Manager > SQL Server Network Configuration) की जांच करते हैं, तो आप क्या देखते हैं?

alt text http://i50.tinypic.com/5lpcpk.png

टीसीपी/आईपी प्रोटोकॉल वास्तव में अपने सर्वर पर सक्षम है? यह डिफ़ॉल्ट रूप से बंद है, और अधिकांश मामलों में बंद रहता है (जब तक कि आप इसे विशेष रूप से चालू नहीं करते)।

बस एक आईपी आधारित सर्वर पते का उपयोग कर मतलब यह नहीं है कि आप टीसीपी/आईपी प्रोटोकॉल का उपयोग कर कनेक्ट कर रहे हैं .... एक नमूना कनेक्शन स्ट्रिंग के लिए http://www.connectionstrings.com/sql-server-2008 जाँच करें कि होगा उपयोग टीसीपी/आईपी:

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword; 

कुंजी Network Library=DBMSSOCN; है जो आपके कोड को टीसीपी/आईपी का उपयोग करके कनेक्ट करने के लिए बताती है।

+1

टीसीपी/आईपी सक्षम है ... – MCOL

+0

सर्वर और क्लाइंट पक्ष पर ?? क्लाइंट साइड पर प्रोटोकॉल का अनुक्रम क्या है? जब तक आप स्पष्ट रूप से निर्दिष्ट नहीं करते कि कौन सा उपयोग करना है, तो SQL सर्वर क्लाइंट सूची में पहले सक्षम एक को चुन देगा। यह "एसक्यूएल मूल क्लाइंट कॉन्फ़िगरेशन" के तहत है –

0

इस का पालन करें:

प्रारंभ -> कार्यक्रम -> माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 -> विन्यास उपकरण -> एसक्यूएल सर्वर कॉन्फ़िगरेशन मैनेजर

एसक्यूएल सर्वर नेटवर्क विन्यास - के लिए> प्रोटोकॉल [SQLInstanceName ]

सही टीसीपी/आईपी क्लिक करें -> सक्षम करें

+1

हो गया..लेकिन यह काम नहीं करता ..... – MCOL

0

टीसीपी/आईपी alre है एडी सक्षम है तो ऐसा लगता है जैसे आपकी फ़ायरवॉल कनेक्शन को अवरुद्ध कर रही है। प्रासंगिक बंदरगाह खोलें और इसे काम करना चाहिए।

आपको कनेक्शन के दोनों सिरों पर फ़ायरवॉल की जांच करनी चाहिए।

3

इस को विन्यस्त, डेटाबेस सर्वर

  • डेटाबेस सर्वर
  • फ़ायरवॉल
  • के माध्यम से टीसीपी यातायात की अनुमति दे लिए दूरस्थ कनेक्शन सक्षम के लिए टीसीपी/आईपी प्रोटोकॉल को सक्षम करने से

    • सहित के लिए एक अच्छा पूर्वाभ्यास है

    http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx पर।

    17

    जो चीज़ मैं आमतौर पर भूल जाता हूं वह यह है कि यदि आप SQL सर्वर सर्वर-> प्रोटोकॉल में MSSQLServer के लिए सक्षम टीसीपी को चिह्नित करते हैं, तो भी आपको अपने सर्वर के संभावित संभावित आईपी पते को जाने और सक्षम करने की आवश्यकता है। यहां तक ​​कि एक एकल एनआईसी वाले सर्वर में मल्टीपे आईपी पते होंगे।

    1. ऊपर सूचीबद्ध अनुसार MSSQLServer के प्रोटोकॉल पर क्लिक करें।
    2. फिर दाईं ओर फलक टीसीपी/आईपी सक्षम करता है।
    3. अब एक संवाद विंडो प्राप्त करने के लिए टीसीपी/आईपी पर डबल क्लिक करें।
    4. यदि आप सर्वर के लिए सभी आईपी पते पर सुनना चाहते हैं तो में हाँ चुनें पहले प्रोटोकॉल टैब पर सभी बॉक्स सुनें; अन्यथा
    5. आईपी पता टैब का चयन करें और सक्षम को हां में सेट करके वांछित आईपी पते सक्षम करें।

    enter image description here

    +0

    अगर कोई दिलचस्पी लेता है कि इसे स्क्रिप्ट से कैसे किया जाए: http://promikro.com.pl/2013/09/18/mssql2012expr-en-ip-addrs-problem/ – SOReader

    8

    इसके अलावा यह जांच करना कि SQL सर्वर ब्राउज़र सेवा इस सेवा

    +1

    यह मेरे लिए क्या किया गया है। मैंने एक ही समय में "एसक्यूएल सर्वर एजेंट" चालू कर दिया। इस सुझाव के लिए धन्यवाद एक टन। – DustinA

    -1

    का उपयोग करेगा टीसीपी/आईपी कनेक्शन के रूप में चल रहा है और मूल्य - आप एसक्यूएल सर्वर विन्यास के प्रोटोकॉल स्क्रीन में बदल सकते हैं प्रबंधक लेकिन एसक्यूएल सर्वर सेवा पुनरारंभ होने तक यह प्रभावी नहीं होगा। मैं बस रीबूट करता हूं - यह सुनिश्चित करने का एकमात्र तरीका है (एलियंस वहां संदर्भित है :)