Aracılığıyla paylaş


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.

Dağıtım öncesi ve dağıtım sonrası betiklerinin yanı sıra veritabanı nesnelerini içeren SQL Veritabanı Projelerinin özeti.

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:

  1. 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.

  2. 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.

    Azure Data Studio, Uzantıyı yükle'nin ekran görüntüsü.

  3. İstediğiniz uzantıyı seçin ve Ardından Yükle'yi seçin.

  4. Uzantıyı etkinleştirmek için Yeniden Yükle'yi seçin (yalnızca ilk kez bir uzantı yüklediğinizde gereklidir).

  5. 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"
    ]
  }
}