Eliminare un'applicazione livello dati

Si applica a:SQL ServerDatabase SQL di Azure

È possibile eliminare un'applicazione livello dati utilizzando la procedura guidata Elimina applicazione livello dati o uno script Windows PowerShell. È possibile specificare se il database associato viene mantenuto, scollegato o eliminato.

Prima di iniziare

Quando si elimina un'istanza di applicazione livello dati (DAC), è necessario selezionare una tra tre opzioni in cui viene specificata l'azione che verrà eseguita con il database associato all'applicazione livello dati. Tutte e tre le opzioni consentono di eliminare i metadati che definiscono l'applicazione livello dati. Le opzioni differiscono tra loro per le azioni relative al database associato all'applicazione livello dati. Con la procedura guidata non viene eliminato alcun oggetto a livello di istanza associato all'applicazione livello dati o al database, come ad esempio gli account di accesso.

Opzione Azioni di database
Elimina registrazione Il database associato rimane intatto.
Scollega database Il database associato viene scollegato. L'istanza del Motore di database non potrà fare riferimento al database, ma i file di dati e di log rimarranno invariati.
Elimina database Il database associato viene eliminato. I file di dati e di log vengono eliminati.

Limitazioni e restrizioni

Non esistono meccanismi automatici per ripristinare i metadati della definizione o il database dell'applicazione livello dati dopo l'eliminazione dell'applicazione. Il metodo per ricompilare manualmente l'istanza di applicazione livello dati dipende dall'opzione di eliminazione scelta.

Opzione Metodo di ricompilazione dell'istanza di applicazione livello dati
Elimina registrazione Registrare un'applicazione livello dati dal database rimasto.
Scollega database Collegare nuovamente il database tramite sp_attachdb o SQL Server Management Studio, quindi registrare una nuova istanza di applicazione livello dati dal database.
Elimina database Ripristinare il database da un backup completo eseguito prima dell'eliminazione dell'applicazione livello dati, quindi registrare una nuova istanza di applicazione livello dati dal database.

Avviso

La ricompilazione di un'istanza di applicazione livello dati mediante la registrazione di un'applicazione livello dati da un database ripristinato o ricollegato non implica la ricreazione di alcune parti dell'applicazione originale, quali i criteri di selezione dei server.

Autorizzazioni

Un'applicazione livello dati può essere eliminata unicamente da membri del ruolo predefinito del server sysadmin o serveradmin oppure dal proprietario del database. È inoltre possibile avviare la procedura guidata usando l'account dell'amministratore di sistema di SQL Server predefinito denominato sa.

Utilizzo della procedura guidata Elimina applicazione livello dati

Per eliminare un'applicazione livello dati tramite una procedura guidata

  1. In Esplora oggettiespandere il nodo dell'istanza contenente l'applicazione livello dati da eliminare.

  2. Espandere il nodo Gestione.

  3. Espandere il nodo Applicazioni livello dati.

  4. Fare clic con il pulsante destro del mouse sull'applicazione livello dati (DAC) da eliminare e quindi selezionare Elimina applicazione livello dati.

  5. Completare le finestre di dialogo della procedura guidata.

    1. Introduzione

    2. Seleziona metodo

    3. Riepilogo

    4. Elimina applicazione livello dati

Pagina Introduzione

In questa pagina vengono descritti i passaggi per l'eliminazione di un'applicazione livello dati.

Non visualizzare più questa pagina - Fare clic sulla casella di controllo per evitare che la pagina venga visualizzata nuovamente in futuro.

Avanti>: consente di passare alla pagina Seleziona metodo.

Annulla : consente di terminare la procedura guidata senza eliminare un'applicazione livello dati o un database.

Utilizzo della procedura guidata Elimina applicazione livello dati

Pagina Seleziona metodo

Utilizzare questa pagina per specificare l'opzione per la gestione del database associato all'applicazione livello dati da eliminare.

Elimina registrazione : consente di rimuovere i metadati che definiscono l'applicazione livello dati lasciando intatto il database associato.

Scollega database : consente di rimuovere i metadati che definiscono l'applicazione livello dati e scollegare il database associato.

L'istanza del motore di database non può più fare riferimento al database, ma i dati e il file di log rimangono intatti.

Elimina database : consente di rimuovere i metadati che definiscono l'applicazione livello dati ed eliminare il database associato.

I dati e i file di log per il database vengono definitivamente eliminati.

< Indietro : consente di tornare alla pagina Introduzione.

Avanti>: consente di passare alla pagina Riepilogo.

Annulla : consente di terminare la procedura guidata senza eliminare l'applicazione livello dati o il database.

Utilizzo della procedura guidata Elimina applicazione livello dati

Pagina Riepilogo

Utilizzare questa pagina per verificare le azioni eseguite dalla procedura guidata in caso di eliminazione dell'istanza di applicazione livello dati.

Controlla selezioni : consente di verificare l'applicazione livello dati, il database e il metodo di eliminazione visualizzato nella casella. Se le informazioni sono corrette, selezionare Avanti o Fine per eliminare l'applicazione livello dati. Se l'applicazione livello dati e le informazioni del database non sono corrette, selezionare Annulla , quindi l'applicazione livello dati corretta. Se il metodo di eliminazione non è corretto, scegliere Indietro per tornare alla pagina Seleziona metodo e selezionare un altro metodo.

< Indietro : consente di tornare alla pagina Seleziona metodo per selezionare un altro metodo di eliminazione.

Avanti>: consente di eliminare l'istanza DAC usando il metodo selezionato nella pagina precedente e passare alla pagina Elimina applicazione del livello dati.

Annulla : consente di terminare la procedura guidata senza eliminare l'istanza di applicazione livello dati.

Utilizzo della procedura guidata Elimina applicazione livello dati

Pagina Elimina applicazione livello dati

In questa pagina viene indicato l'esito positivo o negativo dell'operazione di eliminazione.

Eliminazione dell'applicazione livello dati : consente di visualizzare l'esito positivo o negativo di ogni azione eseguita per l'eliminazione dell'istanza di applicazione livello dati. Verificare le informazioni che determinano l'esito positivo o negativo di ciascuna azione. Ogni azione che ha rilevato un errore avrà un collegamento nella colonna Risultato. Selezionare il collegamento per visualizzare un report dell'errore per l'azione.

Salva report : consente di salvare il report dell'eliminazione come file HTML. Nel file viene riportato lo stato di ogni azione, inclusi tutti gli errori generati da qualsiasi azione. La cartella predefinita è una cartella SQL Server Management Studio\DAC Packages contenuta all'interno della cartella Documenti dell'account di Windows.

Fine : consente di terminare la procedura guidata.

Utilizzo della procedura guidata Elimina applicazione livello dati

Utilizzo di PowerShell

  1. Creare un oggetto server SMO e impostarlo sull'istanza contenente l'applicazione livello dati da eliminare.

  2. Aprire un oggetto ServerConnection e connetterlo alla stessa istanza.

  3. Utilizzare add_DacActionStarted e add_DacActionFinished per sottoscrivere gli eventi dell'aggiornamento dell'applicazione livello dati.

  4. Specificare l'applicazione livello dati da eliminare.

  5. Usare uno dei tre esempi, in base all'opzione di eliminazione appropriata:

    • Per eliminare la registrazione dell'applicazione livello dati e lasciare intatto il database, usare il metodo Unmanage.
    • Per eliminare la registrazione dell'applicazione livello dati e scollegare il database, utilizzare il metodo Uninstall e specificare DetachDatabase.
    • Per eliminare la registrazione dell'applicazione livello dati ed eliminare il database, utilizzare il metodo Uninstall e specificare DropDatabase.

Eliminare l'applicazione livello dati e lasciare il database

Nell'esempio seguente viene eliminata un'applicazione livello dati denominata <myApplication> usando il metodo Unmanage per eliminare l'applicazione livello dati lasciando intatto il 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>"  
  
## Only delete the DAC definition from msdb, the associated database remains active.  
$dacStore.Unmanage($dacName)  

Eliminare l'applicazione livello dati e scollegare il database

Nell'esempio seguente viene eliminata un'applicazione livello dati denominata <myApplication> usando il metodo Uninstall per eliminare l'applicazione livello dati e scollegare il 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)  

Eliminare l'applicazione livello dati ed eliminare il database

Nell'esempio seguente viene eliminata un'applicazione livello dati denominata <myApplication> usando il metodo Uninstall per eliminare l'applicazione livello dati ed eliminare il 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)  

Vedi anche

Applicazioni livello dati
Applicazioni livello dati
Distribuire un'applicazione livello dati
Registrare un database come applicazione livello dati
Backup e ripristino di database SQL Server
Collegamento e scollegamento di un database (SQL Server)