Aracılığıyla paylaş


SQL Server Management Studio'da Veritabanı DevOps (önizleme)

SQL veritabanı projesi, tablolar, saklı yordamlar veya işlevler gibi tek bir veritabanının şemasını oluşturan SQL nesnelerinin yerel bir gösterimidir. SQL veritabanı projesinin geliştirme döngüsü, veritabanı geliştirmeyi en iyi geliştirme yöntemleri olarak bilinen sürekli tümleştirme ve sürekli dağıtım (CI/CD) iş akışlarıyla tümleştirmenize yardımcı olur. SSMS'de, veritabanı nesnelerinin yerel tanımını sağlayarak veritabanı değişikliklerini uygulamanıza, yönetmenize ve işbirliği yapmaya yardımcı olması için önizlemedeki projeleri kullanabilirsiniz Microsoft.Build.Sql .

Bu makalede, SQL Server Management Studio'daki (SSMS) SQL veritabanı projelerinin veritabanı DevOps iş akışlarının bir parçası olarak nasıl kullanılacağı açıklanmaktadır. SQL veritabanı projeleri hakkında daha fazla bilgi için bkz. SQL veritabanı projeleri.

Önkoşullar

Yeni proje oluşturma

SSMS'de SQL veritabanı projeleriyle çalışmak için proje dosyalarınızı içeren yerel bir klasöre ihtiyacınız vardır. Var olan bir veritabanından nesneleri ayıklayarak veya sıfırdan yeni nesne dosyaları oluşturarak bir proje başlatabilirsiniz.

SQL Server Management Studio'da Yeni Proje iletişim kutusunun ekran görüntüsü.

Uyarı

SSMS, Çözüm Gezgini'nden dosya açarken bir sunucuya bağlanmanızı isteyebilir. Bir veritabanına bağlanmadan SQL veritabanı proje geliştirmeyi çevrimdışı olarak gerçekleştirebilirsiniz.

Mevcut veritabanından nesne ekleme

Var olan bir veritabanındaki şemayı nesne türüne göre düzenlenmiş tek tek .sql dosyalara ayıklamak için SqlPackage'ı kullanın. Veritabanı nesnelerinizle bir klasör yapısı oluşturmak için aşağıdaki komutu çalıştırın:

sqlpackage /Action:Extract /SourceConnectionString:"<connection-string>" /TargetFile:"<temp-folder>" /p:ExtractTarget=SchemaObjectType

parametresi, /p:ExtractTarget=SchemaObjectType ayıklanan dosyaları şema ve nesne türüne (örneğin, , dbo/Tablesdbo/StoredProcedures) göre alt klasörler halinde düzenler. Proje dizininizin dışındaki geçici bir klasöre ayıklayın ve istediğiniz içeriği proje klasörünüzde kopyalamak için Windows Gezgini'ni kullanın.

SqlPackage ayıklama seçenekleri hakkında daha fazla bilgi için bkz. SqlPackage ayıklama.

Yeni nesneler oluşturma

Proje klasöründe dosya oluşturarak .sql projenize yeni veritabanı nesneleri ekleyin. Her dosya, bir veritabanı nesnesi için tek CREATE bir deyim içermelidir. Örneğin, bir tablo tanımı:

CREATE TABLE [dbo].[Products]
(
    [ProductId] INT NOT NULL PRIMARY KEY,
    [ProductName] NVARCHAR (100) NOT NULL,
    [Price] DECIMAL (10, 2) NOT NULL
);

veya dbo/Tablesgibi Sales/StoredProcedures alt klasörleri kullanarak dosyaları şemaya ve nesne türüne göre düzenleyin. Bu yapı SqlPackage ayıklamasının çıkışıyla eşleşir ve projeniz büyüdükçe nesneleri bulmayı kolaylaştırır. SQL projesi derleme işlemi, proje klasöründeki tüm .sql dosyaları ve alt klasörlerini varsayılan olarak içerir.

SSMS, kullanmaya başlamanıza yardımcı olmak için ortak öğelere yönelik şablonlar sağlar. Yeni öğe eklemek için Çözüm Gezgini'nde projeye sağ tıklayın,Yeni Öğe> seçin ve SQL nesne şablonları listesinden seçim yapın.

Mevcut projeleri açma

Mevcut bir SQL veritabanı projesini SSMS'de açmak için Dosya> Proje/Çözüm> seçin ve dosyaya .sqlproj gidin.

Önemli

SSMS yalnızca SDK stili Microsoft.Build.Sql projeleri destekler. Desteklenen en düşük SDK sürümü 2.1.0'dır. Visual Studio'da oluşturulmuş özgün bir SQL projeniz varsa, bunu açmadan önce SDK stili biçime dönüştürmeniz gerekir.

Özgün SQL projelerini SDK stili biçime dönüştürme yönergeleri için bkz. Özgün SQL projesini SDK stili projeye dönüştürme.

Proje oluşturma ve değişiklikleri dağıtma

SQL projesi iş akışı iki ana adımdan oluşur: şemayı doğrulamak ve derlemek için projeyi derleme ve derlenmiş çıkışı hedef veritabanına dağıtma.

Proje derlemesi

SQL projesi oluşturmak nesneler arasındaki ilişkileri doğrular ve T-SQL söz dizimini belirtilen hedef platformda denetler. Derleme işlemi, veritabanı şemasının derlenmiş modelini içeren bir dosya oluşturur .dacpac .

SSMS'de proje oluşturmak için Çözüm Gezgini'nde projeye sağ tıklayın ve Oluştur'a tıklayın.

SQL projesi derleme seçeneğini gösteren Çözüm Gezgini'nin ekran görüntüsü.

Derleme çıktısı tüm hataları veya uyarıları görüntüler. Hatalar, var olmayan bir tabloya başvuran görünüm gibi dağıtımı engelleyen sorunları gösterir. Uyarılar, nesne adlarındaki harflerin tutarsız kullanımı gibi olası sorunları vurgular.

Başarılı bir derlemede, .dacpac dosyası proje dizinindeki bin\Debug klasöründe oluşturulur.

Derleme sorunlarını giderme hakkında daha fazla bilgi için bkz. SQL projesi derleme hatalarını giderme.

Değişiklikleri dağıtın

Projenizi derledikten sonra SSMS'deki Yayımla iletişim kutusunu kullanarak hedef veritabanına dağıtın .dacpac . Dağıtım işlemi hedef veritabanıyla .dacpac karşılaştırır ve veritabanını projenizle eşitlemek için gerekli CREATE, ALTERveya DROP deyimlerini oluşturur.

Dağıtmak için Çözüm Gezgini'nde projeye sağ tıklayın ve Yayımla'yı seçin. Yayımla iletişim kutusunda hedef veritabanı bağlantınızı yapılandırın ve değişiklikleri uygulamak için Yayımla'yı veya yürütmeden önce dağıtım betiğini gözden geçirmek için Betik Oluştur'ı seçin.

SQL veritabanı proje değişikliklerini dağıtmak için Yayımla iletişim kutusunun ekran görüntüsü.

Yayımlama işlemi idempotent olduğundan, aynı .dacpac öğesini sorunlara neden olmadan birden çok kez dağıtabilirsiniz. Bu yaklaşım, aynı derlenmiş yapıtı kullanarak birden çok ortam (geliştirme, hazırlama, üretim) dağıtmanızı sağlar.

Dağıtım seçenekleri ve yapılandırma hakkında ayrıntılı bilgi için bkz. SQL veritabanı projelerini kullanmaya başlama.