Procedura: Registrazione di un database come applicazione livello dati

Utilizzare la procedura guidata Registra applicazione livello dati o uno script Windows PowerShell per compilare una definizione dell'applicazione livello dati che descrive gli oggetti contenuti in un database esistente e registrarla nel database di sistema msdb (master in SQL Azure).

Prima di iniziare

È possibile registrare un'applicazione livello dati (DAC) da un Database di Microsoft SQL Azure o da un database in SQL Server 2005 Service Pack 4 (SP4) o versioni successive. In caso di istanza gestita del motore di database, l'applicazione livello dati (DAC) registrata verrà incorporata in Utilità SQL Server al successivo invio del set di raccolta dell'utilità dall'istanza al punto di controllo dell'utilità. L'applicazione livello dati sarà quindi presente nel nodo Applicazioni livello dati distribuite in Esplora utilità di Management Studio e verrà segnalata nella pagina dei dettagli Applicazioni livello dati distribuite.

Nota    La registrazione di un'applicazione livello dati in un'istanza di Motore di database, richiede almeno autorizzazioni ALTER ANY LOGIN e VIEW DEFINITION di ambito del database e autorizzazioni SELECT su sys.sql_expression_dependencies, oltre che l'appartenenza al ruolo predefinito del server dbcreator. Possono registrare un'applicazione livello dati anche i membri del ruolo predefinito del server sysadmin o dell'account amministratore di sistema SQL Server predefinito di nome sa. La registrazione di un'applicazione livello dati che non contiene accessi in SQL Azure richiede l'appartenenza ai ruoli dbmanager o serveradmin. La registrazione di un'applicazione livello dati che contiene accessi in SQL Azure richiede l'appartenenza al ruolo loginmanager o serveradmin.

Limiti

È possibile eseguire la registrazione dell'applicazione livello dati (DAC) solo in SQL Azure o in SQL Server 2005 SP4 o versioni successive. La registrazione di un'applicazione livello dati non può essere eseguita se ne è già stata registrata una per il database. Se, ad esempio, il database è stato creato tramite distribuzione di un'applicazione livello dati, non è possibile eseguire la procedura guidata Registra applicazione livello dati.

Non è possibile registrare un'applicazione livello dati se il database contiene oggetti non sono supportati in tale tipo di applicazione. Per ulteriori informazioni sui tipi di oggetti supportati in un'applicazione livello dati, vedere Supporto dell'applicazione livello dati per oggetti e versioni di SQL Server.

Registrazione di un'applicazione livello dati con PowerShell

Creare un file RegisterDAC.ps1 contenente il codice seguente.

  1. Aggiungere codice per creare un oggetto server SMO e impostarlo sull'istanza contenente il database da cui si desidera estrarre un'applicazione livello dati. 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 specificare il database. In questo esempio viene specificato un database chiamato MyDB:

    ## Specify the database to register as a DAC.
    $dbname = "MyDB"
    
  3. Aggiungere codice per specificare i metadati per l'applicazione livello dati. In questo esempio vengono specificati il nome, la versione e la descrizione dell'applicazione livello dati:

    ## Specify the DAC metadata.
    $applicationname = "MyApplication"
    $version = "1.0.0.0"
    $description = "This DAC defines the database used by my application."
    
  4. Aggiungere codice per eseguire il metodo Register con le informazioni specificate in precedenza.

    ## Register the DAC.
    $registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
    $registerunit.Description = $description
    $registerunit.Register()
    

Eseguire RegisterDAC.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 Registra applicazione livello dati

Per avviare la procedura guidata Registra applicazione livello dati in Management Studio, procedere come segue:

  • In Esplora oggetti fare clic con il pulsante destro del mouse sul database, scegliere Attività, quindi selezionare Registrazione applicazione livello dati.

Verrà creata la definizione di un'applicazione livello dati per gli oggetti nel database rappresentati dal nodo selezionato nella gerarchia di Esplora oggetti. La definizione dell'applicazione livello dati viene archiviata nel database di sistema msdb (master in SQL Azure). La descrizione dell'applicazione livello dati e il database combinati costituiscono un'istanza di applicazione livello dati. Le informazioni sull'istanza di applicazione livello dati vengono caricate in Utilità SQL Server quando il successivo set di raccolta dell'utilità viene trasmesso al punto di controllo dell'utilità. È possibile visualizzare le informazioni nel nodo Applicazioni livello dati distribuite di Esplora utilità.

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

  • Pagina Introduzione

  • Pagina Imposta proprietà

  • Pagina Convalida e riepilogo

  • Pagina Registra DAC

Pagina Introduzione

In questa pagina vengono descritti i passaggi per la registrazione di un'applicazione livello dati.

Non visualizzare più questa pagina: selezionare la casella di controllo per evitare che la pagina venga visualizzata nuovamente in futuro.

Avanti >: consente di passare alla pagina Imposta proprietà.

Annulla: consente di terminare la procedura guidata senza registrare un'applicazione livello dati.

Pagina Imposta proprietà

Utilizzare questa pagina per specificare le proprietà a livello di applicazione livello dati quali il nome dell'applicazione e la versione.

Nome applicazione: stringa che specifica il nome utilizzato per identificare la definizione dell'applicazione livello dati; il campo viene popolato con il nome del database.

Versione: valore numerico che identifica la versione dell'applicazione livello dati. La versione dell'applicazione livello dati viene utilizzata in Visual Studio per identificare la versione dell'applicazione livello dati sulla quale stanno lavorando gli sviluppatori. Quando si distribuisce un'applicazione livello dati, la versione viene archiviata nel database msdb e può essere visualizzata successivamente nel nodo Applicazioni livello dati di SQL Server Management Studio.

Descrizione (facoltativa): testo che illustra lo scopo dell'applicazione livello dati. Quando si distribuisce un'applicazione livello dati, la descrizione viene archiviata nel database msdb e può essere visualizzata successivamente nel nodo Applicazioni livello dati di Management Studio.

< Indietro: consente di tornare alla pagina Introduzione.

Avanti >: consente di verificare che sia possibile compilare un'applicazione livello dati dagli oggetti nel database e di visualizzare i risultati nella pagina Convalida e riepilogo.

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

Utilizzare questa pagina per verificare le azioni eseguite dalla procedura guidata durante la registrazione dell'applicazione livello dati. La pagina passa attraverso tre stati per verificare se un'applicazione livello dati possa essere compilata dagli oggetti contenuti nel database.

Recupero degli oggetti

Recupero degli oggetti database e server: consente di visualizzare un indicatore di stato durante il recupero di tutti gli oggetti richiesti dal database e dall'istanza del Motore di database.

< Indietro: consente di tornare alla pagina Imposta proprietà per modificare le voci selezionate.

Avanti >: consente di registrare l'applicazione livello dati e visualizzare i risultati nella pagina Registra DAC.

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

Convalida degli oggetti

Controllo SchemaName**.ObjectName:** consente di visualizzare un indicatore di stato durante la verifica delle dipendenze degli oggetti recuperati e della loro validità per l'applicazione livello dati. SchemaName**.**ObjectName consente di identificare l'oggetto attualmente sottoposto a verifica.

< Indietro: consente di tornare alla pagina Imposta proprietà per modificare le voci selezionate.

Avanti >: consente di registrare l'applicazione livello dati e visualizzare i risultati nella pagina Registra DAC.

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

Per la registrazione dell'applicazione livello dati verranno utilizzate le impostazioni seguenti: consente di visualizzare un report delle proprietà e degli oggetti che verranno inclusi nell'applicazione livello dati.

Salva report: consente di salvare una copia del report di convalida come file HTML. La cartella predefinita è una cartella SQL Server Management Studio\DAC Packages contenuta all'interno della cartella Documenti dell'account di Windows.

< Indietro: consente di tornare alla pagina Imposta proprietà per modificare le voci selezionate.

Avanti >: consente di registrare l'applicazione livello dati e visualizzare i risultati nella pagina Registra DAC.

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

Pagina Registra DAC

In questa pagina viene riportato l'esito positivo o negativo della registrazione.

Registrazione di DAC: consente di visualizzare l'esito positivo o negativo di ogni azione eseguita per la registrazione dell'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 della registrazione 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. Il nome del file è nel formato <DACPackageName>_RegisterDACReport_yyyymmdd.html, dove <DACPackageName> è il nome del pacchetto da distribuire, yyyy = l'anno corrente, mm = il mese corrente e dd = il giorno corrente.

Fine: consente di terminare la procedura guidata.

Cronologia modifiche

Contenuto aggiornato

Aggiunta sessione sull'utilizzo di PowerShell.