SQL Veritabanı Projeleri uzantısı
SQL Veritabanı Projeleri uzantısı, proje tabanlı geliştirme ortamında SQL veritabanları geliştirmeye yönelik bir Azure Data Studio ve Visual Studio Code uzantısıdır. Uyumlu veritabanları SQL Server, Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse SQL'i içerir. SQL projesi, tablolar, saklı yordamlar veya işlevler gibi tek bir veritabanının şemasını oluşturan SQL nesnelerinin yerel bir gösterimidir. bir SQL Veritabanı projesi oluşturulduğunda, çıkış yapıtı bir .dacpac dosyasıdır. Yeni ve var olan veritabanları, SQL Veritabanı projesini SQL Veritabanı Projeler uzantısıyla yayımlayarak veya .dacpac dosyasını SqlPackage komut satırı arabirimiyle yayımlayarak .dacpac'ın içeriğiyle eşleşecek şekilde güncelleştirilebilir.
Uzantı özellikleri
SQL Veritabanı Projeleri uzantısı aşağıdaki özellikleri sağlar:
- Yeni bir boş proje oluşturun.
- Bağlı veritabanından yeni bir proje oluşturun.
- Daha önce Azure Data Studio, Visual Studio Code veya SQL Server Veri Araçları'de oluşturulmuş bir projeyi açın.
- Projedeki nesneleri (tablolar, görünümler, saklı yordamlar) veya özel betikleri ekleyerek veya kaldırarak projeyi düzenleyin.
- Dosyaları/betikleri klasörler halinde düzenleyin.
- Sistem veritabanlarına veya kullanıcı dacpac'sine başvurular ekleyin.
- Tek bir proje oluşturun.
- Tek bir proje dağıtma.
- Dağıtım profilinden bağlantı ayrıntılarını (SQL Windows kimlik doğrulaması) ve SQLCMD değişkenlerini yükleyin.
SQL Veritabanı Projeleri uzantısındaki aşağıdaki özellikler şu anda önizleme aşamasındadır:
- OpenAPI belirtim dosyasından yeni projeler oluşturun.
- SDK stili SQL projeleri (Microsoft.Build.Sql).
Azure Data Studio'daki SQL Veritabanı Projeleri uzantısına giriş için bu 10 dakikalık kısa videoyu izleyin:
Yükleme
SQL Veritabanı Project uzantısını Azure Data Studio ve Visual Studio Code'a yükleyebilirsiniz.
Azure Data Studio
Azure Data Studio'da SQL Veritabanı Project uzantısını yüklemek için şu adımları izleyin:
Kullanılabilir uzantılara erişmek için uzantı yöneticisini açın. Bunu yapmak için uzantılar simgesini seçin veya Görünüm menüsünde Uzantılar'ı seçin.
Uzantı arama kutusuna adın tamamını veya bir bölümünü yazarak SQL Veritabanı Projeleri uzantısını tanımlayın. Ayrıntılarını görüntülemek için kullanılabilir bir uzantı seçin.
İstediğiniz uzantıyı seçin ve Ardından Yükle'yi seçin.
Uzantıyı etkinleştirmek için Yeniden Yükle'yi seçin (yalnızca ilk kez bir uzantı yüklediğinizde gereklidir).
Etkinlik çubuğundan Projeler simgesini seçin.
Not
Tam işlevsellik için SQL Veritabanı Projeleri uzantısının yanı sıra Şema Karşılaştırma uzantısının yüklenmesi önerilir.
Visual Studio Code
SQL Veritabanı Projeleri uzantısı, Visual Studio Code için mssql uzantısıyla birlikte yüklenir.
Bağımlılıklar
SQL Veritabanı Projeleri uzantısının .NET SDK (gerekli) ve AutoRest.Sql (isteğe bağlı) bağımlılıkları vardır.
.NET SDK
Proje derleme işlevselliği için .NET SDK gereklidir ve uzantı tarafından desteklenen bir sürüm algılanamazsa .NET SDK'sını yüklemeniz istenir. .NET SDK'sı Windows, macOS ve Linux için indirilebilir ve yüklenebilir.
Dotnet SDK'sının şu anda yüklü olan sürümlerini denetlemek istiyorsanız bir terminal açın ve aşağıdaki komutu çalıştırın:
dotnet --list-sdks
.NET SDK'sını yükledikten sonra ortamınız SQL Veritabanı Projeleri uzantısını kullanmaya hazırdır.
Genel sorunlar
Kaynak listesinde eksik Nuget.org aşağıdaki gibi hata iletilerine neden olabilir:
error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.
Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages
nuget.org kaynak olarak kaydedilip kaydedilmediğini denetlemek için komut satırından komutunu çalıştırın dotnet nuget list source
ve nuget.org başvuran bir [Enabled]
öğenin sonuçlarını gözden geçirin. nuget.org kaynak olarak kaydedilmediyse komutunu çalıştırın dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
.
Desteklenmeyen .NET SDK sürümleri aşağıdaki gibi hata iletilerine neden olabilir:
error MSB4018: The "SqlBuildTask" task failed unexpectedly.
error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_
(burada bağlantılı varolmayan dosyanın eşleşmeyen bir kapanış köşeli ayracı vardır).
birden çok sürüm yüklendiğinde SQL Veritabanı Projeleri uzantısını .NET SDK'sının v6.x sürümünü kullanmaya zorlamak için, SQL projesini içeren klasöre bir global.json dosyası ekleyin.
AutoRest.Sql
AutoRest için SQL uzantısı, OpenAPI belirtim dosyasından bir SQL projesi oluşturulduğunda SQL Veritabanı Projeleri uzantısı tarafından otomatik olarak indirilir ve kullanılır.
Sınırlamalar
Şu anda SQL Veritabanı Project uzantısı aşağıdaki sınırlamalara sahiptir:
- Görevler (derleme/yayımlama) kullanıcı tanımlı değildir.
- Projelerdeki SQLCLR nesneleri desteklenmez.
- Projelerde kod çözümleme kuralları şu anda desteklenmiyor.
Çalışma alanı
SQL veritabanı projeleri, Azure Data Studio ve Visual Studio Code'daki mantıksal bir çalışma alanında yer alır. Çalışma alanı, Gezgin bölmesinde görünen klasörleri yönetir. Geçerli çalışma alanında açık olan klasörlerdeki tüm SQL projeleri varsayılan olarak SQL Veritabanı Projeler görünümünde kullanılabilir.
Projeler bölmesindeki arabirim aracılığıyla bir çalışma alanına el ile proje ekleyebilir ve kaldırabilirsiniz. Gerekirse, çalışma alanı ayarları dosyada .code-workspace
el ile düzenlenebilir.
Aşağıdaki örnek .code-workspace
dosyadafolders
, dizi Gezgin bölmesine dahil edilen tüm klasörleri ve dataworkspace.excludedProjects
içindeki settings
dizi ise Projeler bölmesinden dışlanan tüm SQL projelerini listeler.
{
"folders": [
{
"path": "."
},
{
"name": "WideWorldImportersDW",
"path": "..\\WideWorldImportersDW"
}
],
"settings": {
"dataworkspace.excludedProjects": [
"AdventureWorksLT.sqlproj"
]
}
}