Eliminare un'applicazione livello dati
Si applica a: SQL Server Database 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: Limitazioni e restrizioni, Autorizzazioni
Per aggiornare un'applicazione livello dati (DAC) tramite: la procedura guidata Registra applicazione livello dati, PowerShell
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
In Esplora oggettiespandere il nodo dell'istanza contenente l'applicazione livello dati da eliminare.
Espandere il nodo Gestione.
Espandere il nodo Applicazioni livello dati.
Fare clic con il pulsante destro del mouse sull'applicazione livello dati (DAC) da eliminare e quindi selezionare Elimina applicazione livello dati.
Completare le finestre di dialogo della procedura guidata.
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
Tramite PowerShell
Creare un oggetto server SMO e impostarlo sull'istanza contenente l'applicazione livello dati da eliminare.
Aprire un oggetto ServerConnection e connetterlo alla stessa istanza.
Utilizzare
add_DacActionStarted
eadd_DacActionFinished
per sottoscrivere gli eventi dell'aggiornamento dell'applicazione livello dati.Specificare l'applicazione livello dati da eliminare.
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 specificareDetachDatabase
. - Per eliminare la registrazione dell'applicazione livello dati ed eliminare il database, utilizzare il metodo
Uninstall
e specificareDropDatabase
.
- Per eliminare la registrazione dell'applicazione livello dati e lasciare intatto il database, usare il metodo
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)