Dimensioni abilitate per la scrittura
I dati di una dimensione sono in genere di sola lettura. In determinati scenari, tuttavia, può rivelarsi utile abilitare una dimensione per la scrittura. In Microsoft SQL Server Analysis Services abilitando per la scrittura una dimensione è possibile consentire agli utenti aziendali di modificare i contenuti della dimensione e vedere l'effetto immediato delle modifiche sulle gerarchie della dimensione. È possibile abilitare per la scrittura qualsiasi dimensione basata su una singola tabella. In una dimensione abilitata per la scrittura, gli amministratori e gli utenti aziendali possono modificare, spostare, aggiungere ed eliminare membri all'interno della dimensione. Tali operazioni di aggiornamento vengono definite collettivamente come writeback della dimensione.
Analysis Services supporta il writeback della dimensione in tutti gli attributi della dimensione e in qualsiasi membro di una dimensione che sia possibile modificare. Per una partizione o un cubo abilitato per la scrittura, gli aggiornamenti vengono archiviati in una tabella writeback separata dalle tabelle di origine del cubo. Per una dimensione abilitata per la scrittura, tuttavia, le modifiche vengono registrate direttamente nella tabella della dimensione. Inoltre, se la dimensione abilitata per la scrittura è inclusa in un cubo con più partizioni in cui alcune o tutte le origini dei dati contengono copie della tabella della dimensione, durante un processo di writeback verrà aggiornata solo la tabella della dimensione originale.
Le dimensioni e i cubi abilitati per la scrittura hanno funzionalità diverse ma complementari. Una dimensione abilitata per la scrittura consente agli utenti aziendali di aggiornare i membri, mentre un cubo abilitato per la scrittura consente loro di aggiornare i valori delle celle. Sebbene queste due funzionalità siano complementari, non è necessario utilizzarle in combinazione. Per l'esecuzione del writeback della dimensione non è necessario che una dimensione venga inclusa in un cubo. Una dimensione abilitata per la scrittura può anche essere inclusa in un cubo non abilitato per la scrittura. Le procedure utilizzate per abilitare per la scrittura le dimensioni e i cubi e per gestirne la protezione sono diverse.
Al writeback della dimensione vengono applicate le restrizioni seguenti:
Quando si crea un nuovo membro, è necessario includere ogni attributo di una dimensione. Non è possibile inserire un membro senza specificare un valore per l'attributo chiave della dimensione. La creazione di membri è pertanto soggetta a tutti i vincoli, ad esempio valori di chiave non Null, definiti nella tabella della dimensione.
Il writeback della dimensione è supportato solo per gli schemi star. In altre parole, una dimensione deve essere basata su un'unica tabella della dimensione correlata direttamente a una tabella dei fatti. Dopo avere abilitato per la scrittura una dimensione, in Analysis Services questi requisiti vengono convalidati quando si esegue la distribuzione a un database di Analysis Services esistente o quando si crea un progetto di Analysis Services.
È possibile modificare o eliminare qualsiasi membro esistente di una dimensione writeback. Quando un membro viene eliminato, l'eliminazione viene propagata a tutti i membri figlio. In una dimensione Customer contenente gli attributi CountryRegion, Province, City e Customer, l'eliminazione di un paese provocherebbe, ad esempio, l'eliminazione di tutte le province e città e di tutti i clienti appartenenti al paese eliminato. Se un paese include una sola provincia, eliminando tale provincia verrebbe eliminato anche il paese.
I membri di una dimensione writeback possono essere spostati solo all'interno dello stesso livello. Una città, ad esempio, può essere spostata al livello City in un diverso paese o provincia, ma non può essere spostata al livello Province o CountryRegion. In una gerarchia padre-figlio tutti i membri sono membri foglia e pertanto un membro può essere spostato in qualsiasi livello ad esclusione del livello (All).
Se un membro di una gerarchia padre-figlio viene eliminato, i figli del membro vengono spostati nell'elemento padre del membro. Nel membro eliminato sono necessarie le autorizzazioni di aggiornamento per la tabella relazionale, mentre nei membri spostati non è richiesta alcuna autorizzazione. Quando tramite un'applicazione viene spostato un membro in una gerarchia padre-figlio, nell'operazione UPDATE è possibile specificare se i discendenti del membro devono essere spostati con il membro oppure spostati nell'elemento padre del membro. Per eliminare in modo ricorsivo un membro in una gerarchia padre-figlio, è necessario che l'utente disponga delle autorizzazioni di aggiornamento per la tabella relazionale sia per il membro che per tutti i relativi discendenti.
Nota
Gli aggiornamenti all'attributo padre in una gerarchia padre-figlio non devono includere aggiornamenti ad altre proprietà o altri attributi.
Tutte le modifiche a una dimensione provocano la modifica della struttura della dimensione. Ogni modifica a una dimensione viene considerata come transazione singola, che necessita di elaborazione incrementale per l'aggiornamento della struttura della dimensione. Le dimensioni abilitate per la scrittura hanno gli stessi requisiti di elaborazione delle altre dimensioni.
Nota
Il writeback della dimensione non è supportato dalle dimensioni collegate. Per ulteriori informazioni sulle dimensioni collegate, vedere Dimensioni collegate.
Protezione
Gli unici utenti aziendali autorizzati ad aggiornare una dimensione abilitata per la scrittura sono quelli inclusi nei ruoli del database di Analysis Services a cui sono state concesse le autorizzazioni di lettura/scrittura nella dimensione. Per ogni ruolo, è possibile impostare i membri che possono o meno essere aggiornati. Affinché gli utenti aziendali possano aggiornare le dimensioni abilitate per la scrittura, è necessario che le applicazioni client utilizzate supportino questa funzionalità. Per tali utenti, è necessario che la dimensione abilitata per la scrittura sia inclusa in un cubo elaborato dopo l'ultima modifica della dimensione. Per ulteriori informazioni, vedere Concessione dell'accesso utente.
Gli utenti e i gruppi inclusi nel ruolo Administrators possono aggiornare i membri degli attributi di una dimensione abilitata per la scrittura, anche se la dimensione non è inclusa in un cubo.