2012-01-19 9 views
5

क्या कोई उपकरण है जो संभावित समस्याओं के लिए SQL सर्वर डेटाबेस का विश्लेषण कर सकता है?SQL सर्वर के लिए FxCop - संभावित समस्याओं के लिए SQL सर्वर डेटाबेस का विश्लेषण करने के लिए टूल

उदाहरण के लिए:

  • a foreign key column that is not indexed
  • एक uniqueidentifier स्तंभ पर एक सूचकांक है कि कोई FILL FACTOR
  • एक LastModifiedDate DATETIME स्तंभ datetime
  • के साथ "एक बड़ी अनुक्रमणिका को अपडेट करने के लिए कोई UPDATE ट्रिगर है कि उच्च "विखंडन
  • एक गैर-खंडित अनुक्रमणिका जो एकाधिक एक्सेंट्स में मौजूद है
  • एक ट्रिगर है कि SET NOCOUNT ON शामिल नहीं है, तालिका (इसे छोड़ने को suspectible "ए ट्रिगर एक resultset लौट आए और/या सेट NOCOUNT बंद के साथ चल रहा था, जबकि एक अन्य बकाया परिणाम सेट सक्रिय था।")
  • एक डेटाबेस, संग्रहीत प्रक्रिया, ट्रिगर, देखने, SET ANSI_NULLS OFF
  • एक database or table with SET ANSI_PADDING OFF
  • एक डेटाबेस या तालिका SET CONCAT_NULL_YIELDS_NULL OFF
  • एक उच्च खंडित सूचकांक के साथ बनाया के साथ बनाया है कि एक कम FILLFACTOR (यानी से लाभ हो सकता अधिक गद्दी)
  • एक बहुत व्यापक क्लस्टर सूचकांक के साथ एक मेज (जैसे uniqueidentifier + uniqueidentifier) ​​के बजाय स्तंभों में varchar की varchar(max)/nvarchar(max)
  • उपयोग एक गैर अनन्य संकुल अनुक्रमणिका
  • text/ntext के उपयोग के साथ
  • एक तालिका संभावना स्थानीय तार हो सकता है और nvarchar (जैसे नाम, प्रथम नाम, अंतिम नाम, BUSINESSNAME, COUNTRYNAME, शहर)
  • *= के उपयोग, =*, *=* बल्कि LEFT OUTER JOIN से,होना चाहिए, FULL OUTER JOIN
  • trigger that returns a results set
  • किसी भी स्तंभ timestamp बजाय के रूप में घोषित rowversion
  • एक नल timestamp स्तंभ
  • image बल्कि varbinary(max) से
  • सरल मोड में नहीं डेटाबेस (या एक लॉग फ़ाइल 100x की तुलना में अधिक के उपयोग डेटा फ़ाइल का आकार)

क्या SQL सर्वर के लिए कोई FxCop है?

नोट: माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 आर 2 सर्वोत्तम अभ्यास विश्लेषक doesn't fit the bill

+1

उम्मीदवार? – AakashM

+0

मैं निश्चित रूप से डेटाबेस प्रशासकों को अपने ट्रिगर्स, संग्रहीत प्रक्रियाओं, कॉलम डेटा प्रकारों, कॉलम nullablity को संशोधित नहीं करना चाहता। –

+1

मेरा मतलब था, * यह प्रश्न * शायद डेटाबेस पेशेवरों के लिए [क्यू एंड ए] के लिए एक उम्मीदवार है (http://dba.stackexchange.com/) ... – AakashM

उत्तर

8

SQLCop - नि: शुल्क, और काफी दिलचस्प टूल भी है!

enter image description here

+1

बहुत अच्छा। इंटरफ़ेस कुछ काम का उपयोग कर सकता है, लेकिन चेक काफी व्यापक हैं। –

+0

@Ian - क्या आप स्थानीय रूप से इन चेक को चलाने की उम्मीद कर रहे हैं, या एक स्वचालित निर्माण प्रक्रिया के हिस्से के रूप में निरंतर एकीकरण? –

+0

संभवतः मैं उन्हें अंतःक्रियात्मक रूप से चलाऊंगा। सर्वर/डेटाबेस के अनुसूचित परीक्षण अच्छे हो सकते हैं; झूठी सकारात्मक की दर को छोड़कर। –

2

Static Code Analysis नामक एक उपकरण है (वास्तव में वीएस-एकीकृत FxCop के साथ टकराव नहीं दिया गया एक महान नाम है) जिसमें विजुअल स्टूडियो प्रीमियम और अल्टीमेट शामिल है जो कम से कम आपके नियमों के डिज़ाइन-टाइम सबसेट को कवर कर सकता है। यदि आप इन-बॉक्स नियम सेट को अपनी इच्छित चीज़ों को नहीं करते हैं तो आप add your own rules भी कर सकते हैं।

1

मैं एक के बारे में पता नहीं कर रहा हूँ। इसका स्वागत होगा।

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

बड़ी संख्या में "सिस्टम स्वास्थ्य" प्रक्रियाओं और उनके आसपास के कुछ संगठन लिखने के बाद, मैंने विस्तारित गुणों सहित मेटाडेटा का उपयोग करके इस तरह कुछ के लिए एक ढांचा लिखा। इसने वस्तुओं को विस्तारित गुणों का उपयोग करके चेतावनियों से बाहर करने के लिए चिह्नित करने की अनुमति दी, और नियमों को वर्गीकृत किया जा सकता है। मैंने अपने मेटाडेटा प्रस्तुति में कुछ नियमों और उनके कार्यान्वयन के उदाहरण शामिल किए। http://code.google.com/p/caderoux/source/browse/#hg%2FLeversAndTurtles इसमें एक विंडोज फॉर्म ऐप भी शामिल है जो सिस्टम को कॉल करेगा, लेकिन सिस्टम स्वयं पूरी तरह से टी-एसक्यूएल में कोडित और व्यवस्थित है।

1

SQLCop पर एक नज़र डालें। यह सबसे नज़दीक है जिसे मैंने FXCop में देखा है।

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