मैं दोनों के बीच मतभेदों की जांच के लिए दो SQL सर्वर डेटाबेस (विकास और लाइव वातावरण, SQL2005 और SQL2008 क्रमशः) की तुलना कर रहा हूं। यदि मैं प्रत्येक डेटाबेस के लिए एक स्क्रिप्ट उत्पन्न करता हूं तो अंतरों को हाइलाइट करने के लिए मैं एक साधारण पाठ तुलना का उपयोग कर सकता हूं।मैं जेनरेट की गई SQL स्क्रिप्ट के आउटपुट को कैसे क्रमबद्ध कर सकता हूं?
समस्या यह है कि स्क्रिप्ट को तुलना को कम करने और सरल मतभेदों से बचने के लिए एक ही क्रम में होने की आवश्यकता होती है जहां संग्रहित प्रक्रियाओं का क्रम अलग होता है, लेकिन उनकी सामग्री समान होती है।
तो अगर मैं विकास से उत्पन्न:
1: CREATE TABLE dbo.Table1 (ID INT NOT NULL, Name VARCHAR(100) NULL)
2: CREATE TABLE dbo.Table2 (ID INT NOT NULL, Name VARCHAR(100) NULL)
3: CREATE TABLE dbo.Table3 (ID INT NOT NULL, Name VARCHAR(100) NULL)
और यह लाइव से:
1: CREATE TABLE dbo.Table1 (ID INT NOT NULL, Name VARCHAR(100) NULL)
2: CREATE TABLE dbo.Table3 (ID INT NOT NULL, Name VARCHAR(100) NULL)
3: CREATE TABLE dbo.Table2 (ID INT NOT NULL, Name VARCHAR(100) NULL)
दो पर प्रकाश डाला लाइनों 2 और 3 के रूप में विभिन्न मुकाबले, लेकिन वे वास्तव समान हों, तो बस जेनरेट स्क्रिप्ट विज़ार्ड ने लाइव वातावरण पर टेबल 2 से पहले टेबल 3 किया था। 100 टेबल, संग्रहित प्रक्रियाओं, विचारों, आदि में जोड़ें और यह जल्दी ही एक गड़बड़ बन जाता है।
मेरे वर्तमान विकल्प हैं:
- मैन्युअल तुलना
- से पहले सामग्री को सॉर्ट एक विशेष क्रम
- एक फ्रीवेयर आवेदन है कि उत्पन्न स्क्रिप्ट सॉर्ट करता खोजें में स्क्रिप्ट बनाने के लिए एक कार्यक्रम बनाने के
- किसी उत्पाद के लिए भुगतान करें जो इसे टूल के अपने सूट के हिस्से के रूप में करता है
- (ऐसा करने का कोई अन्य तरीका)
उम्मीद है कि, मुझे केवल उस चेकबॉक्स को याद आ रहा है जो "नाम से लिपियों को सॉर्ट करें" कहता है, लेकिन मैं ऐसा कुछ भी नहीं देख सकता जो ऐसा करता है। मुझे नहीं लगता कि मुझे 'सॉर्ट आउटपुट' विकल्प या अन्य अनियंत्रित टूल के रूप में सरल कुछ के लिए भुगतान करना होगा, इसलिए विकल्प 4 केवल अंतिम उपाय होना चाहिए।
संपादित मैं दोनों के वातावरण के लिए पूरा उपयोग किया है, लेकिन लाइव पर्यावरण को लाइव तक पहुँचने के लिए विशिष्ट तरीका नीचे बंद कर दिया जाता है और आभासी सर्वरों पर होस्ट, दूरस्थ desktoping साथ। मेरी वरीयता है कि मैं विकास के लिए क्या कर सकता हूं और वहां तुलना कर सकता हूं। मैं अलग फ़ाइलों (टेबल, सपा के, कार्य, आदि)
आप शायद CREATE स्क्रिप्ट में टेक्स्ट अंतरों की तलाश करके डेटाबेस स्कीमा की तुलना में परेशानी के लिए पूछ रहे हैं, लेकिन शायद पहले सभी लाइनों को सॉर्ट करने के लिए नोटपैड 2 या कुछ ऐसा उपयोग करें? –
@ माइक: यदि वह वर्णमाला में लिपि में सभी पंक्तियों को टाइप करता है, तो वह कैसे बताने में सक्षम होगा कि विभिन्न वस्तुएं क्या हैं? – codeulike
कोई फ़ाइल तुलना उपकरण, जैसे "एफसी" .. –