Elemento Lock (XMLA)
Blocca un oggetto specificato in un'Analysis Services istanza di .
Sintassi
<Command>
<Lock>
<ID>...</ID>
<Object>...</Object>
<Mode>...</Mode>
</Lock>
</Command>
Caratteristiche degli elementi
Caratteristica | Descrizione |
---|---|
Tipo di dati e lunghezza | Nessuno |
Valore predefinito | Nessuno |
Cardinalità | 0-n: Elemento facoltativo che può ricorrere più di una volta. |
Relazioni tra elementi
Relazione | Elemento |
---|---|
Elementi padre | Comando |
Elementi figlio | ID, modalità, oggetto |
Commenti
Il comando Lock blocca un oggetto, per uso condiviso o esclusivo, nel contesto della transazione attualmente attiva. Solo gli amministratori di database o gli amministratori del server possono eseguire in modo esplicito un comando Lock . Un blocco su un oggetto impedisce alle transazioni di eseguire il commit finché non viene rimosso. Analysis Services supporta due tipi di blocchi, blocchi condivisi e blocchi esclusivi.
Analysis Services consente il blocco solo dei database. L'elemento Object deve contenere un riferimento a un oggetto 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.
Altri comandi emettere in modo implicito un comando Lock in un database Analysis Services database. Qualsiasi operazione che legge dati o metadati da un database, ad esempio qualsiasi metodo Discover o Execute che esegue un comando Statement , esegue in modo implicito un blocco condiviso sul database. Qualsiasi transazione che esegue il commit delle modifiche dei dati o dei metadati in un oggetto in un database Analysis Services, ad esempio un metodo Execute che esegue un comando Alter , emette in modo implicito un blocco esclusivo sul database.
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.