Registrare un database come applicazione livello dati

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

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

Prima di iniziare

Il processo di registrazione genera una definizione di applicazione livello dati che definisce gli oggetti nel database. La definizione dell'applicazione livello dati e il database combinati costituiscono un'istanza di applicazione livello dati. Se si registra un database come applicazione livello dati in un'istanza del motore di database, l'applicazione livello dati registrata viene 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 Deployed Data-tier Applications (Applicazioni livello dati distribuite) in Utility Explorer di Management Studio e riportata nella pagina dei dettagli Deployed Data-tier Applications.

Limitazioni e restrizioni

La registrazione di un'applicazione livello dati può essere effettuata solo per un database nel database SQL o in SQL Server 2005 (9.x) Service Pack 4 (SP4) o versioni successive. La registrazione di un'applicazione livello dati non può essere eseguita se è stata già registrata un'applicazione livello dati per il database. Se, ad esempio, il database è stato creato distribuendo un'applicazione livello dati, non è possibile eseguire la procedura guidata Registra applicazione livello dati.

Non è possibile registrare un'applicazione livello dati se il database include oggetti non supportati nell'applicazione livello dati o utenti contenuti. Per ulteriori informazioni sui tipi di oggetti supportati in un'applicazione livello dati, vedere DAC Support For SQL Server Objects and Versions.

Autorizzazioni

La registrazione di un'applicazione livello dati in un'istanza del motore di database richiede almeno autorizzazioni ALTER ANY sign in e VIEW DEFINITION per l'ambito del database, nonché autorizzazioni SELECT su sys.sql_expression_dependencies, oltre all'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 denominato sa. La registrazione di un'applicazione livello dati che non contiene accessi nel database SQL richiede l'appartenenza ai ruoli dbmanager o serveradmin. La registrazione di un'applicazione livello dati che contiene account di accesso nel database SQL richiede l'appartenenza ai ruoli loginmanager o serveradmin.

Usare la procedura guidata Registra applicazione livello dati

Per registrare un'applicazione livello dati tramite procedura guidata

  1. In Esplora oggettiespandere il nodo dell'istanza contenente il database per il quale registrare l'applicazione livello dati.

  2. Espandere il nodo di Database.

  3. Fare clic con il pulsante destro del mouse sul database da registrare, scegliere Attività e quindi selezionare Registra come applicazione livello dati.

  4. Completare le finestre di dialogo della procedura guidata.

    1. Pagina Introduzione

    2. Pagina Imposta proprietà

    3. Pagina Convalida e riepilogo

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

Utilizzo della procedura guidata Registra 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 usato per identificare la definizione dell'applicazione livello dati; il campo è stato popolato con il nome del database.

Versione. - Valore numerico che identifica la versione dell'applicazione livello dati. La versione DAC viene utilizzata in Visual Studio per identificare la versione della DAC alla 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.

Utilizzo della procedura guidata Registra applicazione livello dati

Pagina Convalida e riepilogo

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.

Utilizzo della procedura guidata Registra applicazione livello dati

Recuperare gli oggetti

Recupero di 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 applicazione livello dati.

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

Utilizzo della procedura guidata Registra applicazione livello dati

Convalidare gli oggetti

VerificaNomeSchema.NomeOggetto.: 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 identifica l'oggetto in fase di 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 applicazione livello dati.

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

Utilizzo della procedura guidata Registra applicazione livello dati

Riepilogo

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

Salva report consente di salvare una copia del report di convalida come file HTML. La cartella predefinita, SQL Server Management Studio\DAC Packages , si trova 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 applicazione livello dati.

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

Utilizzo della procedura guidata Registra applicazione livello dati

Pagina Registra DAC

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

Registrazione dell'applicazione livello dati : 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 ha 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, SQL Server Management Studio\DAC Packages , si trova all'interno della cartella Documenti dell'account di Windows. Il nome file è nel formato <NomePacchettoDAC>_RegisterDACReport_aaaammgg.html, dove <NomePacchettoDAC> è il nome del pacchetto da distribuire, aaaa indica l'anno corrente, mm il mese corrente e gg il giorno corrente.

Fine : consente di terminare la procedura guidata.

Utilizzo della procedura guidata Registra applicazione livello dati

Registrare un'applicazione livello dati tramite PowerShell

Per registrare un database come applicazione livello dati usando il metodo Register() in uno script di PowerShell

  1. Creare un oggetto server SMO e impostarlo sull'istanza contenente il database che si desidera registrare come applicazione livello dati.

  2. Aggiungere una variabile che specifichi il nome del database.

  3. Specificare i metadati per l'applicazione livello dati, quali nome dell'applicazione livello dati, versione e descrizione.

  4. Eseguire il metodo Register con le informazioni specificate in precedenza.

Esempio (PowerShell)

Nell'esempio seguente viene registrato un database denominato MyDB come applicazione livello dati.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = get-item .
  
## Specify the database to register as a DAC.
$dbname = "MyDB"
  
## Specify the DAC metadata.
$applicationname = "MyApplication"
$version = "1.0.0.0"
$description = "This DAC defines the database used by my application."
  
## Register the DAC.
$registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
$registerunit.Description = $description
$registerunit.Register()

Vedi anche