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 következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Az adatbázissémában lévő Transact-SQL kód minőségét úgy javíthatja, hogy importálja egy adatbázisprojektbe, és elemzi a kódot egy szabálykészlet alapján. Előfordulhat például, hogy olyan hibákat szeretne találni egy sémában, amelyet nem fejlesztett ki, és amelynek minőségét nem ellenőrizték. További információ: kódelemzés áttekintése.
Ebben a kezdeti értékelésben az adatbázis kódjában szereplő összes lehetséges problémát szeretné megtalálni. Áttekintheti a figyelmeztetéseket és a figyelmeztetéseket okozó kódot. A T-SQL-kód javítása érdekében kijavíthatja a figyelmeztetéseket, letilthat egy figyelmeztetést, és iteratív módon elemezheti az adatbázisprojektet.
Prerequisites
Ahhoz, hogy elemezni tudja a kódot egy adatbázisprojektben, már rendelkeznie kell egy SQL-projektel. További információkért arról, hogyan lehet egy meglévő adatbázisból kiindulva projektet létrehozni, tekintse meg az oktatóanyagot: Hogyan kezdjünk meglévő adatbázisból?.
SQL-kódelemzés engedélyezése a projekt buildjén
Ha engedélyezni szeretné az SQL-kódelemzést a Visual Studióban, kattintson a jobb gombbal a projektre Megoldáskezelő, és válassza a Tulajdonságoklehetőséget. A tulajdonságok ablakának Kódelemzés lapján jelölje be a Kódelemzés engedélyezése a build soránjelölőnégyzetet.
Mentse a projekttulajdonságok ablakát, és térjen vissza a megoldáskezelőbe.
Ha sql-projektben szeretné engedélyezni az SQL-kódelemzést, szerkessze közvetlenül a .sqlproj fájlt. Nyissa meg a .sqlproj fájlt, és adjon hozzá egy elemet <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> az első <PropertyGroup> blokkhoz a kódelemzés engedélyezéséhez.
Ha engedélyezni szeretné az SQL-kódelemzést az SQL Database Projects bővítményben, szerkessze közvetlenül a .sqlproj fájlt. Nyissa meg a .sqlproj fájlt az Explorer nézetből, vagy kattintson a jobb gombbal a projektre az Adatbázisprojektek nézetben, és válassza a Edit .sqlproj File(.sqlproj fájl szerkesztése) lehetőséget.
A szövegszerkesztőben adjon hozzá egy <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> elemet az első <PropertyGroup> blokkhoz a kódelemzés engedélyezéséhez.
Ha sql-projektben szeretné engedélyezni az SQL-kódelemzést, szerkessze közvetlenül a .sqlproj fájlt. Nyissa meg a .sqlproj fájlt, és adjon hozzá egy elemet <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> az első <PropertyGroup> blokkhoz a kódelemzés engedélyezéséhez.
A kód elemzése
Ha adatbázisprojektben szeretné elemezni a kódot a buildeléshez engedélyezett kódelemzéssel, kattintson a jobb gombbal a projektre Megoldáskezelő, és válassza a Buildlehetőséget.
A kimeneti ablak megjeleníti az általános buildelési folyamat eredményeit.
Az adatbázisprojekt T-SQL-kódját a rendszer a buildelés során elemzi. A kódelemzésből származó hibák és figyelmeztetések megjelennek a hibalistában. Ha a hibalista nem jelenik meg, nyissa meg a Nézet menüt, és válassza a Hibalista lehetőséget. A figyelmeztetésre duplán kattintva navigálhat a figyelmeztetést okozó kódsorra.
Ha adatbázisprojektben szeretné elemezni a kódot a buildeléshez engedélyezett kódelemzéssel, kattintson a jobb gombbal a projektre Megoldáskezelő, és válassza a Buildlehetőséget.
A kimeneti ablak megjeleníti az általános buildelési folyamat eredményeit.
Az adatbázisprojekt T-SQL-kódját a rendszer a buildelés során elemzi. A kódelemzésből származó hibák és figyelmeztetések megjelennek a hibalistában. Ha a hibalista nem jelenik meg, nyissa meg a Nézet menüt, és válassza a Hibalista lehetőséget. A figyelmeztetésre duplán kattintva navigálhat a figyelmeztetést okozó kódsorra.
Ha egy adatbázisprojekt kódját szeretné elemezni a buildeléshez engedélyezett kódelemzéssel, kattintson a jobb gombbal a projektre az Adatbázisprojektek nézetben, és válassza a Buildlehetőséget.
A kimeneti ablak megjeleníti az általános buildelési folyamat eredményeit, valamint a kódelemzésből származó hibákat és figyelmeztetéseket. Az egyes figyelmeztetésekben vagy hibákban megadott fájlok interaktív hivatkozások, amelyek a figyelmeztetést okozó kódsorra lépnek.
Ha adatbázisprojektben szeretné elemezni a kódot, és a kódelemzés engedélyezve van a buildeléskor, futtassa a dotnet build parancsot a projektkönyvtár parancssorából.
dotnet build MyDatabaseProject.sqlproj
A parancs kimenete megjeleníti az általános buildelési folyamat eredményeit, valamint a kódelemzésből származó hibákat és figyelmeztetéseket.
Kódelemzési szabályok konfigurálása
Ha le szeretne tiltani vagy engedélyezni szeretne egy adott szabályt a Visual Studióban, kattintson a jobb gombbal a projektre Megoldáskezelő, és válassza a Tulajdonságoklehetőséget. A tulajdonságok ablakának Kódelemzés lapján válassza ki a szabályt a táblából. Egy szabály súlyosságának módosításához jelölje be a Figyelmeztetés kezelése hibaként jelölőnégyzetet a listán.
Mentse a projekttulajdonságok ablakát, és térjen vissza a megoldáskezelőbe.
Ha egy SQL-projektben egy adott szabályt szeretne letiltani vagy engedélyezni, szerkessze közvetlenül a .sqlproj fájlt. Nyissa meg a .sqlproj fájlt, és adja hozzá vagy módosítsa a SqlCodeAnalysisRules elemét az első <PropertyGroup> blokkban az engedélyezni vagy letiltani kívánt szabályok megadásához. Az alábbi mintakonfiguráció letilt két szabályt (SR0007 és SR0006), és az SR0008-at úgy módosítja, hogy buildelési hibát eredményezzen. A többi szabály alapértelmezés szerint engedélyezve van.
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build">
<Sdk Name="Microsoft.Build.Sql" Version="1.0.0" />
<PropertyGroup>
<Name>AdventureWorks</Name>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
<ModelCollation>1033, CI</ModelCollation>
<RunSqlCodeAnalysis>True</RunSqlCodeAnalysis>
<SqlCodeAnalysisRules>-Microsoft.Rules.Data.SR0006;-Microsoft.Rules.Data.SR0007;+!Microsoft.Rules.Data.SR0008</SqlCodeAnalysisRules>
</PropertyGroup>
...
Ha le szeretne tiltani vagy engedélyezni szeretne egy adott szabályt az SQL Database Projects bővítményben, szerkessze közvetlenül a .sqlproj fájlt. Nyissa meg a .sqlproj fájlt az Explorer nézetből, vagy kattintson a jobb gombbal a projektre az Adatbázisprojektek nézetben, és válassza a Edit .sqlproj File(.sqlproj fájl szerkesztése) lehetőséget.
Adja hozzá vagy módosítsa a SqlCodeAnalysisRules elemét az első <PropertyGroup> blokkban az engedélyezni vagy letiltani kívánt szabályok megadásához. Az alábbi mintakonfiguráció letilt két szabályt (SR0007 és SR0006), és az SR0008-at úgy módosítja, hogy buildelési hibát eredményezzen. A többi szabály alapértelmezés szerint engedélyezve van.
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build">
<Sdk Name="Microsoft.Build.Sql" Version="1.0.0" />
<PropertyGroup>
<Name>AdventureWorks</Name>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
<ModelCollation>1033, CI</ModelCollation>
<RunSqlCodeAnalysis>True</RunSqlCodeAnalysis>
<SqlCodeAnalysisRules>-Microsoft.Rules.Data.SR0006;-Microsoft.Rules.Data.SR0007;+!Microsoft.Rules.Data.SR0008</SqlCodeAnalysisRules>
</PropertyGroup>
...
Ha egy SQL-projektben egy adott szabályt szeretne letiltani vagy engedélyezni, szerkessze közvetlenül a .sqlproj fájlt. Nyissa meg a .sqlproj fájlt, és adja hozzá vagy módosítsa a SqlCodeAnalysisRules elemét az első <PropertyGroup> blokkban az engedélyezni vagy letiltani kívánt szabályok megadásához. Az alábbi mintakonfiguráció letilt két szabályt (SR0007 és SR0006), és az SR0008-at úgy módosítja, hogy buildelési hibát eredményezzen. A többi szabály alapértelmezés szerint engedélyezve van.
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build">
<Sdk Name="Microsoft.Build.Sql" Version="1.0.0" />
<PropertyGroup>
<Name>AdventureWorks</Name>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
<ModelCollation>1033, CI</ModelCollation>
<RunSqlCodeAnalysis>True</RunSqlCodeAnalysis>
<SqlCodeAnalysisRules>-Microsoft.Rules.Data.SR0006;-Microsoft.Rules.Data.SR0007;+!Microsoft.Rules.Data.SR0008</SqlCodeAnalysisRules>
</PropertyGroup>
...
Kódelemzési figyelmeztetések letiltása
Ha el szeretné tiltani egy adott .sql fájl kódelemzési hibáját vagy figyelmeztetését a Visual Studióban, kattintson a jobb gombbal a figyelmeztetésre a hibalistában, és válassza a Statikus kódelemzési üzenetek letiltásalehetőséget. A szabály és a .sql fájl kódelemzési eredménye el lesz tiltva, és többé nem jelenik meg a hibalistában vagy a build kimenetében.
Note
A figyelmeztetés mellőzése nem oldja meg az alapul szolgáló problémát. Csak akkor tiltsa le a figyelmeztetéseket, ha erre érvényes oka van.
Ha egy SQL-projekt adott .sql fájljának kódelemzési hibáját vagy figyelmeztetését szeretné letiltani, adjon hozzá egy StaticCodeAnalysis.SuppressMessages.xml fájlt a projekthez. A fájlban adja meg a szabályazonosítót és a fájlt a figyelmeztetés letiltásához.
<?xml version="1.0" encoding="utf-8" ?>
<StaticCodeAnalysis version="2" xmlns="urn:Microsoft.Data.Tools.Schema.StaticCodeAnalysis">
<SuppressedFile FilePath="Views/SelectStarView.sql">
<SuppressedRule Category="Microsoft.Rules.Data" RuleId="SR0001" />
</SuppressedFile>
</StaticCodeAnalysis>
Ha a fájl nem létezik, hozza létre a projekt gyökerében. Ha a fájl már létezik, egy új StaticCodeAnalysis.SuppressMessages.xml elem létrehozásával tiltsa le a meglévő <SuppressedFile><SuppressedRule /></SuppressedFile> fájlra vonatkozó további figyelmeztetést.
A szabály és .sql fájl kódelemzési eredménye el lesz tiltva, és már nem jelenik meg a build kimenetében.
Ha el szeretné tiltani egy kódelemzési hibát vagy figyelmeztetést egy adott .sql-fájlhoz az SQL Database Projects bővítményben, adjon hozzá egy StaticCodeAnalysis.SuppressMessages.xml fájlt a projekthez. A fájlban adja meg a szabályazonosítót és a fájlt a figyelmeztetés letiltásához.
<?xml version="1.0" encoding="utf-8" ?>
<StaticCodeAnalysis version="2" xmlns="urn:Microsoft.Data.Tools.Schema.StaticCodeAnalysis">
<SuppressedFile FilePath="Views/SelectStarView.sql">
<SuppressedRule Category="Microsoft.Rules.Data" RuleId="SR0001" />
</SuppressedFile>
</StaticCodeAnalysis>
Ha a fájl nem létezik, hozza létre a projekt gyökerében. Ha a fájl már létezik, egy új StaticCodeAnalysis.SuppressMessages.xml elem létrehozásával tiltsa le a meglévő <SuppressedFile><SuppressedRule /></SuppressedFile> fájlra vonatkozó további figyelmeztetést.
A szabály és .sql fájl kódelemzési eredménye el lesz tiltva, és már nem jelenik meg a build kimenetében.
Ha egy SQL-projekt adott .sql fájljának kódelemzési hibáját vagy figyelmeztetését szeretné letiltani, adjon hozzá egy StaticCodeAnalysis.SuppressMessages.xml fájlt a projekthez. A fájlban adja meg a szabályazonosítót és a fájlt a figyelmeztetés letiltásához.
<?xml version="1.0" encoding="utf-8" ?>
<StaticCodeAnalysis version="2" xmlns="urn:Microsoft.Data.Tools.Schema.StaticCodeAnalysis">
<SuppressedFile FilePath="Views/SelectStarView.sql">
<SuppressedRule Category="Microsoft.Rules.Data" RuleId="SR0001" />
</SuppressedFile>
</StaticCodeAnalysis>
Ha a fájl nem létezik, hozza létre a projekt gyökerében. Ha a fájl már létezik, egy új StaticCodeAnalysis.SuppressMessages.xml elem létrehozásával tiltsa le a meglévő <SuppressedFile><SuppressedRule /></SuppressedFile> fájlra vonatkozó további figyelmeztetést.
A szabály és .sql fájl kódelemzési eredménye el lesz tiltva, és már nem jelenik meg a build kimenetében.