2008-08-22 11 views
39

मैं एक ओपन सोर्स प्रोजेक्ट पर काम कर रहा हूं जो SQL सर्वर 2005 को डेटा स्टोर के रूप में उपयोग करता है। एक डीबी को एक संस्करण से दूसरे संस्करण में अपग्रेड करने में सक्षम होने के लिए हमें अलग-अलग स्क्रिप्ट उत्पन्न करने के लिए एक डीबी तुलना टूल की आवश्यकता है।क्या कोई ओपन सोर्स एसक्यूएल सर्वर डीबी तुलना उपकरण है?

क्या कोई खुला स्रोत या मुफ्त SQL सर्वर डीबी diff उपकरण है जो एक कन्वर्ट स्क्रिप्ट उत्पन्न करता है?

उत्तर

15

मुझे लगता है कि ओपन डीबीफ़ एक अच्छा काम करता है। यह आसान है और मैं SQL सर्वर 2005/2008 के साथ काम करता हूं।

लेकिन केवल परिवर्तन स्क्रिप्ट उत्पन्न करें। न कम न ज़्यादा।

+0

2012 के साथ भी काम करता प्रतीत होता है, हालांकि यह नई सुविधाओं और विकल्पों को अनदेखा कर सकता है जो संभावित रूप से लिखे जा सकते हैं –

5

यह ओपन सोर्स नहीं है, लेकिन नि: शुल्क है (बियर के रूप में): Sql Effects Accord (aka Clarity) Community Edition

+0

बस कोशिश की ... यह diff स्क्रिप्ट उत्पन्न नहीं करता है, इसलिए यह उपयोगी नहीं है। –

+0

उनके anno 2007 टूल के लिए पृष्ठ पर पंजीकरण भी टूटा हुआ है ... –

0

हम्म, कोई भी है कि मैं के बारे में पता। आप हमेशा एसक्यूएल के रूप में परिभाषाओं को पुनः प्राप्त कर सकते हैं और फिर उन पर एक diff उपकरण चला सकते हैं, लेकिन यह पीछे की ओर दर्द का थोड़ा सा है।

शायद इसके लिए सबसे अच्छा समाधान है, "माइग्रेशन" उपकरण किसी तरह का उपयोग कर रहा है, ताकि आप अपने कोड के साथ एक साथ अपने डेटाबेस परिभाषाओं रख सकते हैं, और उन्हें संस्करण, आदि

0

अद्यतन

Sourceforge मैं पर इस वर्णन के साथ Whiz SQL Structure Compare मिला: Whiz डेटाबेस भिन्नता उपयोगिता है जो दो एमएस-एसक्यूएल सर्वर डेटाबेस के बीच अंतर खोजने के लिए उपयोगी होगी। यह एक डेटाबेस से दूसरे डेटाबेस में परिवर्तनों को अद्यतन करने के लिए SQL स्क्रिप्ट उत्पन्न करने में भी सक्षम है।

हालांकि, मैं यह अब तक काम करने के लिए प्राप्त करने में असफल रहा है ...

12

CodePlex पर मैं कल DbDiff (http://www.codeplex.com/OpenDBiff) आप की कोशिश कर सकते देखा। एसक्यूएल2005 और 2008 का समर्थन करता है, मैंने कोशिश नहीं की।

+1

यह Win7 64bit पर काम नहीं करता है। – Marc

+0

यह Win7 64bit पर मेरे लिए काम नहीं करता है, लेकिन मैं इसे स्रोत से बनाने में कामयाब रहा (बाइनरी वितरण से कुछ गायब डीएलएस जोड़ा, और System.Data.SQLite.DLL सबसोनिक की एक प्रति से)। मुझे 5 मिनट या उससे ज्यादा समय लगता था। इसे आज़माएं - ऐसा लगता है कि अच्छे परिणाम उत्पन्न होते हैं (एक सिंक स्क्रिप्ट उत्पन्न करता है)। अभी तक स्क्रिप्ट का परीक्षण किया है, लेकिन उपकरण बहुत ही आशाजनक लग रहा है। – Muxa

+0

जानकारी के लिए, यह अब 64-बिट के साथ काम करता है। बस कोशिश की, बहुत अच्छा उपकरण। AdeptSQL डिफ के रूप में काफी अच्छा नहीं है, लेकिन यह मुफ़्त है! –

6

मैं कुछ नकदी खर्च करने और Red Gate's SQL Compare उपकरण प्राप्त करने की सलाह दूंगा जो एक उत्कृष्ट नौकरी करता है, और अपग्रेड स्क्रिप्ट उत्पन्न करने के लिए डेटाबेस को विजुअल स्टूडियो डेटाबेस प्रोजेक्ट्स की तुलना भी कर सकता है। यह तेज़ और उपयोग करने में आसान है, और अच्छी तरह से काम करता है। अपग्रेड स्क्रिप्ट अच्छी गुणवत्ता के भी हैं।

यह महंगा नहीं है। आपके समय से शायद कम महंगा। बस इस बारे में सोचें कि आपकी प्रति घंटा दर कितनी है, और ओपन-सोर्स टूल की जांच करने के लिए कितने घंटे लग सकते हैं और इसे काम कर सकते हैं (और आपने कितने खर्च किए हैं), फिर उन्हें एक साथ गुणा करें। यह एक 'मुक्त' उपकरण वास्तव में आपको कितना खर्च कर रहा है, जो अक्सर एक वाणिज्यिक उपकरण से काफी अधिक होता है।

+9

इस तर्क का उपयोग एयरोन कुर्सियों से 40 "स्क्रीन पर लोगों के लिए स्क्रीन" करने के लिए किया जा सकता है, जो आपके पीछे खड़े हैं और आपकी पीठ मालिश करते हैं। एक छोटे से व्यवसाय के लिए अभी तक कोई बिक्री नहीं है, जिसे कई और सामान खरीदना है, एसक्यूएल तुलना के लिए $ 400 केवल धन की बर्बादी है। इसे टाइपमॉक आइसोलेटर के साथ तुलना करें, जिसकी कीमत $ 90 है "एकल डेवलपर्स के लिए जो घर पर काम करते हैं", तुलना करें कि $ 30 की लागत, विज़ुअल एसवीएन की लागत $ 50 - आप मेरी बात देखते हैं (सभी संख्याएं गोल हैं) उन्हें एक "व्यक्तिगत" संस्करण बनाना चाहिए था। – Avi

+1

उन्होंने स्पष्ट रूप से कहा कि वह एक ओपन सोर्स टूल या फोर ऑर्डर चाहते थे और पूरी तरह से क्यों नहीं बताते थे। शायद छोटी खरीदारी में उनके संगठन में महीनों लगते हैं। शायद वह दान के लिए कर रहा है मुफ्त में। क्योंकि यह अब तक उनके प्रश्न का उत्तर देने से बहुत दूर है, मैंने आपको घटा दिया। – Sqeaky

3

अलोहा

आप SqlDbDiff की कोशिश करना चाहते हो सकता है। यह परिवर्तन स्क्रिप्ट उत्पन्न कर सकता है। मुफ़्त संस्करण एक अच्छा काम करता है।

+0

फ्रीवेयर संस्करण केवल SQL2000 का समर्थन करता है। – Lee

+0

@lee आप निश्चित हैं, मैंने इसे SQL 2005 बॉक्स पर उपयोग किया है। एसक्यूएल 2008 के बारे में निश्चित नहीं है हालांकि – edosoft

+0

फ्रीवेयर संस्करण SQL2008 के लिए डिफ़ॉल्ट SQLEXPRESS उदाहरण से कनेक्ट नहीं होगा। शेयरवेयर संस्करण एक नि: शुल्क परीक्षण अवधि प्रदान करता है और कहता है कि यह 2005 और 2008 का समर्थन करता है। मैं अपने उपयोग के लिए ओपन डीबीआईफ़ पर चला गया हूं। यह कल्पना नहीं है, लेकिन यह सचमुच मुक्त है। – Lee

0

हमारे पास SQL ​​डेल्टा और एसक्यूएल तुलना दोनों हैं। प्रत्येक में ताकत होती है, लेकिन प्रत्येक में भी कमजोरियां होती हैं जो उन्हें काफी दर्द देती है।

एसक्यूएल डेल्टा इसकी तुलना में कुछ ट्रिगर्स को याद करेगा, और यह कार्रवाई सूची में नहीं मिलेगा, और कभी-कभी वह कार्रवाइयां लेती हैं जिन्हें आप नहीं लेना चाहते थे। यह समय पर काफी महंगा था।

एसक्यूएल तुलना ट्रिगर्स को पकड़ लेगी, लेकिन वे तालिका सूची में एम्बेडेड हैं। एक बड़े डेटाबेस पर, इसका मतलब है कि प्रत्येक टेबल के माध्यम से जाना और उन्हें बाहर निकालना। कुछ उपकरण हमारे लिए अलग होना चाहिए था।फिर, समय में काफी लागत।

4

AdeptSQL डिफ और डेटाडिफ अद्भुत उत्पाद हैं, रेडगेट की तुलना में बहुत सस्ता है और एक बहुत ही सरल यूआई है, और मुझे अभी तक एक ऐसे परिदृश्य में भागना है जो इसे संभाल नहीं सकता है।

+0

सहमत, बहुत अच्छे उपकरण। –

1

कोई भी xSQL बंडल (xSQL डेटा तुलना और xSQL ऑब्जेक्ट तुलना) का प्रयास करता है? हमारी जगह केवल डीबी diffs के लिए उपयोग करता है, कोई syncs, तो सिंकिंग के लिए नहीं कह सकता है लेकिन diff और रिपोर्ट खराब नहीं हैं। http://code.google.com/p/sql-dbdiff/

किसी को भी पता है कि मुक्त/खुला स्रोत डीबी diff यहाँ उल्लेख किया उपकरणों में से किसी की पेशकश करता है, तो डिफ और सिंक स्वचालित करने के लिए स्क्रिप्ट/कमांड लाइन इंटरफेस -

इसके अलावा, OpenDBDiff एक स्पिन बंद, यकीन नहीं है जो बेहतर है ?

मैंने xSQL टूल्स में देखा, वे कमांड लाइन एक्सेस प्रदान करते हैं लेकिन दुर्भाग्यवश, किसी भी स्क्रिप्ट योग्य कमांड को रिपोर्ट (रिपोर्ट) फ़ाइल को निर्यात करने के लिए कोई स्क्रिप्ट करने योग्य कमांड नहीं है।

1

हालांकि यह वास्तव में क्या आप नहीं चाहते है, मैं postgres के लिए इस पाया:

http://mbk.projects.postgresql.org/

यह लागू करने के लिए एक अंतर उत्पन्न नहीं करता है, बल्कि आप नए संस्करण की एक पूरी डंप विलय करने के लिए अनुमति देता है पिछले संस्करण के साथ तालिका का।

0

इसकी एक छोटी सी देर हो चुकी है, लेकिन मैं सिर्फ कोड plex पर एक असली सरल परियोजना relased:

http://dbcompare.codeplex.com

दर्ज (या निर्माण) दो कनेक्शन तार और यह सब टेबल्स, दृश्य और संग्रहित प्रक्रियाओं की तुलना करेंगे ।

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