Blocco e sblocco di database (XMLA)
È possibile bloccare e sbloccare i database usando, rispettivamente, i comandi Lock e Unlock in XML for Analysis (XMLA). In genere, gli altri comandi XMLA bloccano e sbloccano automaticamente gli oggetti in base alle esigenze per completare il comando durante l'esecuzione. È possibile bloccare o sbloccare in modo esplicito un database per eseguire più comandi all'interno di una singola transazione, ad esempio un comando Batch, impedendo ad altre applicazioni di eseguire il commit di una transazione di scrittura nel database.
Blocco di database
Il comando Lock blocca un oggetto, per uso condiviso o esclusivo, nel contesto della transazione attualmente attiva. Un blocco su un oggetto impedisce alle transazioni di eseguire il commit finché non viene rimosso. Microsoft SQL Server Analysis Services supporta due tipi di blocchi, blocchi condivisi e blocchi esclusivi. Per altre informazioni sui tipi di blocco supportati da Analysis Services , vedere Elemento Mode (XMLA).
Analysis Services consente solo che i database vengano bloccati. L'elemento Object deve contenere un riferimento a un oggetto a un Analysis Services database. Se l'elemento Object non è specificato o se l'elemento Object fa riferimento a un oggetto diverso da un database, si verifica un errore.
Importante
Solo gli amministratori di database o gli amministratori del server possono eseguire in modo esplicito un comando Lock.
Altri comandi emettere in modo implicito un comando Lock in un Analysis Services database. Qualsiasi operazione che legge dati o metadati da un database, ad esempio un metodo Discover o un metodo Execute che esegue un comando Statement, esegue implicitamente un blocco condiviso sul database. Qualsiasi transazione che esegue il commit delle modifiche dei dati o dei metadati in un oggetto in un database, ad esempio un metodo Execute che esegue un comando Alter, emette implicitamente un blocco esclusivo Analysis Services sul database.
Sblocco di oggetti
Il comando Unlock rimuove un blocco applicato all'interno del contesto della transazione attualmente attiva.
Importante
Solo gli amministratori del database o gli amministratori del server possono eseguire in modo esplicito un comando Unlock .
Tutti i blocchi sono contenuti nel contesto della transazione corrente. Quando viene eseguito il commit oppure il rollback della transazione corrente, tutti i blocchi definiti all'interno della transazione vengono rilasciati automaticamente.
Vedere anche
Elemento Lock (XMLA)
Elemento Unlock (XMLA)
Sviluppo con XMLA in Analysis Services