Backup, ripristino e sincronizzazione di database (XMLA)

In XML for Analysis sono disponibili i tre comandi seguenti per l'esecuzione del backup, del ripristino e della sincronizzazione dei database:

  • Comando Backup, che esegue il backup di un database di Microsoft SQL Server Analysis Services utilizzando un file di backup di Analysis Services (con estensione abf), come descritto nella sezione Backup di database.

  • Comando Restore, che esegue il ripristino di un database di Analysis Services da un file con estensione abf, come descritto nella sezione Ripristino di database.

  • Comando Synchronize, che esegue la sincronizzazione di un database di Analysis Services con i dati e i metadati di un altro database, come descritto nella sezione Sincronizzazione di database.

Backup di database

Come indicato in precedenza, il comando Backup consente di eseguire il backup di un database di Analysis Services specificato in un file di backup. Al comando Backup sono associate varie proprietà che consentono di specificare il database di cui eseguire il backup, il file di backup da utilizzare, le modalità di esecuzione del backup delle definizioni di protezione e le partizioni remote di cui eseguire il backup.

Nota sulla sicurezzaNota sulla sicurezza

Per ogni file di backup, l'utente che esegue il comando Backup deve disporre delle autorizzazioni necessarie per scrivere nel percorso di backup specificato per ogni file. L'utente deve inoltre essere un membro di un ruolo del server per l'istanza di Analysis Services oppure un membro di un ruolo del database con autorizzazioni Controllo completo (amministratore) sul database di cui eseguire il backup.

Specifica del database e del file di backup

Per specificare il database di cui eseguire il backup, impostare la proprietà Object del comando Backup. La proprietà Object deve contenere un identificatore di oggetto per un database. In caso contrario, si verifica un errore.

Per specificare il file che deve essere creato e utilizzato dal processo di backup, impostare la proprietà File del comando Backup. La proprietà File deve essere impostata su un percorso UNC e su un nome di file relativi al file di backup da creare.

Oltre a indicare il file da utilizzare per il backup, per il file di backup specificato è possibile impostare le opzioni seguenti:

  • Se si imposta la proprietà AllowOverwrite su true, se il file di backup specificato esiste già il comando Backup lo sovrascrive. Se invece si imposta la proprietà AllowOverwrite su false, qualora il file di backup esista già si verifica un errore.

  • Se si imposta la proprietà ApplyCompression su true, dopo la creazione il file di backup viene compresso.

  • Se si imposta la proprietà Password su un qualsiasi valore non vuoto, il file di backup viene crittografato tramite la password specificata.

    Nota sulla sicurezzaNota sulla sicurezza

    Se le proprietà ApplyCompression e Password non vengono specificate, nel file di backup i nomi utente e le password contenuti nelle stringhe di connessione vengono archiviati in testo non crittografato. I dati archiviati in testo non crittografato possono essere recuperati. Per aumentare la protezione, utilizzare le impostazioni relative a ApplyCompression e Password sia per comprimere che per crittografare il file di backup.

Backup delle impostazioni di protezione

La proprietà Security determina se il comando Backup esegue il backup delle definizioni di protezione, ad esempio ruoli e autorizzazioni, specificate in un database di Analysis Services. La proprietà Security determina inoltre se nel file di backup vengono inclusi gli account utente e i gruppi di Windows definiti come membri delle definizioni di protezione.

Il valore della proprietà Security è limitato a una delle stringhe elencate nella tabella seguente.

Valore

Descrizione

SkipMembership

Include nel file di backup le definizioni di protezione, ma ne esclude le informazioni sull'appartenenza.

CopyAll

Include nel file di backup le definizioni di protezione e le informazioni sull'appartenenza.

IgnoreSecurity

Esclude le definizioni di protezione dal file di backup.

Backup di partizioni remote

Per eseguire il backup delle partizioni remote nel database di Analysis Services, impostare la proprietà BackupRemotePartitions del comando Backup su true. In questo modo il comando Backup crea un file di backup remoto per ogni origine dati remota utilizzata per archiviare partizioni remote per il database.

Per ogni origine dati remota di cui eseguire il backup, è possibile specificare il file di backup corrispondente includendo un elemento Location nella proprietà Locations del comando Backup. Per l'elemento Location la proprietà File deve essere impostata sul percorso UNC e sul nome del file di backup remoto, mentre la proprietà DataSourceID deve essere impostata sull'identificatore dell'origine dati remota definita nel database.

Ripristino di database

Il comando Restore consente di ripristinare un database di Analysis Services specificato da un file di backup. Al comando Restore sono associate varie proprietà che consentono di specificare il database da ripristinare, il file di backup da utilizzare, le modalità di ripristino delle definizioni di protezione, le partizioni remote da archiviare e la rilocazione di oggetti OLAP relazionali (ROLAP).

Nota sulla sicurezzaNota sulla sicurezza

Per ogni file di backup, l'utente che esegue il comando Restore deve disporre dell'autorizzazione di lettura per il percorso di backup specificato per ogni file. Per ripristinare un database di Analysis Services non installato nel server, l'utente deve inoltre essere un membro del ruolo del server per l'istanza di Analysis Services specifica. Per sovrascrivere un database di Analysis Services, l'utente deve inoltre essere un membro del ruolo del server per l'istanza di Analysis Services oppure un membro di un ruolo del database con autorizzazioni Controllo completo (amministratore) sul database da ripristinare.

Nota

Dopo avere ripristinato un database esistente, l'utente che ha effettuato l'operazione potrebbe perdere l'accesso al database ripristinato. Tali problemi di accesso possono verificarsi se al momento dell'esecuzione del backup l'utente non era un membro del ruolo del server o del ruolo del database con autorizzazioni Controllo completo (amministratore).

Specifica del database e del file di backup

La proprietà DatabaseName del comando Restore deve contenere un identificatore di oggetto per un database. In caso contrario, si verifica un errore. Se il database specificato esiste già, la proprietà AllowOverwrite determina se il database esistente viene sovrascritto. Se la proprietà AllowOverwrite è impostata su false e il database specificato esiste già, si verifica un errore.

È necessario impostare la proprietà File del comando Restore su un percorso UNC e su un nome di file relativi al file di backup da ripristinare nel database specificato. È inoltre possibile impostare la proprietà Password per il file di backup specificato. Se la proprietà Password è impostata su un valore non vuoto, il file di backup viene decrittografato tramite la password specificata. Se il file di backup non è crittografato o se la password specificata non corrisponde a quella utilizzata per crittografare il file di backup, si verifica un errore.

Ripristino delle impostazioni di protezione

La proprietà Security determina se il comando Restore esegue il ripristino delle definizioni di protezione, ad esempio ruoli e autorizzazioni, specificate in un database di Analysis Services. La proprietà Security determina inoltre se nel comando Restore sono inclusi come parte del processo di ripristino gli account utente e i gruppi di Windows definiti come membri delle definizioni di protezione.

Il valore di questo elemento è limitato a una delle stringhe elencate nella tabella seguente.

Valore

Descrizione

SkipMembership

Include nel database le definizioni di protezione, ma ne esclude le informazioni sull'appartenenza.

CopyAll

Include nel database le definizioni di protezione e le informazioni sull'appartenenza.

IgnoreSecurity

Esclude le definizioni di protezione dal database.

Ripristino di partizioni remote

Per ogni file di backup remoto creato durante un comando Backup precedente, è possibile ripristinare la relativa partizione remota associata includendo un elemento Location nella proprietà Locations del comando Restore. Per ogni elemento Location, la proprietà DataSourceType deve essere esclusa oppure impostata in modo esplicito su Remote.

Per ogni elemento Location specificato, l'istanza di Analysis Services contatta l'origine dati remota indicata nella proprietà DataSourceID per ripristinare le partizioni definite nel file di backup remoto specificato nella proprietà File. Oltre alle proprietà DataSourceID e File, per ogni elemento Location utilizzato per ripristinare una partizione remota sono disponibili le proprietà seguenti:

  • Per sovrascrivere la stringa di connessione per l'origine dati remota specificata in DataSourceID, è possibile impostare la proprietà ConnectionString dell'elemento Location su una stringa di connessione diversa. Il comando Restore utilizzerà pertanto la stringa di connessione contenuta nella proprietà ConnectionString. Se la proprietà ConnectionString non viene specificata, il comando Restore utilizza la stringa di connessione archiviata nel file di backup per l'origine dati remota specificata. È possibile utilizzare l'impostazione relativa a ConnectionString per spostare una partizione remota in un'istanza remota diversa. Non è possibile tuttavia utilizzare l'impostazione relativa a ConnectionString per ripristinare una partizione remota alla stessa istanza che contiene il database ripristinato. In altri termini, non è possibile utilizzare la proprietà ConnectionString per rendere locale una partizione remota.

  • Per ogni cartella originale utilizzata per archiviare le partizioni remote nell'origine dati remota, è possibile specificare un elemento Folder per indicare la nuova cartella in cui ripristinare tutte le partizioni remote archiviate nella cartella originale. Se non è specificato alcun elemento Folder, il comando Restore utilizza le cartelle originali specificate per le partizioni remote contenute nel file di backup remoto.

Rilocazione di oggetti ROLAP

Il comando Restore non è in grado di ripristinare aggregazioni o dati per oggetti che utilizzano l'archiviazione ROLAP poiché tali informazioni vengono archiviate in tabelle in un'origine dati relazionale sottostante. È possibile tuttavia ripristinare i metadati per gli oggetti ROLAP. Per eseguire questa operazione, il comando Restore ricrea la struttura della tabella in un'origine dati relazionale.

Per rilocare oggetti ROLAP, è possibile utilizzare l'elemento Location in un comando Restore. Per ogni elemento Location utilizzato per rilocare un'origine dati, la proprietà DataSourceType deve essere impostata in modo esplicito su Local. È inoltre necessario impostare la proprietà ConnectionString dell'elemento Location sulla stringa di connessione del nuovo percorso. Durante il ripristino, il comando Restore sostituirà la stringa di connessione per l'origine dati identificata dalla proprietà DataSourceID dell'elemento Location con il valore della proprietà ConnectionString dell'elemento Location.

Sincronizzazione di database

Il comando Synchronize consente di sincronizzare i dati e i metadati di un database di Analysis Services specificato con un altro database. Al comando Synchronize sono associate varie proprietà che consentono di specificare il database di origine, le modalità di sincronizzazione delle definizioni di protezione, le partizioni remote da sincronizzare e la sincronizzazione degli oggetti ROLAP.

Nota

Il comando Synchronize può essere eseguito solo dagli amministratori del server e di database.

Specifica del database di origine

La proprietà Source del comando Synchronize contiene due proprietà, ovvero ConnectionString e Object. Nella proprietà ConnectionString è inclusa la stringa di connessione dell'istanza in cui è contenuto il database di origine, mentre nella proprietà Object è contenuto l'identificatore di oggetto per il database di origine.

Il database di destinazione è il database corrente per la sessione in cui viene eseguito il comando Synchronize.

Se la proprietà ApplyCompression del comando Synchronize è impostata su true, le informazioni inviate dal database di origine a quello di destinazione vengono compresse prima dell'invio.

Sincronizzazione delle impostazioni di protezione

La proprietà SynchronizeSecurity determina se il comando Synchronize esegue la sincronizzazione delle definizioni di protezione, ad esempio ruoli e autorizzazioni, specificate nel database di origine. La proprietà SynchronizeSecurity determina inoltre se nel comando Sychronize vengono inclusi gli account utente e i gruppi di Windows definiti come membri delle definizioni di protezione.

Il valore di questo elemento è limitato a una delle stringhe elencate nella tabella seguente.

Valore

Descrizione

SkipMembership

Include nel database di destinazione le definizioni di protezione, ma ne esclude le informazioni sull'appartenenza.

CopyAll

Include nel database di destinazione le definizioni di protezione e le informazioni sull'appartenenza.

IgnoreSecurity

Esclude le definizioni di protezione dal database di destinazione.

Sincronizzazione di partizioni remote

Per ogni origine dati remota presente nel database di origine, è possibile sincronizzare ogni partizione remota associata includendo un elemento Location nella proprietà Locations del comando Synchronize. Per ogni elemento Location, la proprietà DataSourceType deve essere esclusa oppure impostata in modo esplicito su Remote.

Per definire un'origine dati remota nel database di destinazione e stabilire una connessione a essa, il comando Synchronize utilizza la stringa di connessione definita nella proprietà ConnectionString dell'elemento Location. Il comando Synchronize utilizza quindi la proprietà DataSourceID dell'elemento Location per identificare le partizioni remote da sincronizzare. Il comando Synchronize sincronizza le partizioni remote nell'origine dati remota specificata nella proprietà DataSourceID del database di origine con l'origine dati remota specificata nella proprietà DataSourceID del database di destinazione.

Per ogni cartella originale utilizzata per archiviare le partizioni remote nell'origine dati remota del database di origine, è possibile inoltre specificare un elemento Folder nell'elemento Location. L'elemento Folder indica la nuova cartella per il database di destinazione in cui sincronizzare tutte le partizioni remote archiviate nella cartella originale nell'origine dati remota. Se non è specificato alcun elemento Folder, il comando Synchronize utilizza le cartelle originali specificate per le partizioni remote contenute nel database di origine.

Sincronizzazione di oggetti ROLAP

Il comando Synchronize non è in grado di sincronizzare aggregazioni o dati per oggetti che utilizzano l'archiviazione ROLAP poiché tali informazioni vengono archiviate in tabelle in un'origine dati relazionale sottostante. È possibile tuttavia sincronizzare i metadati per gli oggetti ROLAP. Per eseguire questa operazione, il comando Synchronize ricrea la struttura della tabella in un'origine dati relazionale.

Per sincronizzare oggetti ROLAP, è possibile utilizzare l'elemento Location in un comando Synchronize. Per ogni elemento Location utilizzato per rilocare un'origine dati, la proprietà DataSourceType deve essere impostata in modo esplicito su Local. È inoltre necessario impostare la proprietà ConnectionString dell'elemento Location sulla stringa di connessione del nuovo percorso. Durante la sincronizzazione, il comando Synchronize sostituirà la stringa di connessione per l'origine dati identificata dalla proprietà DataSourceID dell'elemento Location con il valore della proprietà ConnectionString dell'elemento Location.