Procedura: 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

Quando si elimina un'istanza dell'applicazione livello dati, è necessario selezionare una di 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 a DAC 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 cancellati.

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 DAC dipende dall'opzione di eliminazione scelta.

Opzione

Metodo di ricompilazione dell'istanza DAC

Elimina registrazione

Registrare un'istanza DAC dal database rimasto.

Scollega database

Collegare nuovamente il database tramite sp_attachdb o SQL Server Management Studio, quindi registrare una nuova istanza DAC dal database.

Elimina database

Ripristinare il database da un backup completo eseguito prima dell'eliminazione dell'istanza DAC, quindi registrare una nuova istanza DAC dal database.

Nota

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

Eliminazione di un'applicazione livello dati con PowerShell

Creare un file script di PowerShell (come DeleteDAC.ps1) contenente il codice seguente.

  1. Aggiungere codice per creare un oggetto server SMO e impostarlo sull'istanza contenente l'applicazione livello dati da eliminare. In questo esempio viene impostato un oggetto server sull'istanza predefinita nel computer locale:

    ## Set a SMO Server object to the default instance on the local computer.
    CD SQLSERVER:\SQL\localhost\DEFAULT
    $srv = get-item .
    
  2. Aggiungere codice per aprire un oggetto ServerConnection e connetterlo alla stessa istanza.

    ## 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)
    
  3. Aggiungere codice per sottoscrivere gli eventi di eliminazione dell'applicazione livello dati.

    ## 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})
    
  4. Aggiungere codice per specificare l'applicazione livello dati da eliminare. In questo esempio viene specificato il nome dell'applicazione livello dati:

    ## Specify the DAC to delete.
    $dacName  = "MyApplication"
    
  5. Aggiungere codice per eseguire il metodo Uninstall con le informazioni specificate in precedenza. 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:

      ## Only delete the DAC definition from msdb, the associated database remains active.
      $dacstore.Unmanage($dacName)
      
    • Per eliminare la registrazione dell'applicazione livello dati e scollegare il database:

      ## Delete the DAC definition from msdb and detach the associated database.
      $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)
      
    • Per eliminare la registrazione dell'applicazione livello dati ed eliminare il database:

      ## Delete the DAC definition from msdb and drop the associated database.
      ## $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)
      

Eseguire DeleteDAC.ps1 da una sessione PowerShell in cui sono stati caricati gli snap-in SQL Server PowerShell o utilizzando il prompt dei comandi sqlps.

Utilizzo della procedura guidata Elimina applicazione livello dati

In Management Studio è possibile avviare la procedura guidata facendo clic con il pulsante destro del mouse su un nodo dell'applicazione livello dati in Esplora oggetti e selezionando Elimina applicazione livello dati....

Fare clic su un collegamento nell'elenco riportato di seguito per passare ai dettagli per una pagina nella procedura guidata:

  • Introduzione

  • Seleziona metodo

  • Riepilogo

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

Pagina Seleziona metodo

Utilizzare questa pagina per specificare il metodo per l'eliminazione dell'applicazione livello dati.

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

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

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 DAC. Se DAC e le informazioni del database non sono corrette, selezionare Annulla, quindi DAC corretto. 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 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 DAC.

Pagina Elimina applicazione livello dati

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

Eliminazione di DAC: consente di visualizzare l'esito positivo o negativo di ogni azione eseguita per l'eliminazione dell'istanza DAC. 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.

Cronologia modifiche

Contenuto aggiornato

Aggiunta sessione sull'utilizzo di PowerShell.