Distribuzione delle applicazioni livello dati

Un'applicazione livello dati consente di definire tutti gli oggetti dello schema e dell'istanza (quali tabelle, viste e account di accesso) del Motore di database di SQL Server necessari per supportare un'applicazione. Un'applicazione livello dati viene compilata in un pacchetto di applicazione livello dati, ovvero un file XML contenente un manifesto in cui vengono definiti gli oggetti del Motore di database utilizzati dall'applicazione; inoltre, viene utilizzato per la distribuzione dell'applicazione livello dati. Un'applicazione livello dati consente di semplificare la gestione degli oggetti di livello dati fornendo una sola unità per la distribuzione e la gestione.

Distribuzione di un pacchetto di applicazione livello dati

È necessario compilare un file del pacchetto di applicazione livello dati per distribuire una relativa applicazione. Il pacchetto di applicazione livello dati è il meccanismo di distribuzione di un'applicazione livello dati, come un'eseguibile dell'applicazione è il meccanismo di distribuzione di un file eseguibile dell'applicazione. Per ulteriori informazioni sulla compilazione di un file del pacchetto di applicazione livello dati, vedere Implementazione delle applicazioni livello dati.

Nota sulla sicurezzaNota sulla sicurezza

È consigliabile evitare di distribuire pacchetti di applicazione livello dati provenienti da origini sconosciute o non attendibili. Tali pacchetti di applicazione livello dati (DAC) possono contenere codice dannoso che potrebbe eseguire codice Transact-SQL indesiderato o causare errori modificando lo schema. Prima di utilizzare un pacchetto di applicazione livello dati proveniente da un'origine sconosciuta o non attendibile, decomprimerlo ed esaminare il codice, ad esempio le stored procedure o altro codice definito dall'utente. Per ulteriori informazioni sulla visualizzazione del contenuto di un pacchetto di applicazione livello dati, vedere Procedura: Convalida di un pacchetto di applicazione livello dati.

È possibile distribuire un'applicazione livello dati (DAC) in un'istanza di Motore di database che esegue SQL Server 2005 Service Pack 4 o versioni successive o in SQL Azure. Le operazioni DAC richiedono gli strumenti client di SQL Server 2008 R2 e possono anche richiedere Framework 1.1 applicazione livello dati. Per ulteriori informazioni, vedere Supporto dell'applicazione livello dati per oggetti e versioni di SQL Server

La procedura guidata Distribuisci applicazione di livello dati consente di eseguire le seguenti azioni principali quando viene distribuito un pacchetto di applicazione livello dati:

  • Richiede proprietà in fase di distribuzione, quale il nome dell'istanza del Motore di database o SQL Azure in cui l'applicazione livello dati sarà distribuita.

  • Valuta i criteri di selezione applicazione livello dati (se definiti) rispetto a quell'istanza e segnala l'esito positivo o negativo della valutazione. Se una o più delle condizioni dei criteri non sono soddisfatte, è possibile decidere di selezionare un'altra istanza, riconfigurare l'istanza specificata o ignorare i risultati della valutazione se si pensa che non siano fondamentali. Le condizioni dei criteri che non si applicano a SQL Azure, come la versione del sistema operativo, vengono sempre valutati come falsi in caso di distribuzione in un'istanza di SQL Azure.

  • Crea un database e tutti gli oggetti definiti nell'applicazione livello dati. Il database viene creato con le impostazioni predefinite per l'istanza del Motore di database per le proprietà come il modello di recupero. Il database dispone di un file di dati e un file di log con le proprietà seguenti:

    • I percorsi dei file specificati nella distribuzione. Non è possibile specificare i percorsi dei file durante la distribuzione in SQL Azure.

    • La dimensione del file di dati è 3 MB, con un incremento di crescita di 1 MB e nessun limite di dimensione.

    • La dimensione del file di log è 1 MB, con un incremento di crescita del 10% e un limite di dimensione di 2 TB.

In SQL Server Management Studio è possibile avviare la procedura guidata Distribuisci applicazione livello dati passando al nodo Gestione relativo a un server in Esplora oggetti, facendo clic con il pulsante destro del mouse sul nodo Applicazioni livello dati, quindi scegliendo Distribuisci applicazione livello dati.

Dopo la distribuzione, il database verrà gestito come qualsiasi altro database. La configurazione del database viene eseguita utilizzando meccanismi comuni come l'istruzione Transact-SQL ALTER DATABASE, le finestre di dialogo di gestione del database in Management Studioo utilizzando SQL Server Management Objects (SMO) nel provider PowerShell per SQL Server. Il processo di distribuzione deve includere passaggi per eseguire modifiche di configurazione comuni in seguito alla distribuzione dell'applicazione livello dati, ad esempio:

  • Creazione di file e filegroup o modifica delle dimensioni dei file.

  • Impostazione e test di un processo di backup e ripristino.

  • Impostazione delle opzioni del database.

Per ulteriori informazioni, vedere Modifica di database.

Aggiornamento di un'applicazione livello dati distribuita

Dopo aver distribuito la prima versione di un'applicazione livello dati, è possibile che venga sviluppata una nuova versione dell'applicazione e dell'applicazione livello dati. Per ulteriori informazioni sull'aggiornamento a una nuova versione di un'applicazione livello dati distribuita, vedere Aggiornamento di applicazioni livello dati.

Password di accesso

Per migliorare la sicurezza, gli account di accesso dell'autenticazione di SQL Server vengono archiviati in un pacchetto di applicazione livello dati senza password. Quando il pacchetto viene distribuito o aggiornato, l'account di accesso viene creato come account disabilitato con una password generata. Per abilitare gli account di accesso, è necessario accedere utilizzando un account che dispone dell'autorizzazione ALTER ANY LOGIN e utilizzare ALTER LOGIN per abilitare l'account di accesso e assegnare una nuova password che può essere comunicata all'utente. Questa operazione non è necessaria per gli account di accesso dell'autenticazione di Windows, in quanto le relative password non sono gestite da SQL Server.