Menghapus Aplikasi tingkat Data

Berlaku untuk:SQL ServerAzure SQL Database

Anda dapat menghapus aplikasi tingkat data dengan menggunakan wizard Hapus Aplikasi tingkat Data atau skrip Windows PowerShell. Anda dapat menentukan apakah database terkait dipertahankan, dilepas, atau dihilangkan.

Sebelum Anda mulai

Saat Anda menghapus instans aplikasi tingkat data (DAC), Anda memilih salah satu dari tiga opsi yang menentukan apa yang harus dilakukan dengan database yang terkait dengan aplikasi tingkat data. Ketiga opsi menghapus metadata definisi DAC. Opsi berbeda dalam apa yang mereka lakukan dengan database yang terkait dengan aplikasi tingkat data. Wizard tidak menghapus objek tingkat instans apa pun yang terkait dengan DAC atau database, seperti masuk.

Opsi Tindakan database
Hapus pendaftaran Database terkait tetap utuh.
Melepas database Database terkait dilepaskan. Instans Mesin Database tidak dapat mereferensikan database, tetapi data dan file log utuh.
Menghapus database Database terkait dihilangkan. File data dan log dihapus.

Batasan dan Pembatasan

Tidak ada mekanisme otomatis untuk memulihkan metadata definisi DAC atau database setelah Anda menghapus DAC. Bagaimana Anda dapat membangun kembali instans DAC secara manual tergantung pada opsi hapus.

Opsi Cara Membangun Kembali Instans DAC
Hapus pendaftaran Daftarkan DAC dari database yang tersisa.
Melepas database Lampirkan ulang database dengan menggunakan sp_attachdb atau SQL Server Management Studio, lalu daftarkan instans DAC baru dari database.
Menghapus database Pulihkan database dari cadangan lengkap yang dibuat sebelum DAC dihapus, lalu daftarkan instans DAC baru dari database.

Peringatan

Membangun kembali instans DAC dengan mendaftarkan DAC dari database yang dipulihkan atau dilampirkan kembali tidak akan membuat ulang beberapa bagian DAC asli, seperti kebijakan pemilihan server.

Izin

DAC hanya dapat dihapus oleh anggota peran server tetap sysadmin atau serveradmin , atau oleh pemilik database. Akun administrator sistem SQL Server bawaan bernama sa juga dapat meluncurkan wizard.

Menggunakan Wizard Hapus Aplikasi tingkat Data

Untuk Menghapus DAC Menggunakan Wizard

  1. Di Object Explorer, perluas simpul untuk instans yang berisi DAC yang akan dihapus.

  2. Perluas node Manajemen .

  3. Perluas simpul Aplikasi tingkat data.

  4. Klik kanan DAC yang akan dihapus, lalu pilih Hapus Aplikasi tingkat Data...

  5. Selesaikan dialog wizard:

    1. Pengantar

    2. Pilih Metode

    3. Ringkasan

    4. Menghapus Aplikasi tingkat Data

Halaman Pengantar

Halaman ini menjelaskan langkah-langkah untuk menghapus aplikasi tingkat data.

Jangan tampilkan halaman ini lagi. - Klik kotak centang untuk menghentikan halaman ditampilkan di masa mendatang.

Berikutnya > - Melanjutkan ke halaman Pilih Metode .

Batal - Mengakhiri wizard tanpa menghapus aplikasi atau database tingkat data.

Menggunakan Wizard Hapus Aplikasi tingkat Data

Pilih Halaman Metode

Gunakan halaman ini untuk menentukan opsi untuk menangani database yang terkait dengan DAC yang akan dihapus.

Hapus pendaftaran - Menghapus metadata yang menentukan aplikasi tingkat data, tetapi membiarkan database terkait tetap utuh.

Lepaskan database - Menghapus metadata yang menentukan aplikasi tingkat data dan mencopot database terkait.

Database tidak dapat lagi dirujuk oleh instans Mesin Database tersebut, tetapi file data dan log tetap utuh.

Hapus database - Menghapus metadata yang menentukan DAC dan menghilangkan database terkait.

File data dan log untuk database dihapus secara permanen.

< Sebelumnya - Kembali ke halaman Pengenalan .

Berikutnya > - Melanjutkan ke halaman Ringkasan .

Batal - Mengakhiri wizard tanpa menghapus DAC atau database.

Menggunakan Wizard Hapus Aplikasi tingkat Data

Halaman ringkasan

Gunakan halaman ini untuk meninjau tindakan yang akan diambil wizard saat menghapus instans DAC.

Tinjau ringkasan pilihan Anda - Tinjau METODE DAC, database, dan penghapusan yang ditampilkan dalam kotak. Jika informasi sudah benar, pilih Berikutnya atau Selesai untuk menghapus DAC. Jika informasi DAC dan database tidak benar, pilih Batal dan pilih DAC yang benar. Jika metode penghapusan tidak benar, pilih Sebelumnya untuk kembali ke halaman Pilih Metode dan pilih metode lain.

< Sebelumnya - Kembali ke halaman Pilih Metode untuk memilih metode penghapusan yang berbeda.

Berikutnya > - Menghapus instans DAC menggunakan metode yang Anda pilih di halaman sebelumnya, dan melanjutkan ke halaman Hapus Aplikasi tingkat Data.

Batal - Mengakhiri wizard tanpa menghapus instans DAC.

Menggunakan Wizard Hapus Aplikasi tingkat Data

Menghapus Halaman Aplikasi tingkat Data

Halaman ini melaporkan keberhasilan atau kegagalan operasi penghapusan.

Menghapus DAC - Melaporkan keberhasilan atau kegagalan setiap tindakan yang diambil untuk menghapus instans DAC. Tinjau informasi untuk menentukan keberhasilan atau kegagalan setiap tindakan. Setiap tindakan 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 penghapusan 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..

Selesai - Mengakhiri wizard.

Menggunakan Wizard Hapus Aplikasi tingkat Data

Menggunakan PowerShell

  1. Buat objek SMO Server dan atur ke instans yang berisi DAC yang akan dihapus.

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

  3. Gunakan add_DacActionStarted dan add_DacActionFinished untuk berlangganan peristiwa peningkatan DAC.

  4. Tentukan DAC yang akan dihapus.

  5. Gunakan salah satu dari tiga contoh, bergantung pada opsi penghapusan mana yang sesuai:

    • Untuk menghapus pendaftaran DAC dan membiarkan database tetap utuh, gunakan metode .Unmanage
    • Untuk menghapus pendaftaran DAC dan melepaskan database, gunakan Uninstall metode dan tentukan DetachDatabase.
    • Untuk menghapus pendaftaran DAC dan menghilangkan database, gunakan Uninstall metode dan tentukan DropDatabase.

Menghapus DAC dan meninggalkan database

Contoh berikut menghapus DAC bernama <myApplication> menggunakan Unmanage metode untuk menghapus DAC tetapi membiarkan database tetap utuh.

## 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)  
  
## Subscribe to the DAC delete events.  
$dacStore.add_DacActionStarted({Write-Host `n`nStarting at $(Get-Date) :: $_.Description})  
$dacStore.add_DacActionFinished({Write-Host Completed at $(Get-Date) :: $_.Description})  
  
## Specify the DAC to delete.  
$dacName  = "<myApplication>"  
  
## Only delete the DAC definition from msdb, the associated database remains active.  
$dacStore.Unmanage($dacName)  

Menghapus DAC dan melepaskan database

Contoh berikut menghapus DAC bernama <myApplication> menggunakan Uninstall metode untuk menghapus DAC dan melepaskan database.

## 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)  
  
## Subscribe to the DAC delete events.  
$dacStore.add_DacActionStarted({Write-Host `n`nStarting at $(Get-Date) :: $_.Description})  
$dacStore.add_DacActionFinished({Write-Host Completed at $(Get-Date) :: $_.Description})  
  
## Specify the DAC to delete.  
$dacName  = "<myApplication>"  
  
## Delete the DAC definition from msdb and detach the associated database.  
$dacStore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)  

Menghapus DAC dan menghilangkan database

Contoh berikut menghapus DAC bernama <myApplication> menggunakan Uninstall metode untuk menghapus DAC dan menghilangkan database.

## 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)  
  
## Subscribe to the DAC delete events.  
$dacStore.add_DacActionStarted({Write-Host `n`nStarting at $(Get-Date) :: $_.Description})  
$dacStore.add_DacActionFinished({Write-Host Completed at $(Get-Date) :: $_.Description})  
  
## Specify the DAC to delete.  
$dacName  = "<myApplication>"  
  
## Delete the DAC definition from msdb and drop the associated database.  
$dacStore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)  

Lihat Juga

Aplikasi tingkat data
Aplikasi tingkat data
Menyebarkan Aplikasi tingkat Data
Mendaftarkan Database Sebagai DAC
Mencadangkan dan Memulihkan Database SQL Server
Pencopotan dan Lampirkan Database (SQL Server)