मुझे एक संग्रहीत प्रक्रिया मिली है जो एक लिंक किए गए सर्वर को संदर्भित करता है। प्रक्रिया के दौरान कई स्थानों पर मुझे निम्नलिखित जैसा कुछ मिला है:
INSERT INTO [TableName]
(...Columns...)
SELECT ...Columns...
FROM [ServerName\InstanceName].[Catalogue].[dbo].[TableName]
WHERE TableNameID = @TableNameID
यह प्रक्रिया मेरे विकास परिवेश, परीक्षण वातावरण और लाइव वातावरण में मौजूद है।
समस्या यह है कि प्रक्रिया की प्रत्येक प्रति सूक्ष्म रूप से भिन्न होती है क्योंकि सर्वर नाम प्रत्येक वातावरण के लिए अलग-अलग होते हैं। यह स्क्रिप्ट अपडेट की तैनाती को परेशान करने वाला बनाता है।
क्या प्रक्रिया को पोर्टेबल बनाने का एक तरीका है ताकि प्रत्येक पर्यावरण इसके समान संस्करण चला सके?
यदि नहीं, तो क्या वहाँ कुछ भी है जो मैं स्क्रिप्ट तैनाती को गलतियों / त्रुटियों के लिए कम प्रवण बना सकता हूं?
SELECT <fields> FROM <linked server>
लेकिन कोड बनाए रखने के लिए सभी सर्वरों पर समान दृश्य नाम का उपयोग कर सकते हैं