2009-09-18 13 views
10

के साथ लिंक किए गए सर्वर को कैसे बनाएँ I एमएस एसक्यूएल सर्वर 2000 में एक एमएस एसक्यूएल सर्वर 2000 में एक लिंक सर्वर को पोर्ट एक्स (डिफ़ॉल्ट पोर्ट 1433 नहीं) पर चलाना है। लेकिन यह काम नहीं करता है, क्योंकि मैं कहीं भी बंदरगाह निर्दिष्ट नहीं कर सकता !?गैर-डिफ़ॉल्ट पोर्ट

sqlcmd (निर्दिष्ट पोर्ट एक्स निर्दिष्ट) का उपयोग करके, मैं बिना किसी समस्या के सर्वर से कनेक्ट कर सकता हूं - लेकिन मैं इसे एक लिंक किए गए सर्वर के रूप में सेट नहीं कर सकता।

यह कैसे किया जा सकता है?

उत्तर

6

नया लिंक सर्वर संवाद में, "अन्य डेटा स्रोत" का चयन करें, "एसक्यूएल सर्वर के लिए Microsoft OLE DB प्रदाता" अपने प्रदाता नाम के रूप में है, तो अपने प्रदाता स्ट्रिंग के रूप में इस का उपयोग करें:

Data Source=192.168.1.100,1433;Network Library=DBMSSOCN;Initial Catalog=yourdbname;User ID=username;Password=password; 

बदलें आईपी ​​और "1433" आपके आईपी और पोर्ट नंबर के साथ। कनेक्शन तार पर

और जानकारी: http://support.microsoft.com/kb/238949

+0

यही काम करेगा! क्या आपको पता है कि SQLNCLI प्रदाता के साथ यह काम करने का कोई तरीका है? – mjv

+1

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

7

एक और तरीका है प्राप्त करने के लिए इस (यह मानते हुए कि आप एसक्यूएल सर्वर में 8080 की स्थापना की है) निम्न कोड के साथ है:

EXEC sp_addlinkedserver 'myserver', '', 'SQLNCLI', 'xx.xx.xx.xx,8080' 

EXEC sp_addlinkedsrvlogin 'myserver', 'FALSE', NULL, 'user', 'pwd' 
6

शेन के सुझाव के आधार पर, एक उपनाम मेरे लिए काम किया।

(एसक्यूएल सर्वर 2008 R2):

  • ओपन SQL सर्वर कॉन्फ़िगरेशन मैनेजर
  • विस्तृत "एसक्यूएल सर्वर कॉन्फ़िगरेशन मैनेजर (स्थानीय)"
  • विस्तृत "एसक्यूएल मूल क्लाइंट 10.0 विन्यास (32 बिट)"
  • "उपनाम"
  • दाईं ओर उर्फ ​​सूची में राइट क्लिक करें, और चुनें "नई उर्फ"
  • "उपनाम"
  • क्लिक करें जो कुछ भी y है कहां लिंक किए गए सर्वर को संदर्भित करना चाहते हैं।
  • "पोर्ट नंबर" आपका गैर-डिफ़ॉल्ट पोर्ट है।
  • "प्रोटोकॉल" निर्भर करता है, लेकिन आप इसे "टीसीपी/आईपी" के रूप में छोड़ सकते हैं।
  • "सर्वर" उस सर्वर का पता है जिसे आप कनेक्ट करने का प्रयास कर रहे हैं (पोर्ट सहित नहीं)।

एक उपनाम इस तरह से मेरे साथ "एसक्यूएल के रूप में सर्वर प्रकार किसी लिंक किए गए सर्वर को जोड़ने की अनुमति जोड़ा जा रहा है (के लिए" एसक्यूएल मूल क्लाइंट 10.0 विन्यास "(शून्य '32 बिट' पाठ) चरणों को दोहराएँ) सर्वर ", को विन्यस्त प्रदाता विकल्प के बिना, आदि

0

ध्यान दें कि 4-भाग प्रश्नों कुछ ऐसा दिखाई देगा:

SELECT * FROM [SQLSERVER,14333].[DATABASE].[dbo].[Table1] 
0

मैं आज क्या करने के साथ-साथ (गैर डिफ़ॉल्ट के साथ किसी लिंक किए गए सर्वर जोड़ने के लिए किया था बंदरगाह)। मेरे मामले में यह एक SQL सर्वर 2014 लिंक सर्वर को SQL सर्वर 2016 में जोड़ रहा था।

कदम एसक्यूएल सर्वर प्रबंधन स्टूडियो का उपयोग कर:

  1. ओपन SSMS और सर्वर वस्तुओं के लिए जाना> लिंक सर्वर> नई लिंक्ड सर्वर लिंक्ड सर्वर ip-address-of-linked-server\instance-name,non-default-port या, 192.168.10.5\dev-sql,25250 के लिए इस प्रारूप
  2. का प्रयोग करें। इंस्टेंस नाम केवल तभी जरूरी है जब वह उदाहरण लक्षित लिंक सर्वर पर डिफ़ॉल्ट उदाहरण न हो। साथ ही, यदि आप जुड़े हुए सर्वर आपके स्थानीय नेटवर्क पर हैं तो आप होस्ट नाम से आईपी एड्रेस को प्रतिस्थापित कर सकते हैं। सर्वर प्रकार

  3. के लिए

  4. चुनें एसक्यूएल सर्वर सुरक्षा टैब

  5. क्वेरी नए सर्वर प्रारूप SQLDBA जैसे निर्दिष्ट above का उपयोग कर का उपयोग कर कनेक्ट करने के लिए आवश्यक किसी भी साख जोड़ें।

example screenshot

यही बात T-SQL का उपयोग कर:

EXEC master.dbo.sp_addlinkedserver @server = N'192.168.10.5\dev-sql,25250', @srvproduct=N'SQL Server'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.10.5\dev-sql,25250',@useself=N'False',@locallogin=NULL,@rmtuser=N'my_username',@rmtpassword='my_pswd'

संबंधित मुद्दे