Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pravidla analýzy kódu informují o návrhu, pojmenování a upozornění na výkon ve vašem databázovém kódu Transact-SQL. Pokud předdefinovaná pravidla analýzy kódu nezahrnují pokrytí konkrétního problému T-SQL nebo antipatternu, který chcete automaticky rozpoznat, můžete vytvořit vlastní pravidla analýzy kódu databáze.
Můžete například vytvořit vlastní pravidlo, které se vyhne použití příkazu WAITFOR DELAY, jak je znázorněno v Autor vlastních pravidel analýzy kódu. Chcete-li vytvořit vlastní pravidla analýzy kódu databáze, použijte třídy v oboru názvů CodeAnalysis.
Tento přehled popisuje základní architekturu mezi různými komponentami pravidel analýzy kódu databáze.
Komponenty pravidel analýzy kódu databáze
Následující diagram znázorňuje zpracování komponent pravidel analýzy kódu databáze:
Při použití funkce pravidel analýzy kódu databáze se všechna pravidla načtou a použijí se podle toho, jak jste je nakonfigurovali v projektu. Další informace naleznete v tématu Postupy: Povolení a zakázání konkrétních pravidel pro statickou analýzu databázového kódu. Správce rozšíření také načte všechna sestavení vlastních pravidel, která jste vytvořili a zaregistrovali.
Vlastní třída pravidla analýzy kódu dědí z SqlCodeAnalysisRule. Třída vlastního pravidla má přístup k užitečným objektům prostřednictvím kontextu provádění pravidla. Mezi tyto objekty patří:
- Metadata o samotném pravidlu.
-
Dac.Model.TSqlModelpředstavující schéma databáze, včetně všech prvků modelu, vztahů mezi nimi a všemi vlastnostmi prvků. - Pro pravidla, která prověřují konkrétní prvky,
Dac.Model.TSqlObjectpředstavující prvek schématu v modelu je zahrnut v kontextu. - Mnoho objektů schématu má také ScriptDom reprezentaci, ke které lze přistupovat prostřednictvím tohoto kontextu. Jedná se o reprezentaci prvku založeného na AST, který může být užitečný při pokusu o zobrazení potenciálních problémů se syntaxí, jako je přítomnost SelectStarExpression.
V případě jakýchkoli problémů zjištěných pravidlem se vytvoří objekt Dac.CodeAnalysis.SqlRuleProblem. Při vytváření tohoto SqlRuleProblem objektu se příslušné Dac.Model.TSqlObject a případně ScriptDom element reprezentace předávají do konstruktoru a slouží k určení umístění problému v souborech zdrojového kódu. Na konci analýzy se všechny tyto problémy předají Správci chyb a zobrazí se v seznamu chyb.
Začlenění vlastních pravidel do projektu SQL
S projekty SQL ve stylu sady Microsoft.Build.Sql SDK zahrnete do projektu vlastní pravidla analýzy kódu přidáním odkazu na balíček, který obsahuje pravidla. Následující příklad ukazuje odkaz na balíček vlastního pravidla analýzy kódu.
<ItemGroup>
<PackageReference Include="Your.CustomCode.AnalysisRules" Version="1.2.3" />
</ItemGroup>
Zjistěte více o referencích balíčku pravidel analýzy kódu v projektu SQL v referencích balíčků .