2010-05-03 15 views

उत्तर

15
exec 

('CREATE TABLE DatabaseName.dbo.TableName 
(
    column1 datatype, 
    column2 datatype, 
    column3 datatype 
)') at [LinkedServer] 
+0

यह मेरे लिए काम नहीं करता है। संदेश 7411, स्तर 16, राज्य 1, रेखा 1 सर्वर 'MyLinkedServer' RPC के लिए कॉन्फ़िगर नहीं किया गया है। – brewmanz

+0

पुरानी समस्या, लेकिन जैसा कि कोई भी उत्तर नहीं दिया, यहां त्रुटि का समाधान है: '' MyLinkedServer 'RPC के लिए कॉन्फ़िगर नहीं किया गया है "। –

+0

निष्पादन समाधान SQL सर्वर के रूप में लिंक किए गए सर्वर पर "तालिका बनाएं" कथन नहीं भेजता है। यह इसे एक स्ट्रिंग के रूप में भेजता है जो बदले में रिमोट सर्वर पर एक प्रक्रिया के रूप में निष्पादित किया जाता है। आरपीसी त्रुटि आती है क्योंकि लिंक किए गए सर्वर-कनेक्शन पीआर। डिफ़ॉल्ट आपको प्रक्रियाओं को रिमोट निष्पादित करने की अनुमति नहीं देता है। इसे हल करने के लिए: लिंक किए गए सर्वर पर उचित खोलें। [सर्वर विकल्प] पृष्ठ पर, आरपीसी और आरपीसी आउट विकल्पों को सत्य के रूप में सेट करें। मैं स्क्रीन शॉट के साथ एक पोस्ट जोड़ रहा हूँ। –

1

आप SQL सर्वर प्रबंधन स्टूडियो और SQLCMD मोड का उपयोग कर रहे हैं:

-- To enable "SQLCMD mode" in SQL Server Management Studio (SSMS): 
-- In the menu toolbar: Query > SQLCMD mode 

:setvar LinkedServer "YourLinkedServerNameHere" 
:setvar DestinationDb "YourDestinationDatabaseNameHere" 
GO 

EXEC (' 
CREATE TABLE $(DestinationDb).dbo.YourTableNameHere (
    [Field1] INT NOT NULL, 
    [Field2] INT NOT NULL 
) 
') AT $(LinkedServer) 
GO 

EXEC ('DROP TABLE $(DestinationDb).dbo.YourTableNameHere') AT $(LinkedServer) 
GO 
+0

यह मेरे लिए असफल रहा: संदेश 7411, स्तर 16, राज्य 1, रेखा 5 सर्वर 'MyLinkedServer' RPC के लिए कॉन्फ़िगर नहीं किया गया है। – brewmanz

1

अर्पित से समाधान ठीक काम करता है।

exec 

('CREATE TABLE DatabaseName.dbo.TableName 
(
    column1 datatype, 
    column2 datatype, 
    column3 datatype 
)') at [LinkedServer]; 
go 

कैसे कभी, जब आप त्रुटि मिलती है "संदेश 7411, स्तर 16, राज्य 1, पंक्ति 1 सर्वर 'MyLinkedServer' आरपीसी के लिए कॉन्फ़िगर नहीं है।" आपको लिंक किए गए सर्वर कनेक्शन पर आरपीसी-पैरामीटर को बदलने की जरूरत है। चूंकि डिफ़ॉल्ट आरपीसी गलत पर सेट है। इसे सत्य पर सेट करने की जरूरत है।

Linked server options

यह आप लिंक किए गए सर्वर पर प्रक्रियाओं को चलाने के लिए अनुमति देता है। आपको इसे अनुमति देना चाहिए क्योंकि समाधान लिंक किए गए सर्वर पर SQL कमांड के रूप में "तालिका बनाएं" कथन नहीं भेजता है। यह कथन को एक स्ट्रिंग के रूप में भेजता है जो बदले में रिमोट सर्वर पर एक प्रक्रिया के रूप में निष्पादित किया जाता है।

उम्मीद है कि इससे मदद मिलती है।

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