Eliminazione di un'applicazione livello dati

È 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 tramite: la procedura guidata Aggiorna 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.

[Torna all'inizio]

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.

Nota di attenzioneAttenzione

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.

[Torna all'inizio]

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 utilizzando l'account dell'amministratore di sistema di SQL Server predefinito denominato sa.

[Torna all'inizio]

Utilizzo della procedura guidata Elimina applicazione livello dati

Per eliminare un'applicazione livello dati tramite una procedura guidata

  1. In Esplora oggetti espandere 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 da eliminare, 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

[Torna all'inizio]

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.

[Eliminazione guidata]

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 rimuove 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 rimuove 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.

[Eliminazione guidata]

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 di applicazione livello dati utilizzando il metodo selezionato nella pagina precedente e passare alla pagina Elimina applicazione livello dati.

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

[Eliminazione guidata]

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.

[Eliminazione guidata]

Eliminazione di un'applicazione livello dati con PowerShell

Eliminazione di un'applicazione livello dati mediante uno script 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. Utilizzare uno dei tre set di codice, in base all'opzione di eliminazione appropriata:

    • Per eliminare la registrazione dell'applicazione livello dati e lasciare intatto il database, utilizzare 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.

[Torna all'inizio]

Esempio di eliminazione dell'applicazione livello dati conservando il database (PowerShell)

Nell'esempio seguente viene eliminata un'applicazione livello dati denominata MyApplication utilizzando il metodo Unmanage() per eliminare l'applicazione livello dati ma lasciando il database intatto.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = get-item .

## Open a Common.ServerConnection to the same instance.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.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)

PowerShell

Esempio di eliminazione dell'applicazione livello dati con scollegamento del database (PowerShell)

Nell'esempio seguente viene eliminata un'applicazione livello dati denominata MyApplication utilizzando il metodo Uninstall() per eliminare l'applicazione livello dati scollegando il database.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = get-item .

## Open a Common.ServerConnection to the same instance.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.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)

PowerShell

Esempio di eliminazione dell'applicazione livello dati con eliminazione del database (PowerShell)

Nell'esempio seguente viene eliminata un'applicazione livello dati denominata MyApplication utilizzando il metodo Uninstall() per eliminare l'applicazione livello dati eliminando il database.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = get-item .

## Open a Common.ServerConnection to the same instance.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.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)

PowerShell

Vedere anche

Concetti

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)