Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
U kunt de kwaliteit van de Transact-SQL code in een databaseschema verbeteren door deze te importeren in een databaseproject en de code te analyseren op basis van een set regels. U kunt bijvoorbeeld fouten vinden in een schema dat u niet hebt ontwikkeld en waarvan de kwaliteit niet is geverifieerd. Zie het overzicht van de codeanalysevoor meer informatie.
Voor deze eerste evaluatie wilt u alle mogelijke problemen in de databasecode vinden. U bekijkt de waarschuwingen en de code die deze waarschuwingen heeft veroorzaakt. Als u de T-SQL-code wilt verbeteren, corrigeert u waarschuwingen, onderdrukt u mogelijk een waarschuwing en analyseert u het databaseproject iteratief.
Prerequisites
Voordat u de code in een databaseproject kunt analyseren, moet u al een SQL-project hebben. Zie Zelfstudie: beginnen met een bestaande databasevoor meer informatie over het gebruik van een bestaande database om een project te maken.
SQL-codeanalyse inschakelen voor projectbuild
Als u SQL-codeanalyse wilt inschakelen in Visual Studio, klikt u met de rechtermuisknop op het project in Solution Explorer en selecteert u Eigenschappen. In het tabblad Codeanalyse van het eigenschappenvenster, selecteer het selectievakje voor Codeanalyse inschakelen bij compilatie.
Sla het venster met projecteigenschappen op en ga terug naar Solution Explorer.
Als u SQL-codeanalyse in een SQL-project wilt inschakelen, bewerkt u het .sqlproj-bestand rechtstreeks. Open het .sqlproj-bestand en voeg een element toe <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> aan het eerste <PropertyGroup> blok om codeanalyse in te schakelen.
Als u SQL-codeanalyse wilt inschakelen in de extensie SQL Database Projects, bewerkt u het .sqlproj bestand rechtstreeks. Open het .sqlproj bestand in de Explorer-weergave of klik met de rechtermuisknop op het project in de databaseprojecten weergave en selecteer .sqlproj-bestand bewerken.
Voeg vanuit de teksteditor een element toe <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> aan het eerste <PropertyGroup> blok om codeanalyse in te schakelen.
Als u SQL-codeanalyse in een SQL-project wilt inschakelen, bewerkt u het .sqlproj-bestand rechtstreeks. Open het .sqlproj-bestand en voeg een element toe <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> aan het eerste <PropertyGroup> blok om codeanalyse in te schakelen.
De code analyseren
Als u de code in een databaseproject wilt analyseren waarvoor codeanalyse is ingeschakeld bij het bouwen, klikt u met de rechtermuisknop op het project in Solution Explorer- en selecteert u Build.
Het uitvoervenster toont de resultaten van het algehele buildproces.
De T-SQL-code in uw databaseproject wordt geanalyseerd tijdens de build. Fouten en waarschuwingen van codeanalyse worden weergegeven in de foutenlijst. Als de foutenlijst niet wordt weergegeven, opent u het menu Beeld en selecteert u foutenlijst. U kunt dubbelklikken op een waarschuwing om naar de coderegel te gaan die de waarschuwing heeft veroorzaakt.
Als u de code in een databaseproject wilt analyseren waarvoor codeanalyse is ingeschakeld bij het bouwen, klikt u met de rechtermuisknop op het project in Solution Explorer- en selecteert u Build.
Het uitvoervenster toont de resultaten van het algehele buildproces.
De T-SQL-code in uw databaseproject wordt geanalyseerd tijdens de build. Fouten en waarschuwingen van codeanalyse worden weergegeven in de foutenlijst. Als de foutenlijst niet wordt weergegeven, opent u het menu Beeld en selecteert u foutenlijst. U kunt dubbelklikken op een waarschuwing om naar de coderegel te gaan die de waarschuwing heeft veroorzaakt.
Als u de code in een databaseproject wilt analyseren waarvoor codeanalyse is ingeschakeld bij het bouwen, klikt u met de rechtermuisknop op het project in de weergave Databaseprojecten en selecteert u Build.
In het venster uitvoer worden de resultaten van het algehele bouwproces en fouten of waarschuwingen van codeanalyse weergegeven. De bestanden die zijn opgegeven in elke waarschuwing of fout, zijn interactieve koppelingen die naar de coderegel navigeren die de waarschuwing heeft veroorzaakt.
Als u de code in een databaseproject wilt analyseren waarvoor codeanalyse is ingeschakeld tijdens de build, voert u de opdracht dotnet build uit vanaf de opdrachtregel in de projectmap.
dotnet build MyDatabaseProject.sqlproj
In de uitvoer van de opdracht worden de resultaten van het algehele buildproces en eventuele fouten of waarschuwingen van codeanalyse weergegeven.
Regels voor codeanalyse configureren
Als u een specifieke regel in Visual Studio wilt uitschakelen of inschakelen, klikt u met de rechtermuisknop op het project in Solution Explorer- en selecteert u Eigenschappen. Selecteer in het tabblad Codeanalyse van het eigenschappenvenster de regel in de tabel. Als u de ernst van een regel wilt wijzigen, selecteert u het vakje voor Waarschuwing als fout behandelen voor die regel in de lijst.
Sla het venster met projecteigenschappen op en ga terug naar Solution Explorer.
Als u een specifieke regel in een SQL-project wilt uitschakelen of inschakelen, bewerkt u het .sqlproj bestand rechtstreeks. Open het .sqlproj-bestand en voeg het element voor SqlCodeAnalysisRules toe of wijzig dit in het eerste <PropertyGroup> blok om de regels op te geven die moeten worden ingeschakeld of uitgeschakeld. De volgende voorbeeldconfiguratie schakelt twee regels (SR0007 en SR0006) uit en schakelt SR0008 uit om een buildfout te veroorzaken. De rest van de regels is standaard ingeschakeld.
<?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>
...
Als u een specifieke regel in de extensie SQL Database Projects wilt uitschakelen of inschakelen, bewerkt u het .sqlproj bestand rechtstreeks. Open het .sqlproj bestand in de Explorer-weergave of klik met de rechtermuisknop op het project in de databaseprojecten weergave en selecteer .sqlproj-bestand bewerken.
Voeg het element voor SqlCodeAnalysisRules toe of wijzig dit in het eerste <PropertyGroup> blok om de regels op te geven die moeten worden ingeschakeld of uitgeschakeld. De volgende voorbeeldconfiguratie schakelt twee regels (SR0007 en SR0006) uit en schakelt SR0008 uit om een buildfout te veroorzaken. De rest van de regels is standaard ingeschakeld.
<?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>
...
Als u een specifieke regel in een SQL-project wilt uitschakelen of inschakelen, bewerkt u het .sqlproj bestand rechtstreeks. Open het .sqlproj-bestand en voeg het element voor SqlCodeAnalysisRules toe of wijzig dit in het eerste <PropertyGroup> blok om de regels op te geven die moeten worden ingeschakeld of uitgeschakeld. De volgende voorbeeldconfiguratie schakelt twee regels (SR0007 en SR0006) uit en schakelt SR0008 uit om een buildfout te veroorzaken. De rest van de regels is standaard ingeschakeld.
<?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>
...
Waarschuwingen voor codeanalyse onderdrukken
Als u een fout of waarschuwing voor een codeanalyse voor een specifiek .sql-bestand in Visual Studio wilt onderdrukken, klikt u met de rechtermuisknop op de waarschuwing in de foutenlijst en selecteert u Statische codeanalysebericht(en) onderdrukken. Het resultaat van de codeanalyse voor die regel en .sql bestand wordt onderdrukt en wordt niet meer weergegeven in de foutenlijst of de build-uitvoer.
Note
Als u een waarschuwing onderdrukt, wordt het onderliggende probleem niet opgelost. Onderdrukt alleen waarschuwingen wanneer u een geldige reden hebt om dit te doen.
Als u een fout of waarschuwing voor een codeanalyse wilt onderdrukken voor een specifiek .sql-bestand in een SQL-project, voegt u een StaticCodeAnalysis.SuppressMessages.xml-bestand toe aan het project. Geef in het bestand de regel-id en het bestand op waarvoor de waarschuwing moet worden onderdrukt.
<?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>
Als het bestand niet bestaat, maakt u het in de hoofdmap van het project. Als het bestand al bestaat, onderdrukt u een extra waarschuwing voor het bestaande StaticCodeAnalysis.SuppressMessages.xml-bestand door een nieuw <SuppressedFile><SuppressedRule /></SuppressedFile> element te maken.
Het resultaat van de codeanalyse voor die regel en .sql bestand wordt onderdrukt en wordt niet meer weergegeven in de build-uitvoer.
Als u een fout of waarschuwing voor codeanalyse wilt onderdrukken voor een specifiek .sql-bestand in de extensie SQL Database Projects, voegt u een StaticCodeAnalysis.SuppressMessages.xml-bestand toe aan het project. Geef in het bestand de regel-id en het bestand op waarvoor de waarschuwing moet worden onderdrukt.
<?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>
Als het bestand niet bestaat, maakt u het in de hoofdmap van het project. Als het bestand al bestaat, onderdrukt u een extra waarschuwing voor het bestaande StaticCodeAnalysis.SuppressMessages.xml-bestand door een nieuw <SuppressedFile><SuppressedRule /></SuppressedFile> element te maken.
Het resultaat van de codeanalyse voor die regel en .sql bestand wordt onderdrukt en wordt niet meer weergegeven in de build-uitvoer.
Als u een fout of waarschuwing voor een codeanalyse wilt onderdrukken voor een specifiek .sql-bestand in een SQL-project, voegt u een StaticCodeAnalysis.SuppressMessages.xml-bestand toe aan het project. Geef in het bestand de regel-id en het bestand op waarvoor de waarschuwing moet worden onderdrukt.
<?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>
Als het bestand niet bestaat, maakt u het in de hoofdmap van het project. Als het bestand al bestaat, onderdrukt u een extra waarschuwing voor het bestaande StaticCodeAnalysis.SuppressMessages.xml-bestand door een nieuw <SuppressedFile><SuppressedRule /></SuppressedFile> element te maken.
Het resultaat van de codeanalyse voor die regel en .sql bestand wordt onderdrukt en wordt niet meer weergegeven in de build-uitvoer.
Verwante inhoud
- problemen met T-SQL-ontwerp
- T-SQL-naamgevingsproblemen
- prestatieproblemen met T-SQL