Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Bir veritabanı şemasındaki Transact-SQL kodunu bir veritabanı projesine aktararak ve kodu bir dizi kurala göre çözümleyerek kalitesini geliştirebilirsiniz. Örneğin, geliştirmediğiniz ve kalitesi doğrulanmamış bir şemada hata bulmak isteyebilirsiniz. Daha fazla bilgi için bkz. Kod analizine genel bakış.
Bu ilk değerlendirme için, veritabanı kodundaki tüm olası sorunları bulmak istiyorsunuz. Uyarıları ve bu uyarılara neden olan kodu gözden geçirirsiniz. T-SQL kodunu geliştirmek için uyarıları düzeltir, bir uyarıyı bastırır ve veritabanı projesini yinelemeli olarak çözümlersiniz.
Prerequisites
Bir veritabanı projesindeki kodu analiz etmeden önce bir SQL projeniz olması gerekir. Proje oluşturmak için mevcut veritabanını kullanma hakkında daha fazla bilgi için bkz . Öğretici: mevcut bir veritabanından başlama.
Proje derlemesinde SQL kod analizini etkinleştirme
Visual Studio'da SQL kod analizini etkinleştirmek için Çözüm Gezgini'nde projeye sağ tıklayın ve Özellikler'i seçin. Özellikler penceresinin Kod Analizi sekmesinde Derlemede Kod Analizini Etkinleştir onay kutusunu seçin.
Proje özellikleri penceresini kaydedin ve çözüm gezginine dönün.
SQL projesinde SQL kod analizini etkinleştirmek için dosyayı doğrudan düzenleyin .sqlproj .
.sqlproj Dosyayı açın ve kod analizini etkinleştirmek için ilk <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> bloğa bir öğe <PropertyGroup> ekleyin.
SQL Veritabanı Projeleri uzantısında SQL kod analizini etkinleştirmek için dosyayı doğrudan düzenleyin .sqlproj .
.sqlproj
Dosyayı Gezgin görünümünden veya Veritabanı Projeleri görünümünde projeye sağ tıklayıp .sqlproj Dosyasını Düzenle'yi seçerek açın.
Kod analizini etkinleştirmek için metin düzenleyicisinden ilk <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> bloğa bir öğe <PropertyGroup> ekleyin.
SQL projesinde SQL kod analizini etkinleştirmek için dosyayı doğrudan düzenleyin .sqlproj .
.sqlproj Dosyayı açın ve kod analizini etkinleştirmek için ilk <RunSqlCodeAnalysis>True</RunSqlCodeAnalysis> bloğa bir öğe <PropertyGroup> ekleyin.
Kodu analiz etme
Derlemede kod analizi etkinleştirilmiş bir veritabanı projesindeki kodu analiz etmek için Çözüm Gezgini'nde projeye sağ tıklayın ve Oluştur'a tıklayın.
Çıkış penceresinde genel derleme işleminin sonuçları görüntülenir.
Veritabanı projenizdeki T-SQL kodu derleme sırasında analiz edilir. Kod analizindeki hatalar ve uyarılar Hata Listesi'nde görünür. Hata Listesi görünmüyorsa Görünüm menüsünü açın ve Hata Listesi'ni seçin. Uyarıya neden olan kod satırına gitmek için bir uyarıya çift tıklayabilirsiniz.
Derlemede kod analizi etkinleştirilmiş bir veritabanı projesindeki kodu analiz etmek için Çözüm Gezgini'nde projeye sağ tıklayın ve Oluştur'a tıklayın.
Çıkış penceresinde genel derleme işleminin sonuçları görüntülenir.
Veritabanı projenizdeki T-SQL kodu derleme sırasında analiz edilir. Kod analizindeki hatalar ve uyarılar Hata Listesi'nde görünür. Hata Listesi görünmüyorsa Görünüm menüsünü açın ve Hata Listesi'ni seçin. Uyarıya neden olan kod satırına gitmek için bir uyarıya çift tıklayabilirsiniz.
Derlemede kod analizi etkinleştirilmiş bir veritabanı projesindeki kodu analiz etmek için , Veritabanı Projeleri görünümünde projeye sağ tıklayın ve Oluştur'a tıklayın.
Çıkış penceresi, genel derleme işleminin sonuçlarını ve kod analizinden gelen hataları veya uyarıları görüntüler. Her uyarı veya hatada belirtilen dosyalar, uyarıya neden olan kod satırına yönlendiren etkileşimli bağlantılardır.
Derlemede kod analizi etkinleştirilmiş bir veritabanı projesindeki kodu analiz etmek için, proje dizinindeki komut satırından komutunu çalıştırın dotnet build .
dotnet build MyDatabaseProject.sqlproj
Komutun çıktısı, genel derleme işleminin sonuçlarını ve kod analizinden gelen hataları veya uyarıları görüntüler.
Kod çözümleme kurallarını yapılandırma
Visual Studio'da belirli bir kuralı devre dışı bırakmak veya etkinleştirmek için Çözüm Gezgini'nde projeye sağ tıklayın ve Özellikler'i seçin. Özellikler penceresinin Kod Analizi sekmesinde, tablodan kuralı seçin. Kuralın önem derecesini değiştirmek için, listeden Uyarıyı Hata Olarak Değerlendir kutusunu seçin.
Proje özellikleri penceresini kaydedin ve çözüm gezginine dönün.
SQL projesinde belirli bir kuralı devre dışı bırakmak veya etkinleştirmek için dosyayı doğrudan düzenleyin .sqlproj .
.sqlproj dosyasını açın ve etkinleştirilecek veya devre dışı bırakılacak kuralları belirtmek için ilk SqlCodeAnalysisRules bloğundaki <PropertyGroup> öğesini ekleyin veya değiştirin. Aşağıdaki örnek yapılandırma iki kuralı (SR0007 ve SR0006) devre dışı bırakır ve SR0008'i bir derleme hatasına neden olacak şekilde değiştirir. Kuralların geri kalanı varsayılan olarak etkindir.
<?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 Veritabanı Projeleri uzantısında belirli bir kuralı devre dışı bırakmak veya etkinleştirmek için dosyayı doğrudan düzenleyin .sqlproj .
.sqlproj
Dosyayı Gezgin görünümünden veya Veritabanı Projeleri görünümünde projeye sağ tıklayıp .sqlproj Dosyasını Düzenle'yi seçerek açın.
İlk SqlCodeAnalysisRules blokta <PropertyGroup> unsurunu ekleyerek veya değiştirerek etkinleştirilecek veya devre dışı bırakılacak kuralları belirtin. Aşağıdaki örnek yapılandırma iki kuralı (SR0007 ve SR0006) devre dışı bırakır ve SR0008'i bir derleme hatasına neden olacak şekilde değiştirir. Kuralların geri kalanı varsayılan olarak etkindir.
<?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 projesinde belirli bir kuralı devre dışı bırakmak veya etkinleştirmek için dosyayı doğrudan düzenleyin .sqlproj .
.sqlproj dosyasını açın ve etkinleştirilecek veya devre dışı bırakılacak kuralları belirtmek için ilk SqlCodeAnalysisRules bloğundaki <PropertyGroup> öğesini ekleyin veya değiştirin. Aşağıdaki örnek yapılandırma iki kuralı (SR0007 ve SR0006) devre dışı bırakır ve SR0008'i bir derleme hatasına neden olacak şekilde değiştirir. Kuralların geri kalanı varsayılan olarak etkindir.
<?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>
...
Kod analizi uyarılarını gizleme
Visual Studio'da belirli .sql bir dosya için kod analizi hatasını veya uyarısını engellemek için Hata Listesi'nde uyarıya sağ tıklayın ve Statik Kod Çözümleme İletilerini Gizle'yi seçin. Bu kural ve .sql dosyanın kod çözümleme sonucu gizlenir ve artık Hata Listesi'nde veya derleme çıkışında görünmez.
Note
Uyarının gizlenmesi, temel alınan sorunu düzeltmez. Uyarıları yalnızca geçerli bir nedeniniz olduğunda gizleyin.
SQL projesindeki belirli .sql bir dosya için kod analizi hatasını veya uyarısını engellemek için projeye bir StaticCodeAnalysis.SuppressMessages.xml dosya ekleyin. Dosyada, uyarının bastırılması için kural kimliğini ve dosyayı belirtin.
<?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>
Dosya yoksa, projenin kökünde oluşturun. Dosya zaten varsa, yeni StaticCodeAnalysis.SuppressMessages.xml bir öğe oluşturarak var olan <SuppressedFile><SuppressedRule /></SuppressedFile> dosyaya yönelik ek bir uyarıyı bastırın.
Bu kural ve .sql dosya için kod çözümleme sonucu gizlenir ve artık derleme çıkışında görünmez.
SQL Veritabanı Projeleri uzantısındaki belirli .sql bir dosya için kod analizi hatasını veya uyarısını engellemek için projeye bir StaticCodeAnalysis.SuppressMessages.xml dosya ekleyin. Dosyada, uyarının bastırılması için kural kimliğini ve dosyayı belirtin.
<?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>
Dosya yoksa, projenin kökünde oluşturun. Dosya zaten varsa, yeni StaticCodeAnalysis.SuppressMessages.xml bir öğe oluşturarak var olan <SuppressedFile><SuppressedRule /></SuppressedFile> dosyaya yönelik ek bir uyarıyı bastırın.
Bu kural ve .sql dosya için kod çözümleme sonucu gizlenir ve artık derleme çıkışında görünmez.
SQL projesindeki belirli .sql bir dosya için kod analizi hatasını veya uyarısını engellemek için projeye bir StaticCodeAnalysis.SuppressMessages.xml dosya ekleyin. Dosyada, uyarının bastırılması için kural kimliğini ve dosyayı belirtin.
<?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>
Dosya yoksa, projenin kökünde oluşturun. Dosya zaten varsa, yeni StaticCodeAnalysis.SuppressMessages.xml bir öğe oluşturarak var olan <SuppressedFile><SuppressedRule /></SuppressedFile> dosyaya yönelik ek bir uyarıyı bastırın.
Bu kural ve .sql dosya için kod çözümleme sonucu gizlenir ve artık derleme çıkışında görünmez.