2012-02-29 10 views
8

मैं PowerShell स्नैप इन और अन्य "टूल्स" के साथ थोड़ा उलझन में हूं जो SQL सर्वर से इंटरैक्ट करते हैं। तो इन उपकरणों के बीच अंतर क्या है:पावरशेल/एसक्यूएल सर्वर स्नैप के बीच/उपकरण में अंतर?

  • एसएमओ
  • SQLPS मॉड्यूल
  • SQLPSX
  • एसक्यूएल सर्वर PowerShell प्रदाता

उत्तर

28

एसएमओ या SQL Server Management Objects नेट वर्गों का एक सेट है एसक्यूएल सर्वर का प्रबंधन करने वाले अनुप्रयोग बनाने के लिए डेवलपर्स द्वारा उपयोग किया जाता है। एसक्यूएल सर्वर 2005 में पेश किया गया, एसएमओ कक्षाओं को नई प्रबंधन कार्यक्षमता को कवर करने के लिए प्रत्येक SQL सर्वर रिलीज़ पर अद्यतन किया गया है। एसएमओ अंतर्निहित एपीआई है जो SQL सर्वर प्रबंधन स्टूडियो के साथ-साथ आपकी सूची में शेष टूल बनाने के लिए उपयोग किया जाता है।

SQLPS मॉड्यूल PowerShell मॉड्यूल एसक्यूएल सर्वर में पेश 2012 एसक्यूएल सर्वर 2012 रिहाई Powershell समर्थन करने से पहले एक मिनी खोल यानी sqlps.exe एसक्यूएल सर्वर में कुछ मामूली संवर्द्धन के साथ एसक्यूएल 2008 में शुरू द्वारा प्रदान किया गया है 2008 आर 2। एसक्यूएल मिनी-शैल की पूरी चर्चा यहां http://sev17.com/2010/05/the-truth-about-sqlps-and-powershell-v2/ मिल सकती है। Minishell sqlps.exe अभी भी SQL Server 2012 में मौजूद है जैसा SQL सर्वर कहा जाता है। एसक्यूएल 2012 पावरहेल कार्यान्वयन की एक चर्चा यहां पाई जा सकती है: http://sev17.com/2011/07/denali-sqlps-first-impressions/ नोट: SQL 2012 (2008 और 2008 आर 2) से पहले रिलीज़ के लिए अपना स्वयं का मॉड्यूल बनाने के लिए एसकल्प सीएमडीलेट्स और प्रदाता के आसपास एक छोटा सा रैपर बनाना भी संभव है। मैंने यहां एक रैपर बनाया है

SQLPSX एक कोडप्लेक्स प्रोजेक्ट है जिसे मैंने सितंबर 2007 में SQL सर्वर से पहले किसी भी पावरहेल समर्थन के साथ काम करना शुरू किया था। पहली रिलीज जुलाई 2008 में प्रकाशित हुई थी। एसक्यूएलपीएसएक्स प्रोजेक्ट ज्यादातर स्क्रिप्ट-आधारित मॉड्यूल है जिसका अर्थ है कि आप स्क्रिप्ट स्रोत कोड पढ़ सकते हैं। SQLPSX प्रोजेक्ट में अभी भी कई कार्य शामिल हैं जो SQLPS मॉड्यूल कार्यान्वयन में शामिल नहीं हैं। हमने एसक्यूएलपीएस एसक्यूएलपीएस मॉड्यूल के बीच कार्यक्षमता को ओवरलैप नहीं करने की कोशिश की, हालांकि 2012 की रिलीज के साथ एसएसआईएस और बैकअप/पुनर्स्थापना कार्यक्षमता में कुछ ओवरलैप है। SQLPSX परियोजना का विस्तृत वर्णन यहाँ http://sqlpsx.codeplex.com/

पाया जा सकता है एसक्यूएल सर्वर Powershell प्रदाता - पहले के प्रदाता को परिभाषित करते हैं। एक प्रदाता उपयोगकर्ता को फाइल सिस्टम जैसे डेटा से बातचीत करने की अनुमति देता है जहां आप सीडी, डीआईआर, कॉपी, हटा आदि इत्यादि नोट: प्रदाता कुछ कार्यक्षमताओं को लागू नहीं करते हैं उदाहरण के लिए एसक्यूएल प्रदाता कुछ अपवादों के साथ कॉपी, नया, हटाना।

पावरहेल एक फाइल सिस्टम प्रदाता और रजिस्ट्री प्रदाता सहित कई प्रदाताओं के साथ जहाजों। आप get-psprovider चलाकर अपने सिस्टम पर स्थापित प्रदाताओं को देख सकते हैं। एसक्यूएल सर्वर 2008 और उच्च (हालांकि प्रदाता पिछड़ा संगत है) एक SQL सर्वर प्रदाता शामिल है। प्रदाता एक SQL सर्वर "ड्राइव" लागू करता है जहां आप SQL सर्वर इंस्टेंस और सीडी डेटाबेस, टेबल इत्यादि में नेविगेट कर सकते हैं। कार्यक्षमता SQL सर्वर प्रबंधन स्टूडियो में जो दिखाई देगी उससे बहुत समान है। लोगों के पास एक आम प्रश्न है जहां आप SQL सर्वर तालिका में डेटा ब्राउज़ कर सकते हैं और उत्तर नहीं है। SQL सर्वर प्रदाता का उपयोग एसएमओ ऑब्जेक्ट्स के प्रबंधन के लिए किया जाता है। आप cmdlet invoke-sqlcmd का उपयोग क्वेरी को चलाने के लिए कर सकते हैं जैसे कि आप पुराने कमांड लाइन संस्करण sqlcmd में कर सकते हैं। SQL प्रदाता sqlps minishell के साथ-साथ sqlps मॉड्यूल में भी शामिल है।

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