Menyebarkan Aplikasi tingkat Data

Berlaku untuk: SQL Server (semua versi yang didukung) Azure SQL Managed Instance Database Azure SQL

Sebarkan aplikasi tingkat data (DAC) dari paket DAC ke instans mesin database yang sudah ada atau database Azure SQL menggunakan wizard atau skrip PowerShell.

Proses penyebaran mendaftarkan instans DAC dengan menyimpan definisi DAC dalam database sistem msdb (master in SQL Database); membuat database, lalu mengisi database tersebut dengan semua objek database yang ditentukan dalam DAC.

Menyebarkan paket DAC yang sama beberapa kali

Anda dapat menyebarkan paket DAC yang sama ke satu instans Mesin Database beberapa kali, tetapi Anda harus menjalankan penyebaran satu per satu. Nama instans DAC yang ditentukan untuk setiap penyebaran harus unik dalam instans Mesin Database.

Jika Anda menyebarkan DAC ke instans Mesin Database, DAC yang disebarkan dimasukkan ke dalam utilitas SQL Server saat kumpulan utilitas dikirim dari instans ke titik kontrol utilitas. DAC kemudian akan ada di simpul Aplikasi tingkat Data yang Disebarkan dari Management Studio Utility Explorer dan dilaporkan di halaman detail Aplikasi tingkat Data yang Disebarkan .

Opsi dan Pengaturan Database

Secara default, database yang dibuat selama penyebaran akan memiliki semua pengaturan default dari pernyataan CREATE DATABASE, kecuali:

  • Kolase database dan tingkat kompatibilitas diatur ke nilai yang ditentukan dalam paket DAC. Paket DAC yang dibangun dari proyek database di SQL Server Developer Tools menggunakan nilai yang ditetapkan dalam proyek database. Paket yang diekstrak dari database yang sudah ada menggunakan nilai dari database asli.

  • Anda bisa menyesuaikan beberapa pengaturan database, seperti nama database dan jalur file, di halaman Konfigurasi Pembaruan . Anda tidak dapat mengatur jalur file saat menyebarkan ke SQL Database.

Beberapa opsi database, seperti TRUSTWORTHY, DB_CHAINING, dan HONOR_BROKER_PRIORITY, tidak dapat disesuaikan sebagai bagian dari proses penyebaran. Properti fisik, seperti jumlah grup file, atau jumlah dan ukuran file tidak dapat diubah sebagai bagian dari proses penyebaran. Setelah penyebaran selesai, Anda bisa menggunakan pernyataan ALTER DATABASE, SQL Server Management Studio, atau SQL Server PowerShell untuk menyesuaikan database.

Pembatasan dan batasan

DAC dapat disebarkan ke SQL Database, atau instans Mesin Database yang menjalankan SQL Server 2005 (9.x) Paket Layanan 4 (SP4) atau yang lebih baru. Jika Anda membuat DAC menggunakan versi yang lebih baru, DAC mungkin berisi objek yang tidak didukung oleh SQL Server 2005 (9.x). Anda tidak dapat menyebarkan DAC tersebut ke instans SQL Server 2005 (9.x).

Keamanan dan izin

Login autentikasi disimpan dalam paket DAC tanpa kata sandi. Ketika paket disebarkan atau ditingkatkan, login dibuat sebagai login yang dinonaktifkan dengan kata sandi yang dihasilkan. Untuk mengaktifkan login, masuk menggunakan login dengan izin UBAH LOGIN APA PUN dan gunakan ALTER LOGIN untuk mengaktifkan login dan menetapkan kata sandi baru yang dapat dikomunikasikan kepada pengguna. Ini tidak diperlukan untuk login Autentikasi Windows karena kata sandi mereka tidak dikelola oleh SQL Server.

DAC hanya dapat disebarkan oleh anggota peran server tetap sysadmin atau serveradmin , atau dengan masuk dalam peran server tetap dbcreator dengan izin UBAH LOGIN APA PUN. Akun administrator sistem SQL Server bawaan bernama sa juga dapat menyebarkan DAC.

Menyebarkan DAC dengan login ke SQL Database memerlukan keanggotaan dalam peran loginmanager atau serveradmin. Menyebarkan DAC tanpa login ke SQL Database memerlukan keanggotaan dalam peran dbmanager atau serveradmin.

Menyebarkan DAC menggunakan wizard

  1. Di Object Explorer, perluas simpul untuk instans tempat Anda ingin menyebarkan DAC.

  2. Klik kanan simpul Database , lalu pilih Sebarkan Aplikasi Tingkat Data...

  3. Selesaikan dialog wizard dan klik selesai.

Selengkapnya tentang beberapa halaman wizard di bawah ini:

Pilih Halaman Paket DAC

Tentukan paket DAC yang berisi aplikasi tingkat data yang akan disebarkan. Halaman beralih melalui tiga status.

Pilih Paket DAC

Pilih paket DAC yang akan disebarkan. Paket DAC harus berupa file paket DAC yang valid dan harus memiliki ekstensi .dacpac.

Paket DAC - Tentukan jalur dan nama file paket DAC yang berisi aplikasi tingkat data yang akan disebarkan. Anda dapat memilih tombol Telusuri di sebelah kanan kotak untuk menelusuri ke lokasi paket DAC.

Nama Aplikasi - Kotak baca-saja yang menampilkan nama DAC yang ditetapkan saat DAC ditulis atau diekstrak dari database.

Versi - Kotak baca-saja yang menampilkan versi yang ditetapkan saat DAC ditulis atau diekstrak dari database.

Deskripsi - Kotak baca-saja yang menampilkan deskripsi yang ditulis saat DAC ditulis atau diekstrak dari database.

Memvalidasi Paket DAC

Menampilkan bilah kemajuan sebagai panduan mengonfirmasi bahwa file yang dipilih adalah paket DAC yang valid. Jika paket DAC divalidasi, wizard melanjutkan ke versi akhir halaman Pilih Paket tempat Anda dapat meninjau hasil validasi. Jika file bukan paket DAC yang valid, wizard tetap berada di Pilih Paket DAC. Pilih paket DAC lain yang valid atau batalkan wizard dan buat paket DAC baru.

Tinjau Halaman Kebijakan

Tinjau hasil evaluasi kebijakan pemilihan server DAC (jika digunakan). Kebijakan pemilihan server DAC bersifat opsional, dan ditetapkan ke DAC saat dibuat di Visual Studio. Kebijakan ini menggunakan faset kebijakan pemilihan server untuk menentukan kondisi yang harus dipenuhi instans Mesin Database untuk menghosting DAC.

Hasil evaluasi kondisi kebijakan - Menunjukkan apakah kondisi kebijakan penyebaran DAC berhasil. Hasil evaluasi setiap kondisi dilaporkan pada baris terpisah.

Kebijakan pemilihan server berikut selalu mengevaluasi ke false saat menyebarkan DAC ke SQL Database: versi sistem operasi, bahasa, pipa bernama diaktifkan, platform, dan tcp diaktifkan.

Abaikan pelanggaran kebijakan - Gunakan kotak centang ini untuk melanjutkan penyebaran jika satu atau beberapa kondisi kebijakan gagal. Hanya pilih opsi ini jika Anda yakin bahwa semua kondisi yang gagal tidak akan mencegah keberhasilan operasi DAC.

Perbarui Halaman Konfigurasi

Tentukan nama instans DAC yang disebarkan dan database yang dibuat oleh penyebaran, dan untuk mengatur opsi database.

Nama Database: - Tentukan nama database yang akan dibuat oleh penyebaran. Defaultnya adalah nama database sumber tempat DAC diekstrak. Nama harus unik dalam instans Mesin Database dan mematuhi aturan untuk pengidentifikasi Mesin Database.

Jika Anda mengubah nama database, nama file data dan file log akan berubah agar sesuai dengan nilai baru.

Nama database juga digunakan sebagai nama instans DAC. Nama instans ditampilkan pada simpul untuk DAC di bawah simpul Aplikasi tingkat Data di Object Explorer, atau simpul Aplikasi tingkat Data yang Disebarkan di Utility Explorer.

Opsi berikut ini tidak berlaku untuk SQL Database, dan tidak ditampilkan saat menyebarkan ke SQL Database.

Gunakan lokasi database default - Pilih opsi ini untuk membuat data database dan file log di lokasi default untuk instans Mesin Database. Nama file akan dibuat menggunakan nama database.

Tentukan file database - Pilih opsi ini untuk menentukan lokasi atau nama yang berbeda untuk data dan file log.

Jalur dan nama file data: - Tentukan jalur lengkap dan nama file untuk file data. Kotak diisi dengan jalur default dan nama file. Edit string dalam kotak untuk mengubah default, atau gunakan tombol Telusuri untuk menavigasi ke folder tempat file data ditempatkan.

Jalur dan nama file log: - Tentukan jalur lengkap dan nama file untuk file log. Kotak diisi dengan jalur default dan nama file. Edit string dalam kotak untuk mengubah default, atau gunakan tombol Telusuri untuk menavigasi ke folder tempat file log akan ditempatkan.

Halaman ringkasan

Gunakan halaman ini untuk meninjau tindakan yang akan dilakukan wizard saat menyebarkan DAC.

Pengaturan berikut akan digunakan untuk menyebarkan DAC Anda. - Tinjau informasi yang ditampilkan untuk memastikan tindakan yang diambil akan benar. Jendela menampilkan paket DAC yang Anda pilih, dan nama yang Anda pilih untuk instans DAC yang disebarkan. Jendela juga menampilkan pengaturan yang akan digunakan saat membuat database yang terkait dengan DAC.

Sebarkan Halaman

Halaman ini melaporkan keberhasilan atau kegagalan operasi penyebaran.

Menyebarkan DAC - Melaporkan keberhasilan atau kegagalan setiap tindakan yang diambil untuk menyebarkan DAC. Tinjau informasi untuk menentukan keberhasilan atau kegagalan setiap tindakan. Tindakan apa pun yang mengalami kesalahan akan memiliki tautan di kolom Hasil . Pilih tautan untuk melihat laporan kesalahan untuk tindakan tersebut.

Simpan Laporan - Pilih tombol ini untuk menyimpan laporan penyebaran ke file HTML. File melaporkan status setiap tindakan, termasuk semua kesalahan yang dihasilkan oleh salah satu tindakan. Folder default adalah folder SQL Server Management Studio\DAC Packages di folder Dokumen akun Windows Anda.

Menggunakan PowerShell

  1. Buat objek SMO Server dan atur ke instans tempat Anda ingin menyebarkan DAC.

  2. Buka objek ServerConnection dan sambungkan ke instans yang sama.

  3. Gunakan System.IO.File untuk memuat file paket DAC.

  4. Gunakan add_DacActionStarted dan add_DacActionFinished untuk berlangganan peristiwa penyebaran DAC.

  5. Atur DatabaseDeploymentProperties.

  6. Gunakan metode DacStore.Install untuk menyebarkan DAC.

  7. Tutup aliran file yang digunakan untuk membaca file paket DAC.

Contoh berikut menyebarkan DAC bernama MyApplication pada instans default Mesin Database, menggunakan definisi DAC dari paket MyApplication.dacpac.

Contoh PowerShell

Contoh berikut menyebarkan DAC bernama MyApplication pada instans default Mesin Database, menggunakan definisi DAC dari paket MyApplication.dacpac.

## Set a SMO Server object to the default instance on the local computer.  
CD SQLSERVER:\SQL\localhost\DEFAULT  
$server = Get-Item .  
  
## Open a Common.ServerConnection to the same instance.  
$serverConnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($server.ConnectionContext.SqlConnectionObject)  
$serverConnection.Connect()  
$dacStore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverConnection)  
  
## Load the DAC package file.  
$dacpacPath = "C:\MyDACs\MyApplication.dacpac"  
$fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)  
$dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)  
  
## Subscribe to the DAC deployment events.  
$dacStore.add_DacActionStarted({Write-Host `n`nStarting at $(Get-Date) :: $_.Description})  
$dacStore.add_DacActionFinished({Write-Host Completed at $(Get-Date) :: $_.Description})  
  
## Deploy the DAC and create the database.  
$dacName  = "MyApplication"  
$evaluateTSPolicy = $true  
$deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverConnection,$dacName)  
$dacStore.Install($dacType, $deployProperties, $evaluateTSPolicy)  
$fileStream.Close()  

Informasi selengkapnya

Aplikasi tingkat data
Mengekstrak DAC Dari Database
Pengidentifikasi Database