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.
SQL projeleri için araçlar çeşitli geliştirme ortamlarında ve komut satırı arabirimlerinde kullanılabilir. SQL projeleri için birincil araçlar, Visual Studio'da SqlPackage komut satırı yardımcı programı, SQL Server Data Tools (SSDT) ve Visual Studio Code için SQL Veritabanı Projeleri uzantısı'dir.
Bu makaledeki araçlar:
-
Grafik araçlar
- SQL Veritabanı Projeleri uzantısı
- SQL Server Management Studio'da Database DevOps
- SQL Server Data Tools
- Komut satırı araçları
Grafik araçlar
Bu araçlar SQL projeleri için grafik arabirim, Transact-SQL (T-SQL) düzenleyicisi ve derleme ve yayımlama işlemi sağlar.
SQL Veritabanı Projeleri uzantısıVisual Studio Code uzantısıdır. Bu uzantı SQL projeleri için grafik arabirim, T-SQL düzenleyicisi ve derleme ve yayımlama işlemi sağlar.
Database DevOps in SQL Server Management Studio (SSMS) SQL projeleri, T-SQL düzenleyicisi ve derleme ve yayımlama işlemi için grafik arabirim sağlar.
SQL Server Data Tools (SSDT), SQL projeleri için grafik arabirim sağlayan bir Visual Studio bileşenidir. SSDT tablolar için görsel tasarımcı, T-SQL düzenleyicisi ve derleme ve yayımlama işlemi sağlar.
Özellik kümesi karşılaştırması
| Özellik | Visual Studio Code | SSMS | SSDT (VS2022-2026) | SDK stili SSDT (önizleme) (VS2022) |
|---|---|---|---|---|
| Yeni boş proje oluştur | Yes | Yes | Yes | Yes |
| Mevcut veritabanından yeni proje oluşturma | Yes | Yes | Yes | Yes |
| Mevcut Microsoft.Build.Sql projelerini açın | Yes | Yes | Hayı | Yes |
| Özgün stil (SSDT) projelerini açın | Yes | Hayı | Yes | Hayı |
| Çözüm yönetimi ve işlemleri | Hayı | Yes | Yes | Yes |
| derlemeyi Project çalıştırma | Yes | Yes | Yes | Yes |
| Projeyi var olan sunucuya yayımlama | Yes | Yes | Yes | Yes |
| Projeyi yerel geliştirme örneğine yayımlama | Evet1 | Evet2 | Evet3 | Evet3 |
| Yayımlama seçenekleri/özellikleri | Yes | Yes | Yes | Yes |
| Hedef platform güncelleştirilebilir | Yes | Yes | Yes | Yes |
| SQLCMD değişkenleri | Yes | Yes | Yes | Yes |
| Proje referansları | Yes | Yes | Yes | Yes |
| DACPAC referansları | Yes | Yes | Yes | Yes |
| Paket referansları | Yes | Yes | Hayı | Hayı |
| Yayın profili oluşturma | Yes | Hayı | Yes | Yes |
| SQL dosyaları proje klasörüne yerleştirilerek eklenebilir | Yes | Yes | Hayı | Yes |
| SQL dosyaları derlemenin dışında tutulabilir | Yes | Yes | Yes | Hayı |
| Dağıtım öncesi ve dağıtım sonrası betikleri | Yes | Yes | Yes | Yes |
| Yeni nesne şablonları | Evet4 | Yes | Yes | Evet4 |
| Project dosyaları klasörler halinde düzenlenebilir | Yes | Yes | Yes | Yes |
| Şema karşılaştırma projesi veritabanına | Yes | Hayı | Yes | Yes |
| Şema karşılaştırması veritabanından projeye | Yes | Hayı | Yes | Hayı |
| Grafik tablo tasarımcısı | Hayı | Hayı | Yes | Yes |
| Kod analizi - kural GUI'sini etkinleştirme/devre dışı bırakma | Yes | Yes | Yes | Hayı |
| Project özellikleri - derleme çıktı ayarları | Hayı | Hayı | Yes | Yes |
| Project özellikleri - veritabanı ayarları GUI | Hayı | Hayı | Yes | Hayı |
| Project code analysis çalıştırın | Yes | Yes | Yes | Hayı |
| Nesne yeniden adlandırma ve yeniden düzenleme | Hayı | Hayı | Yes | Hayı |
| Proje modelinin veritabanı dosyalarında İntellisense sağlanır. | Hayı | Hayı | Yes | Hayı |
1 Yerel geliştirme örneği bir SQL Server kapsayıcıdır.
2 Önceden yüklenmiş Microsoft SQL veritabanı yerel geliştirme örneği olarak kullanılabilir.
3 Yerel geliştirme örneği bir SQL Server LocalDB örneğidir.
4 Kullanılabilir şablonların sınırlı alt kümesi.
Komut satırı araçları
SqlPackage , DacFx kitaplığının birincil komut satırı yardımcı programıdır ve veritabanına dağıtma .dacpac veya veritabanının nesnelerini bir SQL projesine veya .dacpacöğesine ayıklama gibi veritabanı geliştirme görevlerinin otomasyonunu etkinleştirir.
Özel konsol uygulamaları, veritabanı geliştirme görevlerini otomatikleştirmek için DacFx .NET kitaplığı kullanılarak oluşturulabilir. Microsoft. SqlServer.Dac ad alanı veritabanı nesneleri oluşturma, dağıtma ve ayıklama sınıflarını içerir ve DacFx kitaplığının geri kalanının temelini oluşturur.
CI/CD işlem hatları, komut satırı yürütmesi veya .dacpac ve SQL projeleri dağıtımına özgü görevlerle oluşturulabilir.
GitHub sql-action ve SqlAzureDacpacDeployment Azure DevOps veritabanı değişikliklerini dağıtmayı kolaylaştırmak için yönetim katmanı altında SqlPackage kullanan görevlere örnektir.
Dönüştürme araçları
Var olan bir SQL projesini SDK stili projeye dönüştürme işlemi, dosyayı yeni SDK stili proje biçimini içerecek şekilde el ile düzenleyerek .sqlproj gerçekleştirilir. İşleme başlamadan önce hem proje dosyasını yedeklemek hem de projenin bir .dacpac kısmını arşivlemek önerilir. Projeden oluşturulan bir "önce" ve "sonra" .dacpac karşılaştırması yaparak dönüştürme işleminin doğru şekilde tamamlandığından emin olabilirsiniz.
Proje/çözüm yönetimi
Birden çok SQL projesi (ve diğer projeler) bir çözüm dosyasında mantıksal olarak birlikte gruplandırılabilir. Çözüm dosyası bir veya daha fazla proje için bir kapsayıcıdır ve derleme eylemi de dahil olmak üzere projeleri grup olarak yönetmek için kullanılır. Büyük çözümler, performansı ve yönetilebilirliği geliştirmek için daha küçük çözümlere ayrılabilir veya eldeki uygun görev için dinamik olarak oluşturulabilir. slngen çözüm dosyası oluşturucu Microsoft için kullanılabilir. Build.Sql projeleri ve program aracılığıyla ve isteğe bağlı olarak bir dizi proje için çözüm dosyası oluşturmak için kullanılabilir.
Yol Haritası
SQL projeleriyle ilgili özellikler için üç aylık yol haritası adresinde https://aka.ms/sqlprojects-roadmapbulunabilir. Müşteri geri bildirimleri, Microsoft.Build.Sql projelerinin yeteneklerini modernize etmeyi ve SQL projeleriyle ilişkili araç yüzeylerinde yapılan geliştirmeleri kapsayan yol haritasını büyük ölçüde etkiler.
Üçüncü taraf araçlar
SQL projeleri ve veritabanı dağıtımıyla ilgili işlevler sağlayan üçüncü taraf araçlar vardır. dbatools gibi bazı araçlar open source.
Geliştiriciler, kod analizi kuralları ve dağıtım planlarını özelleştirme de dahil olmak üzere SQL projelerinin genişletilebilirlik noktalarını kullanarak projelerini paylaştı. Bu projelerden bazıları şunlardır:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer