Creazione e modifica di oggetti (XMLA)
Gli oggetti principali possono essere creati, modificati ed eliminati in modo indipendente. Di seguito vengono elencati gli oggetti principali:
Server
Database
Dimensioni
Cubi
Gruppi di misure
Partizioni
Prospettive
Modelli di data mining
Ruoli
Comandi associati a un server o a un database
Origini dati
Usare il comando Crea per creare un oggetto principale in un'istanza di e il comando Alter per modificare un oggetto principale esistente in Microsoft SQL Server Analysis Services un'istanza. Entrambi i comandi vengono eseguiti usando il metodo Execute.
Creazione di oggetti
Quando si creano oggetti usando il metodo Create, è prima necessario identificare l'oggetto padre che contiene l'oggetto Analysis Services da creare. Per identificare l'oggetto padre, specificare un riferimento all'oggetto nella proprietà ParentObject del comando Crea. Ogni riferimento all'oggetto contiene gli identificatori di oggetto necessari per identificare in modo univoco l'oggetto padre per il comando Create. Per altre informazioni sui riferimenti agli oggetti, vedere Definizione e identificazione di oggetti (XMLA).
Si supponga ad esempio che sia necessario fornire un riferimento a un oggetto per un cubo per creare un nuovo gruppo di misure per il cubo stesso. Il riferimento all'oggetto per il cubo nella proprietà ParentObject contiene sia un identificatore di database che un identificatore di cubo, perché lo stesso identificatore di cubo potrebbe essere usato potenzialmente in un database diverso.
L'elemento ObjectDefinition contiene Analysis Services elementi ASSL (Scripting Language) che definiscono l'oggetto principale da creare. Per altre informazioni su ASSL, vedere Developing with Analysis Services Scripting Language (ASSL).
Se si imposta l'attributo AllowOverwrite del comando Create su true, è possibile sovrascrivere un oggetto principale esistente con l'identificatore specificato. In caso contrario, se un oggetto principale con l'identificatore specificato esiste già nell'oggetto padre si verifica un errore.
Per altre informazioni sul comando Create, vedere Create Element (XMLA).
Creazione di oggetti di sessione
Gli oggetti di sessione sono oggetti temporanei disponibili solo nella sessione esplicita o implicita utilizzata da un'applicazione client che vengono eliminati quando la sessione è terminata. È possibile creare oggetti sessione impostando l'attributo Scope del comando Create su Session.
Nota
Quando si usa l'impostazione Session, l'elemento ObjectDefinition può contenere solo elementi ASSL Dimension, Cubeo MiningModel.
Modifica di oggetti
Quando si modificano oggetti usando il metodo Alter, è prima necessario identificare l'oggetto da modificare fornendo un riferimento all'oggetto nella proprietà Object del comando Alter. Ogni riferimento all'oggetto contiene gli identificatori di oggetto necessari per identificare in modo univoco l'oggetto per il comando Alter. Per altre informazioni sui riferimenti agli oggetti, vedere Definizione e identificazione di oggetti (XMLA).
Si supponga ad esempio che sia necessario fornire un riferimento a un oggetto per un cubo per modificarne la struttura. Il riferimento all'oggetto per il cubo nella proprietà Object contiene sia un identificatore di database che un identificatore di cubo, perché lo stesso identificatore di cubo potrebbe essere usato potenzialmente in un database diverso.
L'elemento ObjectDefinition contiene elementi ASSL che definiscono l'oggetto principale da modificare. Per altre informazioni su ASSL, vedere Developing with Analysis Services Scripting Language (ASSL).
Se si imposta l'attributo AllowCreate del comando Alter su true, è possibile creare l'oggetto principale specificato se l'oggetto non esiste. In caso contrario, se un oggetto principale specificato non esiste si verifica un errore.
Utilizzo dell'attributo ObjectExpansion
Se si modificano solo le proprietà dell'oggetto principale e non si ridefinino gli oggetti secondari contenuti nell'oggetto principale, è possibile impostare l'attributo ObjectExpansion del comando Alter su ObjectProperties. La proprietà ObjectDefinition deve quindi contenere solo gli elementi per le proprietà dell'oggetto principale e il comando Alter lascia invariati gli oggetti secondari associati all'oggetto principale.
Per ridefinire gli oggetti secondari per un oggetto principale, è necessario impostare l'attributo ObjectExpansion su ExpandFull e la definizione dell'oggetto deve includere tutti gli oggetti secondari contenuti nell'oggetto principale. Se la proprietà ObjectDefinition del comando Alter non include in modo esplicito un oggetto secondario contenuto nell'oggetto principale, l'oggetto secondario non incluso viene eliminato.
Modifica di oggetti di sessione
Per modificare gli oggetti sessione creati dal comando Create, impostare l'attributo Scope del comando Alter su Session.
Nota
Quando si usa l'impostazione Session, l'elemento ObjectDefinition può contenere solo elementi ASSL Dimension, Cubeo MiningModel.
Creazione o modifica di oggetti subordinati
Anche se un comando Crea o Modifica crea o modifica un solo oggetto principale principale, l'oggetto principale creato o modificato può contenere definizioni all'interno della proprietà ObjectDefinition contenitore per altri oggetti principali e secondari subordinati. Ad esempio, se si definisce un cubo, si specifica il database padre in ParentObject e all'interno della definizione del cubo in ObjectDefinition è possibile definire gruppi di misure per il cubo e all'interno dei gruppi di misure è possibile definire partizioni per ogni gruppo di misure. Un oggetto secondario può essere definito solo sotto l'oggetto principale che lo contiene. Per altre informazioni sugli oggetti principali e secondari, vedere Oggetti di database (Analysis Services - Dati multidimensionali).
Esempi
Descrizione
Nell'esempio seguente viene creata un'origine dati relazionale che fa riferimento al Adventure Works DW Multidimensional 2012 database di Microsoft SQL Server esempio.
Codice
<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<ParentObject>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
</ParentObject>
<ObjectDefinition>
<DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">
<ID>AdventureWorksDW2012</ID>
<Name>AdventureWorksDW2012</Name>
<ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>
<ImpersonationInfo>
<ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>
</ImpersonationInfo>
<ManagedProvider>System.Data.SqlClient</ManagedProvider>
<Timeout>PT0S</Timeout>
</DataSource>
</ObjectDefinition>
</Create>
Descrizione
Nell'esempio seguente viene modificata l'origine dati relazionale creata nell'esempio precedente per impostare il timeout per la query per l'origine dati su 30 secondi.
Codice
<Alter ObjectExpansion="ObjectProperties" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<DataSourceID>AdventureWorksDW2012</DataSourceID>
</Object>
<ObjectDefinition>
<DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">
<ID>AdventureWorksDW2012</ID>
<Name>AdventureWorksDW2012</Name>
<ConnectionString>Data Source=fr-dwk-02;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>
<ManagedProvider>System.Data.SqlClient</ManagedProvider>
<Timeout>PT30S</Timeout>
</DataSource>
</ObjectDefinition>
</Alter>
Commenti
L'attributo ObjectExpansion del comando Alter è stato impostato su ObjectProperties. Questa impostazione consente all'elemento ImpersonationInfo, un oggetto secondario, di essere escluso dall'origine dati definita in ObjectDefinition. Le impostazioni di rappresentazione per tale origine dati rimangono pertanto configurate sull'account del servizio, come specificato nel primo esempio.
Vedere anche
Metodo Execute (XMLA)
Sviluppo con Analysis Services Scripting Language (ASSL)
Sviluppo con XMLA in Analysis Services