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ı
Dağıtım öncesi ve dağıtım sonrası betikleri, dağıtım sırasında yürütülecek projeye dahil edilen SQL betikleridir. Dağıtım öncesi/sonrası betikler .dacpac içinde bulunur ancak veritabanı nesne modeline derlenmez veya doğrulanmaz. Dağıtım planı çalıştırılmadan önce bir dağıtım öncesi betik çalıştırılır, ancak betik çalıştırılmadan önce dağıtım planı hesaplanır. Dağıtım planı tamamlandıktan sonra, dağıtım sonrası betiği yürütülür.
SQL proje dosyası örneği ve söz dizimi
SQL proje dosyasında tek bir dağıtım öncesi betiği ve tek bir dağıtım sonrası betiği belirtilebilir.
SQL proje dosyasındaki aşağıdaki örnek, prep-db.sql dosyasını dağıtım öncesi bir betik olarak ekler.
...
<ItemGroup>
<PreDeploy Include="prep-db.sql" />
</ItemGroup>
Bir SQL proje dosyasındaki aşağıdaki örnek, populate-app-settings.sql dosyasını dağıtım sonrası betik olarak ekler.
...
<ItemGroup>
<PostDeploy Include="populate-app-settings.sql" />
</ItemGroup>
</Project>
Her dosyayı sırayla çağıran bir SQLCMD betiği kullanılarak dağıtım öncesi veya dağıtım sonrası betiği kapsamında birden çok dosya yürütülebilir.
:r .\scripts\script1.sql
:r .\scripts\script2.sql
Bu dosyalar, Visual Studio'daki dosya özelliklerinde Build Action özelliği Remove olarak ayarlanarak veya .sqlproj dosyasına Build özniteliği Remove olarak bir giriş eklenerek veritabanı modeli derlemesinden hariç tutulmalıdır. SQL projesi oluşturulduğunda, ek dosyalar .dacpac içinde referans gösterilerek dağıtım öncesi veya dağıtım sonrası betiklerine Microsoft.Build.Sql proje SDK'sı tarafından birleştirilir.
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
</ItemGroup>
</Project>
SDK stili SQL projelerinde, bir Build Remove="path\file.sql" girdi eklemek dosyayı projeden tamamen kaldırır ve bu da dosyanın artık Visual Studio Code proje görünümünde görünmemeye devam etmesine neden olur. Dosyayı model derlemesinden hariç tutarken yine de görünür durumda tutmak için, öğe olarak tekrar None ekleyin.
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<None Include="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
<None Include="scripts\script2.sql" />
</ItemGroup>
</Project>
Bu, dosyanın projede görünür durumda tutarken veritabanı modelinin bir parçası olarak derlenmesini engeller.
Tip
Dosya uzantısını .dacpac'dan .zip'e değiştirerek ve .zip'yi bir klasöre açarak proje derlemesi sonrasında dağıtım öncesi ve dağıtım sonrası betiklerini doğrulayabilirsiniz. Dağıtım öncesi ve dağıtım sonrası betikler için tek .sql bir dosya vardır ve kaynak SQL projesinde başvuruda bulunılan tüm dosyaların tüm Transact-SQL içeriğini içermelidir.
Dağıtım öncesi ve dağıtım sonrası betikleri ekleyin
Çözüm Gezgini'nde projeye sağ tıklayın ve Ekle>Betik'i seçin. Dağıtım Öncesi Betiği veya Dağıtım Sonrası Betiği seçin.
Betik dosyası projeye eklenir ve betiği tamamlayabileceğiniz sorgu düzenleyicisinde açılır. Bu betik, proje her dağıtıldığında dağıtım planı yürütülmeden önce veya sonra yürütülür.
Çözüm Gezgini'nde proje düğümüne sağ tıklayın veYeni Öğe Ekle'yi> seçin. Yeni Öğe Ekle iletişim kutusu görüntülenir, Tüm Şablonlar>Tablosunu Göster'i ve ardından Dağıtım Öncesi Betik veya Dağıtım Sonrası Betiği'ni seçin.
Betik dosyası projeye eklenir ve betiği tamamlayabileceğiniz sorgu düzenleyicisinde açılır. Bu betik, proje her dağıtıldığında dağıtım planı yürütülmeden önce veya sonra yürütülür.
Visual Studio Code veya Azure Data Studio'nun Veritabanı Projeleri görünümünde projeye sağ tıklayın ve Dağıtım Öncesi Betik Ekle veya Dağıtım Sonrası Betik Ekle'yi seçin. Dosya uzantısı olmadan bir script adı sağlayın.
Betik dosyası projeye eklenir ve betiği tamamlayabileceğiniz sorgu düzenleyicisinde açılır. Bu betik, proje her dağıtıldığında dağıtım planı yürütülmeden önce veya sonra yürütülür.
.sqlproj Dağıtım öncesi veya dağıtım sonrası betikleri eklemek için dosyayı doğrudan düzenleyin.
<PreDeploy> dosyasının <PostDeploy> bölümüne <ItemGroup> veya .sqlproj öğesi ekleyin.
Örneğin, betiği scripts\before-script.sql projemize dağıtım öncesi betik olarak eklemek için:
...
<ItemGroup>
<PreDeploy Include="scripts\before-script.sql" />
</ItemGroup>
Bu betik scripts\before-script.sql, dağıtım planı yürütülmeden önce ve proje her dağıtıldığında yürütülür.