Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A megadott kódelemzési szabályok jelentést készítenek az adatbáziskód Transact-SQL tervezési, elnevezési és teljesítménybeli figyelmeztetéseiről. Ha a beépített kódelemzési szabályok nem tartalmazzák az automatikusan észlelni kívánt T-SQL-probléma vagy antipattern lefedettségét, létrehozhat egyéni adatbáziskód-elemzési szabályokat.
Előfordulhat például, hogy olyan egyéni szabályt szeretne létrehozni, amely elkerüli a WAITFOR DELAY utasítás használatát, ahogyan az Egyéni kódelemzési szabályok készítésecímű témakörben is látható. Egyéni adatbáziskód-elemzési szabályok létrehozásához a CodeAnalysis névterében lévő osztályokat kell használnia.
Ez az áttekintés az adatbáziskód-elemzési szabályok különböző összetevőinek alapvető architektúráját ismerteti.
Adatbáziskód-elemzési szabályok összetevői
Az alábbi ábra az adatbáziskód-elemzési szabályok összetevőinek feldolgozását mutatja be:
Az adatbáziskód-elemzési szabályok funkció használatakor a rendszer az összes szabályt betölti és használja a projektben való konfigurálásuknak megfelelően. További információ: Útmutató: Az adatbáziskód statikus elemzésének egyes szabályainak engedélyezése és letiltása. A Bővítménykezelő betölti a létrehozott és regisztrált egyéni szabályszerelvényeket is.
Az egyéni kódelemzési szabályosztály a SqlCodeAnalysisRuleszármaztatva van. Az egyéni szabályosztály a szabályvégrehajtási környezeten keresztül hozzáférhet a hasznos objektumokhoz. Ezek az objektumok a következők:
- Metaadatok magáról a szabályról.
- Az adatbázis sémáját képviselő
Dac.Model.TSqlModel, beleértve az összes modellelemet, ezek és az elemek bármely tulajdonsága közötti kapcsolatokat. - Az adott elemeket vizsgáló szabályok esetében a modell sémaelemét képviselő
Dac.Model.TSqlObjectszerepel a kontextusban. - Számos sémaobjektum is rendelkezik ScriptDom-ábrázolással, amely ezen a környezetben érhető el. Ez egy olyan elem AST-alapú ábrázolása, amely hasznos lehet a lehetséges szintaxisproblémák, például a SelectStarExpressionjelenlétekor.
A szabály által észlelt problémák esetén létrejön egy Dac.CodeAnalysis.SqlRuleProblem objektum. A SqlRuleProblem objektum létrehozásakor a rendszer a megfelelő Dac.Model.TSqlObject és esetleg egy ScriptDom ábrázoló elemet továbbítja a konstruktornak, és ezekkel állapítja meg a probléma helyét a forráskódfájlokban. Az elemzés végén ezeket a problémákat a rendszer átadja a Hibakezelőnek, és megjelenik a hibalistában.
Egyéni szabályok beépítése SQL-projektbe
A Microsoft.Build.Sql SDK-stílusú SQL-projektekben egyéni kódelemzési szabályokat is belefoglalhat a projektbe egy olyan csomaghivatkozás hozzáadásával, amely tartalmazza a szabályokat. Az alábbi példa egy egyéni kódelemzési szabálycsomagra mutató csomaghivatkozást mutat be:
<ItemGroup>
<PackageReference Include="Your.CustomCode.AnalysisRules" Version="1.2.3" />
</ItemGroup>
Tudjon meg többet a kódelemzési szabálycsomagra való hivatkozásról egy SQL-projektben a csomaghivatkozásokban.