Eliminazione di un'applicazione livello datiDelete a Data-tier Application

È possibile eliminare un'applicazione livello dati utilizzando la procedura guidata Elimina applicazione livello dati o uno script Windows PowerShell.You can delete a data-tier application by using either the Delete Data-tier Application wizard or a Windows PowerShell script. È possibile specificare se il database associato viene mantenuto, scollegato o eliminato.You can specify whether the associated database is retained, detached, or dropped.

Prima di iniziareBefore You Begin

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.When you delete a data-tier application (DAC) instance, you choose one of three options specifying what is to be done with the database associated with the data-tier application. Tutte e tre le opzioni consentono di eliminare i metadati che definiscono l'applicazione livello dati.All three options delete the DAC definition metadata. Le opzioni differiscono tra loro per le azioni relative al database associato all'applicazione livello dati.The options differ in what they do with the database associated with the data-tier application. 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.The wizard does not delete any of the instance-level objects associated with the DAC or database, such as logins.

OpzioneOption Azioni di databaseDatabase actions
Elimina registrazioneDelete registration Il database associato rimane intatto.The associated database remains intact.
Scollega databaseDetach database Il database associato viene scollegato.The associated database is detached. L'istanza del Motore di database non potrà fare riferimento al database, ma i file di dati e di log rimarranno invariati.The instance of the Database Engine cannot reference the database, but the data and log files are intact.
Elimina databaseDelete database Il database associato viene eliminato.The associated database is dropped. I file di dati e di log vengono eliminati.The data and log files are deleted.

Limitazioni e restrizioni Limitations and Restrictions

Non esistono meccanismi automatici per ripristinare i metadati della definizione o il database dell'applicazione livello dati dopo l'eliminazione dell'applicazione.There is no automatic mechanism to restore the DAC definition metadata or the database after you delete a DAC. Il metodo per ricompilare manualmente l'istanza di applicazione livello dati dipende dall'opzione di eliminazione scelta.How you can manually rebuild the DAC instance depends on the delete option.

OpzioneOption Metodo di ricompilazione dell'istanza di applicazione livello datiHow to Rebuild the DAC Instance
Elimina registrazioneDelete registration Registrare un'applicazione livello dati dal database rimasto.Register a DAC from the database left in place.
Scollega databaseDetach database Collegare nuovamente il database tramite sp_attachdb o SQL Server Management StudioSQL Server Management Studio, quindi registrare una nuova istanza di applicazione livello dati dal database.Re-attach the database by using sp_attachdb or SQL Server Management StudioSQL Server Management Studio, and then register a new DAC instance from the database.
Elimina databaseDelete 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.Restore the database from a full backup made before the DAC was deleted, and then register a new DAC instance from the 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.Rebuilding a DAC instance by registering a DAC from a restored or re-attached database will not recreate some parts of the original DAC, such as the server selection policy.

Autorizzazioni Permissions

Un'applicazione livello dati può essere eliminata unicamente da membri del ruolo predefinito del server sysadmin o serveradmin oppure dal proprietario del database.A DAC can only be deleted by members of the sysadmin or serveradmin fixed server roles, or by the database owner. È inoltre possibile avviare la procedura guidata usando l'account dell'amministratore di sistema di SQL ServerSQL Server predefinito denominato sa .The built-in SQL ServerSQL Server system administrator account named sa can also launch the wizard.

Utilizzo della procedura guidata Elimina applicazione livello dati Using the Delete Data-tier Application Wizard

Per eliminare un'applicazione livello dati tramite una procedura guidataTo Delete a DAC Using a Wizard

  1. In Esplora oggettiespandere il nodo dell'istanza contenente l'applicazione livello dati da eliminare.In Object Explorer, expand the node for the instance containing the DAC to be deleted.

  2. Espandere il nodo Gestione .Expand the Management node.

  3. Espandere il nodo Applicazioni livello dati .Expand the Data-tier Applications node.

  4. Fare clic con il pulsante destro del mouse sull'applicazione livello dati (DAC) da eliminare, quindi selezionare Elimina applicazione livello dati.Right-click the DAC to be deleted, and then select Delete Data-tier Application…

  5. Completare le finestre di dialogo della procedura guidata.Complete the wizard dialogs:

    1. IntroduzioneIntroduction

    2. Seleziona metodoChoose Method

    3. RiepilogoSummary

    4. Elimina applicazione livello datiDelete Data-tier Application

Pagina Introduzione Introduction Page

In questa pagina vengono descritti i passaggi per l'eliminazione di un'applicazione livello dati.This page describes the steps for deleting a data-tier application.

Non visualizzare più questa paginaDo not show this page again. - Fare clic sulla casella di controllo per evitare che la pagina venga visualizzata nuovamente in futuro.- Click the check box to stop the page from being displayed in the future.

Avanti >: consente di passare alla pagina Seleziona metodo.Next > - Proceeds to the Choose Method page.

Annulla : consente di terminare la procedura guidata senza eliminare un'applicazione livello dati o un database.Cancel - Ends the wizard without deleting a data-tier application or database.

Utilizzo della procedura guidata Elimina applicazione livello datiUsing the Delete Data-tier Application Wizard

Pagina Seleziona metodo Choose Method Page

Utilizzare questa pagina per specificare l'opzione per la gestione del database associato all'applicazione livello dati da eliminare.Use this page to specify the option for handling the database associated with the DAC to be deleted.

Elimina registrazione : consente di rimuovere i metadati che definiscono l'applicazione livello dati lasciando intatto il database associato.Delete registration - Removes the metadata defining the data-tier application, but leaves the associated database intact.

Scollega database : consente di rimuovere i metadati che definiscono l'applicazione livello dati e scollegare il database associato.Detach database - Removes the metadata defining the data-tier application and detaches the associated database.

L'istanza del Motore di databaseDatabase Enginenon può più fare riferimento al database, ma i dati e il file di log rimangono intatti.The database can no longer be referenced by that instance of the Motore di databaseDatabase Engine, but the data and log files remain intact.

Elimina database : consente di rimuovere i metadati che definiscono l'applicazione livello dati ed eliminare il database associato.Delete database - Removes the metadata defining the DAC and drops the associated database.

I dati e i file di log per il database vengono definitivamente eliminati.The data and log files for the database are permanently deleted.

< Indietro: consente di tornare alla pagina Introduzione.< Previous - Returns to the Introduction page.

Avanti >: consente di passare alla pagina Riepilogo.Next > - Proceeds to the Summary page.

Annulla : consente di terminare la procedura guidata senza eliminare l'applicazione livello dati o il database.Cancel - Ends the wizard without deleting the DAC or database.

Utilizzo della procedura guidata Elimina applicazione livello datiUsing the Delete Data-tier Application Wizard

Pagina Riepilogo Summary Page

Utilizzare questa pagina per verificare le azioni eseguite dalla procedura guidata in caso di eliminazione dell'istanza di applicazione livello dati.Use this page to review the actions the wizard will take when deleting the DAC instance.

Controlla selezioni : consente di verificare l'applicazione livello dati, il database e il metodo di eliminazione visualizzato nella casella.Review your selection summary - Review the DAC, database, and deletion method displayed in the box. Se le informazioni sono corrette, selezionare Avanti o Fine per eliminare l'applicazione livello dati.If the information is correct, select either Next or Finish to delete the DAC. Se l'applicazione livello dati e le informazioni del database non sono corrette, selezionare Annulla , quindi l'applicazione livello dati corretta.If the DAC and database information is not correct, select Cancel and select the correct DAC. Se il metodo di eliminazione non è corretto, scegliere Indietro per tornare alla pagina Seleziona metodo e selezionare un altro metodo.If the deletion method is not correct, select Previous to return to the Choose Method page and select a different method.

< Indietro: consente di tornare alla pagina Seleziona metodo per selezionare un altro metodo di eliminazione.< Previous - Returns to the Choose Method page to choose a different delete method.

Avanti >: consente di eliminare l'istanza DAC usando il metodo selezionato nella pagina precedente e passare alla pagina Elimina applicazione del livello dati.Next > - Deletes the DAC instance using the method you chose on the previous page, and proceeds to the Delete Data-tier Application page.

Annulla : consente di terminare la procedura guidata senza eliminare l'istanza di applicazione livello dati.Cancel - Ends the wizard without deleting the DAC instance.

Utilizzo della procedura guidata Elimina applicazione livello datiUsing the Delete Data-tier Application Wizard

Pagina Elimina applicazione livello dati Delete Data-tier Application Page

In questa pagina viene indicato l'esito positivo o negativo dell'operazione di eliminazione.This page reports the success or failure of the delete operation.

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.Deleting the DAC - Reports the success or failure of each action taken to delete the DAC instance. Verificare le informazioni che determinano l'esito positivo o negativo di ciascuna azione.Review the information to determine the success or failure of each action. Ogni azione che ha rilevato un errore avrà un collegamento nella colonna Risultato .Any action that encountered an error will have a link in the Result column. Selezionare il collegamento per visualizzare un report dell'errore per l'azione.Select the link to view a report of the error for that action.

Salva report : consente di salvare il report dell'eliminazione come file HTML.Save Report - Select this button to save the deletion report to an HTML file. Nel file viene riportato lo stato di ogni azione, inclusi tutti gli errori generati da qualsiasi azione.The file reports the status of each action, including all errors generated by any of the actions. La cartella predefinita è una cartella SQL Server Management Studio\DAC Packages contenuta all'interno della cartella Documenti dell'account di Windows.The default folder is a SQL Server Management Studio\DAC Packages folder in the Documents folder of your Windows account..

Fine : consente di terminare la procedura guidata.Finish - Ends the wizard.

Utilizzo della procedura guidata Elimina applicazione livello datiUsing the Delete Data-tier Application Wizard

Eliminazione di un'applicazione livello dati con PowerShell Delete a DAC Using PowerShell

Eliminazione di un'applicazione livello dati mediante uno script di PowerShellTo delete a DAC using a PowerShell script

  1. Creare un oggetto server SMO e impostarlo sull'istanza contenente l'applicazione livello dati da eliminare.Create a SMO Server object and set it to the instance that contains the DAC to be deleted.

  2. Aprire un oggetto ServerConnection e connetterlo alla stessa istanza.Open a ServerConnection object and connect to the same instance.

  3. Usare add_DacActionStarted e add_DacActionFinished per sottoscrivere gli eventi di aggiornamento dell'applicazione livello dati.Use add_DacActionStarted and add_DacActionFinished to subscribe to the DAC upgrade events.

  4. Specificare l'applicazione livello dati da eliminare.Specify the DAC to delete.

  5. Utilizzare uno dei tre set di codice, in base all'opzione di eliminazione appropriata:Use one of these three sets of code, depending on which delete option is appropriate:

    • Per eliminare la registrazione dell'applicazione livello dati e lasciare intatto il database, usare il metodo Unmanage() .To delete the DAC registration but leave the database intact, use the Unmanage() method.

    • Per eliminare la registrazione dell'applicazione livello dati e scollegare il database, usare il metodo Uninstall() e specificare DetachDatabase.To delete the DAC registration and detach the database, use the Uninstall() method and specify DetachDatabase.

    • Per eliminare la registrazione dell'applicazione livello dati ed eliminare il database, usare il metodo Uninstall() e specificare DropDatabase.To delete the DAC registration and drop the database, use the Uninstall() method and specify DropDatabase.

Esempio di eliminazione dell'applicazione livello dati conservando il database (PowerShell)Example Deleting the DAC but Leaving the Database (PowerShell)

L'esempio seguente mostra come eliminare un'applicazione livello dati denominata MyApplication usando il metodo Unmanage() per eliminare l'applicazione livello dati ma lasciare il database intatto.The following example deletes a DAC named MyApplication using the Unmanage() method to delete the DAC but leave the database intact.

## 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)  

Eliminazione di un'applicazione livello dati con PowerShellDelete a DAC Using PowerShell

Esempio di eliminazione dell'applicazione livello dati con scollegamento del database (PowerShell)Example Deleting the DAC and Detaching the Database (PowerShell)

L'esempio seguente mostra come eliminare un'applicazione livello dati denominata MyApplication usando il metodo Uninstall() per eliminare l'applicazione livello dati e scollegare il database.The following example deletes a DAC named MyApplication using the Uninstall() method to delete the DAC and detach the 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)  

Eliminazione di un'applicazione livello dati con PowerShellDelete a DAC Using PowerShell

Esempio di eliminazione dell'applicazione livello dati con eliminazione del database (PowerShell)Example Deleting the DAC and Dropping the Database (PowerShell)

L'esempio seguente mostra come eliminare un'applicazione livello dati denominata MyApplication usando il metodo Uninstall() per eliminare l'applicazione livello dati ed eliminare il database.The following example deletes a DAC named MyApplication using the Uninstall() method to delete the DAC and drop the 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)  

Eliminazione di un'applicazione livello dati con PowerShellDelete a DAC Using PowerShell

Vedere ancheSee Also

Applicazioni livello dati Data-tier Applications
Applicazioni livello dati Data-tier Applications
Distribuire un'applicazione livello dati Deploy a Data-tier Application
Registrare un database come applicazione livello dati Register a Database As a DAC
Backup e ripristino di database SQL Server Back Up and Restore of SQL Server Databases
Collegamento e scollegamento di un database (SQL Server) Database Detach and Attach (SQL Server)