Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Вы можете улучшить качество кода Transact-SQL в схеме базы данных, импортируя его в проект базы данных и анализируя код по набору правил. Например, может потребоваться найти ошибки в схеме, которую вы не разработали, и качество которого не было проверено. Дополнительные сведения см. в разделе «Обзор анализа кода».
Для этой первоначальной оценки необходимо найти все потенциальные проблемы в коде базы данных. Вы просматриваете предупреждения и код, вызвавшие эти предупреждения. Чтобы улучшить код T-SQL, исправляйте предупреждения, потенциально подавите предупреждение, и итеративно анализируйте проект базы данных.
Prerequisites
Прежде чем проанализировать код в проекте базы данных, у вас уже должен быть проект SQL. Дополнительные сведения об использовании существующей базы данных для создания проекта см. в руководстве по началу работы с существующей базой данных.
Включение анализа кода SQL для сборки проекта
Чтобы включить анализ кода SQL в Visual Studio, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Свойства". На вкладке "Анализ кода" окна свойств установите флажок для включения анализа кода в сборке.
Сохраните окно свойств проекта и вернитесь в обозреватель решений.
Чтобы включить анализ кода SQL в проекте SQL, редактируйте напрямую файл .sqlproj.
.sqlproj Откройте файл и добавьте элемент <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> в первый <PropertyGroup> блок, чтобы включить анализ кода.
Чтобы включить анализ кода SQL в расширении SQL Database Projects, измените файл .sqlproj напрямую.
.sqlproj Откройте файл из представления обозревателя или щелкните правой кнопкой мыши проект в представлении "Проекты баз данных" и выберите "Изменить SQLPROJ-файл".
В текстовом редакторе добавьте элемент <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> в первый <PropertyGroup> блок, чтобы включить анализ кода.
Чтобы включить анализ кода SQL в проекте SQL, редактируйте напрямую файл .sqlproj.
.sqlproj Откройте файл и добавьте элемент <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> в первый <PropertyGroup> блок, чтобы включить анализ кода.
Анализ кода
Чтобы проанализировать код в проекте базы данных с включенным анализом кода при сборке, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Сборка".
В окне вывода отображаются результаты общего процесса сборки.
Код T-SQL в проекте базы данных анализируется во время сборки. Ошибки и предупреждения из анализа кода отображаются в списке ошибок. Если список ошибок не отображается, откройте меню "Вид" и выберите "Список ошибок". Вы можете дважды щелкнуть предупреждение, чтобы перейти к строке кода, вызвавшей предупреждение.
Чтобы проанализировать код в проекте базы данных с включенным анализом кода при сборке, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Сборка".
В окне вывода отображаются результаты общего процесса сборки.
Код T-SQL в проекте базы данных анализируется во время сборки. Ошибки и предупреждения из анализа кода отображаются в списке ошибок. Если список ошибок не отображается, откройте меню "Вид" и выберите "Список ошибок". Вы можете дважды щелкнуть предупреждение, чтобы перейти к строке кода, вызвавшей предупреждение.
Чтобы проанализировать код в проекте базы данных с включенным анализом кода при сборке, щелкните правой кнопкой мыши проект в представлении "Проекты базы данных" и выберите "Сборка".
В окне вывода отображаются результаты общего процесса сборки и любые ошибки или предупреждения из анализа кода. Файлы, указанные в каждом предупреждении или ошибке, являются интерактивными ссылками, которые переходят к строке кода, вызвавшей предупреждение.
Чтобы проанализировать код в проекте базы данных с включенным анализом кода при сборке, выполните dotnet build команду из командной строки в каталоге проекта.
dotnet build MyDatabaseProject.sqlproj
Выходные данные команды отображают результаты общего процесса сборки и любые ошибки или предупреждения из анализа кода.
Настройка правил анализа кода
Чтобы отключить или включить определенное правило в Visual Studio, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Свойства". На вкладке "Анализ кода" окна свойств выберите правило из таблицы. Чтобы изменить серьезность правила, выберите это правило в списке и отметьте поле Предупреждение как ошибка.
Сохраните окно свойств проекта и вернитесь в обозреватель решений.
Чтобы отключить или включить определенное правило в проекте SQL, измените .sqlproj файл напрямую.
.sqlproj Откройте файл и добавьте или измените элемент SqlCodeAnalysisRules в первом <PropertyGroup> блоке, чтобы указать правила для включения или отключения. В следующем примере конфигурации отключается два правила (SR0007 и SR0006) и параметр SR0008 приводит к ошибке сборки. Остальные правила включены по умолчанию.
<?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>
...
Чтобы отключить или включить определенное правило в расширении Проекты базы данных SQL, напрямую измените файл .sqlproj.
.sqlproj Откройте файл из представления обозревателя или щелкните правой кнопкой мыши проект в представлении "Проекты баз данных" и выберите "Изменить SQLPROJ-файл".
Добавьте или измените элемент SqlCodeAnalysisRules в первом <PropertyGroup> блоке, чтобы указать правила для включения или отключения. В следующем примере конфигурации отключается два правила (SR0007 и SR0006) и параметр SR0008 приводит к ошибке сборки. Остальные правила включены по умолчанию.
<?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>
...
Чтобы отключить или включить определенное правило в проекте SQL, измените .sqlproj файл напрямую.
.sqlproj Откройте файл и добавьте или измените элемент SqlCodeAnalysisRules в первом <PropertyGroup> блоке, чтобы указать правила для включения или отключения. В следующем примере конфигурации отключается два правила (SR0007 и SR0006) и параметр SR0008 приводит к ошибке сборки. Остальные правила включены по умолчанию.
<?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>
...
Подавление предупреждений анализа кода
Чтобы отключить ошибку анализа кода или предупреждение для определенного .sql файла в Visual Studio, щелкните правой кнопкой мыши предупреждение в списке ошибок и выберите "Отключить сообщения анализа статического кода". Результат анализа кода для этого правила и .sql файла подавляется и больше не отображается в списке ошибок или выходных данных сборки.
Note
Отключение предупреждения не устраняет основную проблему. Подавляйте предупреждения только в том случае, если у вас есть допустимая причина для этого.
Чтобы отключить ошибку анализа кода или предупреждение для определенного .sql файла в проекте SQL, добавьте StaticCodeAnalysis.SuppressMessages.xml файл в проект. В файле укажите идентификатор правила и файл для подавления предупреждения.
<?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>
Если файл не существует, создайте его в корне проекта. Если файл уже существует, отключите дополнительное предупреждение для существующего StaticCodeAnalysis.SuppressMessages.xml файла, создав новый <SuppressedFile><SuppressedRule /></SuppressedFile> элемент.
Результат анализа кода для этого правила и .sql файла подавляется и больше не отображается в выходных данных сборки.
Чтобы отключить ошибку или предупреждение анализа кода для конкретного .sql файла в расширении проектов базы данных SQL, добавьте StaticCodeAnalysis.SuppressMessages.xml файл в проект. В файле укажите идентификатор правила и файл для подавления предупреждения.
<?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>
Если файл не существует, создайте его в корне проекта. Если файл уже существует, отключите дополнительное предупреждение для существующего StaticCodeAnalysis.SuppressMessages.xml файла, создав новый <SuppressedFile><SuppressedRule /></SuppressedFile> элемент.
Результат анализа кода для этого правила и .sql файла подавляется и больше не отображается в выходных данных сборки.
Чтобы отключить ошибку анализа кода или предупреждение для определенного .sql файла в проекте SQL, добавьте StaticCodeAnalysis.SuppressMessages.xml файл в проект. В файле укажите идентификатор правила и файл для подавления предупреждения.
<?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>
Если файл не существует, создайте его в корне проекта. Если файл уже существует, отключите дополнительное предупреждение для существующего StaticCodeAnalysis.SuppressMessages.xml файла, создав новый <SuppressedFile><SuppressedRule /></SuppressedFile> элемент.
Результат анализа кода для этого правила и .sql файла подавляется и больше не отображается в выходных данных сборки.