2011-05-24 10 views
16

Looks like Azure Storage Emulator एसक्यूएल एज़ूर को छोड़ देता है। क्या यह सच है? फिर मैं अपने एप्लिकेशन का परीक्षण कैसे करूं जो SQL क्लाउड को लाइव क्लाउड पर तैनात किए बिना उपयोग करता है?मैं एसक्यूएल एज़ूर के खिलाफ स्थानीय रूप से परीक्षण कैसे करूं?

+0

एसक्यूएल एज़ूर डेटाबेस बनाम एसक्यूएल एक्सप्रेस के साथ कुछ समानताएं हैं (हालांकि इन्हें वी 12 के मामले में कम किया गया है)।मैं स्थानीय उदाहरण बनाकर परीक्षण की सिफारिश नहीं करता बल्कि मूल डेटाबेस (सिंगल थ्रेडेड ऐप कार्यक्षमता परीक्षण के लिए) के साथ जाता हूं। बिलिंग के बारे में चिंतित होने पर आप हमेशा डेटाबेस निर्यात कर सकते हैं और आवश्यकता होने पर इसे आयात कर सकते हैं। उत्पादन में आने से पहले आपको किसी भी तरह से पैमाने/perf आदि से निपटने की जरूरत है और उनको स्थानीय रूप से परीक्षण नहीं किया जा सकता है। भविष्य की आश्चर्य से बचने के लिए सबसे अच्छा तरीका बुनियादी संस्करण बनाना और आवश्यकताओं के अनुसार स्केल अप करना है –

उत्तर

23

स्थानीय परीक्षण के लिए, आप अपने ऐप के भीतर एक स्थानीय SQL सर्वर (पूर्ण, एक्सप्रेस या यहां तक ​​कि सीई) का उपयोग कर सकते हैं - बस अपने .cscfg या .config फ़ाइलों में SQL Azure वाले के स्थान पर स्थानीय कनेक्शनस्ट्रिंग का उपयोग करें - फिर स्थानीय गणना उदाहरण किसी भी अन्य स्थानीय प्रक्रिया की तरह कनेक्ट होगा।

अधिकांश भाग के लिए स्थानीय SQL और SQL Azure संगत और विनिमय करने योग्य हैं। माइक्रोसॉफ्ट का दावा है कि एसक्यूएल एज़ूर एसक्यूएल सर्वर 2008 आर 2 के साथ अपने अधिकांश कोडबेस साझा करता है। नतीजतन आप अपने आवेदन का परीक्षण करने के लिए स्थानीय रूप से SQL Server 2008 R2 या SQL Server 2008 एक्सप्रेस का उपयोग कर सकते हैं। दरअसल, "सरल" अनुप्रयोगों के लिए आपको नई फ़ाइल-आधारित SQL सर्वर सीई का उपयोग करने में भी सक्षम होना चाहिए। http://msdn.microsoft.com/en-us/library/ee336245.aspx पर सीमाओं देखते हैं - - लेकिन कई ASP.Net अनुप्रयोगों के लिए, तो आप सिर्फ एसक्यूएल Azure करने के लिए एसक्यूएल से माइग्रेट करने के व्यक्त सक्षम होना चाहिए


"उन्नत" अनुप्रयोगों के लिए, फिर वहाँ एसक्यूएल Azure की कुछ सीमाएं हैं।

एसक्यूएल बनाम एसक्यूएल Azure के बारे में अधिक जानकारी के लिए, एसक्यूएल Azure करने के लिए स्थानीय एसक्यूएल से डेटा को माइग्रेट करने के लिए http://social.technet.microsoft.com/wiki/contents/articles/comparing-sql-server-with-sql-azure.aspx

देखते हैं, Codeplex पर एसक्यूएल प्रवासन जादूगर देखते हैं - http://sqlazuremw.codeplex.com/

+0

मैं अपने स्थानीय SQL सर्वर पर कंप्यूट एमुलेटर में चल रही भूमिका को कैसे तारूं? – sharptooth

+1

बस अपने SQL Azure इंस्टेंस के लिए कनेक्शन स्ट्रिंग्स का उपयोग करें। इसे तैनाती के लिए कॉन्फ़िगर करने योग्य बनाने के लिए, आपको इन्हें .config – Stuart

+0

की बजाय .cscfg फ़ाइल में लोड करना चाहिए, क्या आपका मतलब है कि कोई स्थानीय प्रक्रिया किसी स्थानीय प्रक्रिया के रूप में मेरी स्थानीय SQL सर्वर को देखेगी? – sharptooth

1

मैं तुम्हें एसक्यूएल सर्वर का उपयोग 2008 एक्सप्रेस का सुझाव सर्वोच्च विकास के लिए। एक बार जब आप तैयार हों तो क्लाउड पर माइग्रेट कर सकते हैं। लेकिन आपको SQL सर्वर का उपयोग करते समय समकालीन सीमाओं और कुछ वास्तुशिल्प विचारों से अवगत होना चाहिए।

और सबसे अच्छा हिस्सा यह है कि माइग्रेशन के बाद SQL Azure से कनेक्ट करने के लिए आपको कनेक्शन स्ट्रिंग को बदलने की आवश्यकता है।

1

नहीं, कोई स्थानीय SQL Azure एमुलेटर नहीं है। चूंकि स्टुअर्ट ने उल्लेख किया, स्थानीय विकास के लिए स्थानीय डीबी सबसे अच्छा विकल्प है।

SQL सर्वर 2012 के साथ, आपके पास "स्थानीय डीबी" का विकल्प है। यह SQL सर्वर 2012 एक्सप्रेस का एक बहुत हल्का स्वाद है। More details here। यह केवल "यूजर मोड" में चलता है,

  1. अर्थ आप स्थानीय रूप से
  2. आप पूरा समय पृष्ठभूमि में एक सेवा के रूप में एसक्यूएल सर्वर चलाने की जरूरत नहीं है एसक्यूएल सर्वर स्थापित करने के लिए नहीं है

इसे स्थापित करने के बाद, अब वीएस 2012 में एक प्रोजेक्ट प्रकार है। सीई के समान, यह एक एमडीएफ और एलडीएफ फाइल बनाता है। आप इसे कनेक्शन स्ट्रिंग के साथ कनेक्ट करते हैं:

"Server=(LocalDB)\v11.0; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf" 

यह मेरे लिए अच्छा काम करता है; हल्का डाउनलोड आकार अच्छा है (33 एमबी बनाम 133 एमबी)। यह मेरी dev मशीन से लोड हो जाता है कि हर समय डेटाबेस सर्वर नहीं चलाया जाता है।

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

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