Novità di SQL Server Analysis Services
Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Questo articolo riepiloga le nuove funzionalità, i miglioramenti, le funzionalità deprecate e non più supportate e il comportamento e le modifiche di rilievo nelle versioni più recenti di SQL Server Analysis Services (SSAS).
SQL Server 2022 Analysis Services
Aggiornamento cumulativo 1 (CU1)
Aggiornamento della crittografia
Questo aggiornamento include miglioramenti all'algoritmo di crittografia dell'operazione di scrittura dello schema. Questo miglioramento potrebbe richiedere l'aggiornamento di database modello tabulare e multidimensionale per garantire la crittografia corretta. Per altre informazioni, vedere Aggiornare la crittografia.
Disponibile a livello generale
Fusione orizzontale
Questa versione introduce Horizontal Fusion, un'ottimizzazione del piano di esecuzione delle query finalizzata a ridurre il numero di query sull'origine dati necessarie per generare e restituire risultati. Più query di origine dati più piccole vengono unite in una query di origine dati più grande. Un minor numero di query sull'origine dati comporta un minor numero di round trip e un minor numero di analisi costose su origini dati di grandi dimensioni, con un aumento delle prestazioni DAX e una riduzione della domanda di elaborazione nell'origine dati. Le query DAX vengono eseguite più velocemente con Horizontal Fusion, in particolare in modalità DirectQuery. Inoltre, la scalabilità aumenta.
Piani di esecuzione paralleli per DirectQuery
Questo miglioramento consente al motore di Analysis Services di analizzare le query DAX su un'origine dati DirectQuery e identificare le operazioni indipendenti del motore di archiviazione. Il motore può quindi eseguire tali operazioni sull'origine dati in parallelo. Eseguendo operazioni in parallelo, il motore di Analysis Services può migliorare le prestazioni delle query sfruttando la scalabilità delle origini dati di grandi dimensioni. Per garantire che l'elaborazione delle query non sovraccarichi l'origine dati, utilizzare l'impostazione della proprietà MaxParallelism per specificare un numero fisso di thread che possono essere usati per le operazioni parallele.
Supporto per i modelli semantici DirectQuery di Power BI
Questa versione introduce il supporto per i modelli di Power BI con connessioni DirectQuery ai modelli di Analysis Services SQL Server 2022. I modelli di dati e gli autori di report che usano maggio 2022 e versioni successive di Power BI Desktop possono ora combinare altri dati importati e DirectQuery da modelli di Power BI, Azure Analysis Services e ora SSAS 2022.
Per altre informazioni, vedere Uso di DirectQuery per modelli semantici e Analysis Services | Documentazione di Power BI.
Prestazioni delle query MDX
Introdotta per la prima volta in Power BI e ora in SSAS 2022, MDX Fusion include l'ottimizzazione del motore di formula (FE) riducendo il numero di query del motore di archiviazione (SE) per ogni query MDX. Le applicazioni client che usano MDX (Multidimensional Expressions) per eseguire query sui dati del modello o del set di dati, ad esempio Microsoft Excel, vedranno prestazioni delle query migliorate. I modelli di query MDX comuni richiedono ora meno query SE in cui in precedenza erano necessarie numerose query SE per supportare una granularità diversa. Un minor numero di query SE comporta un minor numero di analisi costose su modelli di grandi dimensioni, con un miglioramento significativo delle prestazioni, soprattutto quando ci si connette a modelli tabulari in modalità Direct Query.
Per altre informazioni, vedere Annuncio di prestazioni delle query MDX migliorate in Power BI | Blog di Microsoft Power BI.
Governance delle risorse
Questa versione include una maggiore accuratezza per la proprietà della memoria del server QueryMemoryLimit e la proprietà DbpropMsmdRequestMemoryLimit stringa di connessione.
Introdotta per la prima volta in SSAS 2019, la proprietà di memoria del server QueryMemoryLimit applicata solo ai pool di memoria in cui i risultati intermedi delle query DAX vengono creati durante l'elaborazione delle query. Ora in SSAS 2022, si applica anche alle query MDX, coprendo in modo efficace tutte le query. È possibile controllare meglio il processo di query costose che comportano una materializzazione significativa. Se la query raggiunge il limite specificato, il motore annulla la query e restituisce un errore al chiamante, riducendo l'impatto su altri utenti simultanei.
Le applicazioni client possono ridurre ulteriormente la memoria consentita per ogni query specificando la proprietà DbpropMsmdRequestMemoryLimit stringa di connessione. Specificato in Kilobytes, questa proprietà esegue l'override del valore della proprietà della memoria del server QueryMemoryLimit per una connessione.
Interleaving delle query - Distorsione di query breve con annullamento rapido
Questa versione introduce un nuovo valore che specifica la distorsione di query short con annullamento rapido per l'impostazione della proprietà Threadpool\SchedulingBehavior. Questa impostazione di proprietà migliora i tempi di risposta delle query utente in scenari con concorrenza elevata. Per altre informazioni, vedere Interleaving di query - Configurare.
Livello di compatibilità del modello tabulare 1600
Questa versione introduce il livello di compatibilità 1600 per i modelli tabulari. Il livello di compatibilità 1600 coincide con le funzionalità più recenti in Power BI e Azure Analysis Services.
Funzionalità deprecate in SSAS 2022
Non sono presenti funzionalità deprecate annunciate con questa versione.
Funzionalità non più disponibili in SSAS 2022
In questa versione non sono più disponibili le funzionalità seguenti:
Modalità/Categoria | Funzionalità |
---|---|
Tabulare | Livelli di compatibilità 1100 e 1103 |
Multidimensionale | Data Mining |
Modalità Power Pivot | PowerPivot per SharePoint |
Modifiche di rilievo in SSAS 2022
I livelli di compatibilità del modello tabulare 1100 e 1103 non sono più disponibili in questa versione. Per evitare una modifica di rilievo, aggiornare i modelli al livello di compatibilità 1200 prima di aggiornare una versione precedente di SSAS a SSAS 2022.
Modifiche del comportamento in SSAS 2022
In questa versione non sono state apportate modifiche al comportamento .
SQL Server 2019 Analysis Services
SQL Server 2019 Analysis Services CU 5
SQL Server Analysis Services gli aggiornamenti cumulativi sono inclusi negli aggiornamenti cumulativi SQL Server. Per altre informazioni e scaricare l'aggiornamento cumulativo più recente, vedere SQL Server aggiornamento cumulativo più recente 2019. Le pagine kb degli aggiornamenti cumulativi riepilogano problemi noti, miglioramenti e correzioni per tutte le funzionalità di SQL Server, tra cui SSAS. Altri dettagli per gli aggiornamenti principali delle funzionalità per SSAS sono descritti qui.
SuperDAX per i modelli multidimensionali (SuperDAXMD)
Con CU5, i client basati su DAX ora possono usare funzioni SuperDAX e modelli di query su modelli multidimensionali, offrendo prestazioni migliori durante l'esecuzione di query sui dati del modello. SuperDAX ha introdotto per la prima volta le ottimizzazioni delle query DAX per i modelli tabulari con Power BI e SQL Server Analysis Services 2016. SuperDAXMD offre ora questi miglioramenti ai modelli multidimensionali.
Un annuncio separato nel blog di Power BI illustra in che modo gli utenti di Power BI possono trarre vantaggio da questo miglioramento delle prestazioni del modello multidimensionale scaricando la versione più recente di Power BI Desktop. I report interattivi esistenti nel servizio Power BI possono trarre vantaggio senza passaggi aggiuntivi, perché Power BI genera automaticamente le query SuperDAX ottimizzate. Power BI rileva automaticamente le connessioni ai modelli multidimensionali con supporto SuperDAX e usa le stesse funzioni DAX ottimizzate e i modelli di query già usati nei modelli tabulari. Anche se Power BI può passare automaticamente a SuperDAXMD, nelle proprie soluzioni di business intelligence potrebbe essere necessario ottimizzare manualmente i modelli di query DAX.
I modelli di query ottimizzati devono usare la funzione SUMMARIZECOLUMNS per sostituire la funzione SUMMARIZE standard meno efficiente. Usare le variabili DAX, VAR, per calcolare le espressioni una sola volta al posto della definizione e quindi riutilizzare i risultati in qualsiasi altra espressione DAX senza dover eseguire di nuovo il calcolo. Altre funzioni SuperDAX, e forse meno comuni, sono SUBSTITUTEWITHINDEX, ADDMISSINGITEMS, nonché NATURALLEFTOUTERJOIN e NATURALINNERJOIN, ISONORAFTER e GROUPBY. SELECTCOLUMNS e UNION sono anche funzioni SuperDAX.
Per altre informazioni sul funzionamento di DAX con modelli multidimensionali e su modelli e vincoli importanti da tenere presenti, vedere DAX per i modelli multidimensionali.
SQL Server 2019 Analysis Services ga (disponibile a livello generale)
Livello di compatibilità del modello tabulare
Questa versione introduce il livello di compatibilità 1500 per i modelli tabulari.
Interfoliazione di query
L'interfoliazione di query è una configurazione di sistema in modalità tabulare che può migliorare i tempi di risposta delle query utente negli scenari con concorrenza elevata. L'interleaving delle query con distorsione delle query brevi consente alle query simultanee di condividere le risorse della CPU. Per altre informazioni, vedere Interfoliazione di query.
Gruppi di calcolo in modelli tabulari
I gruppi di calcolo possono ridurre significativamente il numero di misure ridondanti raggruppando le espressioni di misura comuni come elementi di calcolo. I gruppi di calcolo vengono visualizzati nei client di creazione report sotto forma di tabella con una singola colonna. Ogni valore nella colonna rappresenta un calcolo riutilizzabile o un elemento di calcolo che può essere applicato a qualsiasi misura. Un gruppo di calcolo può avere qualsiasi numero di elementi di calcolo. Ogni elemento di calcolo è definito da un'espressione DAX. Per altre informazioni, vedere Gruppi di calcolo.
Impostazione di governance per gli aggiornamenti della cache di Power BI
L'impostazione della proprietà ClientCacheRefreshPolicy è ora supportata in SSAS 2019 e versioni successive. Questa impostazione di proprietà è già disponibile per Azure Analysis Services. Il servizio Power BI memorizza nella cache i dati del riquadro del dashboard e i dati del report per il caricamento iniziale di Live Connect report, causando un numero eccessivo di query della cache inviate al motore e in casi estremi sovraccarichi il server. La proprietà ClientCacheRefreshPolicy consente di eseguire l'override di questo comportamento a livello di server. Per altre informazioni, vedere Proprietà generali.
Collegamento online
Questa funzionalità offre la possibilità di collegare un modello tabulare come operazione online. Il collegamento online può essere usato per la sincronizzazione di repliche di sola lettura negli ambienti con scalabilità orizzontale delle query locali. Per eseguire un'operazione di collegamento online, utilizzare l'opzione AllowOverwrite del comando Attach XMLA .
Questa operazione può richiedere il doppio della memoria del modello per conservare la versione precedente online durante il caricamento della nuova versione.
Un modello di utilizzo tipico potrebbe essere il seguente:
DB1 (versione 1) è già collegato nel server di sola lettura B.
DB1 (versione 2) viene elaborato nel server di scrittura A.
DB1 (versione 2) viene scollegato e posizionato in un percorso accessibile al server B (tramite un percorso condiviso, usando Robocopy e così via).
Il <comando Attach> with AllowOverwrite=True viene eseguito nel server B con la nuova posizione di DB1 (versione 2).
Senza questa funzionalità, gli amministratori devono prima scollegare il database e quindi collegare la nuova versione del database. Ciò causa un tempo di inattività durante il quale il database non sarà disponibile per gli utenti e le query eseguite su tale database avranno esito negativo.
Quando viene specificato questo nuovo flag, la versione 1 del database viene eliminata in modo atomico all'interno della stessa transazione senza tempi di inattività. Il costo è tuttavia il caricamento simultaneo di entrambi i database in memoria.
Relazioni molti-a-molti nei modelli tabulari
Questo miglioramento consente relazioni molti-a-molti tra tabelle in cui entrambe le colonne non sono univoche. È possibile definire una relazione tra una tabella delle dimensioni e una tabella dei fatti con una granularità maggiore rispetto alla colonna chiave delle dimensioni. Questo evita di dover normalizzare le tabelle delle dimensioni e può migliorare l'esperienza utente poiché il modello risultante ha un numero minore di tabelle con colonne raggruppate logicamente.
Le relazioni molti-a-molti richiedono che i modelli siano al livello di compatibilità 1500 e superiore. È possibile creare relazioni molti-a-molti usando Visual Studio 2019 con i progetti di Analysis Services VSIX update 2.9.2 e versioni successive, l'API Tabular Object Model (TOM), il linguaggio TMSL (Tabular Model Scripting Language) e lo strumento editor tabulare open source.
Impostazioni di memoria per la governance delle risorse
Le impostazioni delle proprietà seguenti offrono una migliore governance delle risorse:
- Memory\QueryMemoryLimit: questa proprietà di memoria consente di limitare gli spooling di memoria creati dalle query DAX inviate al modello.
- DbpropMsmdRequestMemoryLimit: questa proprietà XMLA consente di eseguire l'override del valore della proprietà del server Memory\QueryMemoryLimit per una connessione.
- OLAP\Query\RowsetSerializationLimit: questa proprietà del server limita il numero di righe restituite in un set di righe, proteggendo le risorse del server da un utilizzo esteso dell'esportazione di dati. Questa proprietà si applica alle query DAX e MDX.
Queste proprietà possono essere impostate usando la versione più recente di SQL Server Management Studio (SSMS). Queste impostazioni sono già disponibili per Azure Analysis Services.
Funzionalità deprecate in SSAS 2019
Non sono presenti funzionalità deprecate annunciate con questa versione.
Funzionalità non più disponibili in SSAS 2019
Non sono disponibili funzionalità non più disponibili annunciate con questa versione.
Modifiche di rilievo in SSAS 2019
Non sono state apportate modifiche di rilievo in questa versione.
Modifiche del comportamento in SSAS 2019
In questa versione non sono state apportate modifiche al comportamento .
SQL Server 2017 Analysis Services
SQL Server 2017 Analysis Services visualizza alcuni dei miglioramenti più importanti dal SQL Server 2012. Basandosi sul successo della modalità tabulare (introdotta in SQL Server 2012 Analysis Services), questa versione rende i modelli tabulari più potenti che mai.
La modalità multidimensionale e la modalità Power Pivot per SharePoint sono un elemento di base per molte distribuzioni di Analysis Services. Nel ciclo di vita del prodotto Analysis Services queste modalità sono mature. In questa versione non sono disponibili nuove funzionalità. Sono tuttavia incluse correzioni di bug e miglioramenti delle prestazioni.
Le funzionalità descritte di seguito sono incluse in SQL Server 2017 Analysis Services. Tuttavia, per sfruttarli, è necessario usare anche le versioni più recenti di Visual Studio con progetti di Analysis Services e SQL Server Management Studio (SSMS). I progetti di Analysis Services e SSMS vengono aggiornati mensilmente con funzionalità nuove e migliorate che in genere coincidono con nuove funzionalità in SQL Server.
Anche se è importante conoscere tutte le nuove funzionalità, è anche importante sapere cosa è deprecato e non più disponibile in questa versione e nelle versioni future. Per altre informazioni, vedere Funzionalità deprecate in SSAS 2017.
Verranno ora esaminate alcune delle nuove funzionalità principali di questa versione.
Livello di compatibilità 1400 per i modelli tabulari
Per sfruttare molte delle nuove funzionalità descritte qui, è necessario impostare o aggiornare modelli tabulari nuovi o esistenti al livello di compatibilità 1400. Non è possibile distribuire i modelli con livello di compatibilità 1400 in SQL Server 2016 SP1 o versioni precedenti né effettuare il downgrade a livelli di compatibilità inferiori. Per altre informazioni, vedere Livello di compatibilità per i modelli tabulari di Analysis Services.
In Visual Studio è possibile selezionare il nuovo livello di compatibilità 1400 durante la creazione di nuovi progetti di modello tabulare.
Per aggiornare un modello tabulare esistente in Visual Studio, in Esplora soluzioni fare clic con il pulsante destro del mouse su Model.bim e quindi in Proprietà impostare la proprietà Livello di compatibilitàsu SQL Server 2017 (1400).
È importante tenere presente che, dopo aver aggiornato un modello esistente a 1400, non è possibile effettuare il downgrade. Assicurarsi di mantenere un backup del database modello 1200.
Funzionalità moderna per il recupero di dati
Quando si tratta di importare dati da origini dati nei modelli tabulari, SSDT introduce l'esperienza di recupero dei dati moderna per i modelli a livello di compatibilità 1400. Questa nuova funzionalità si basa su una funzionalità simile in Power BI Desktop e Microsoft Excel 2016. L'esperienza moderna Recupera dati offre enormi funzionalità di trasformazione dei dati e mashup dei dati usando il generatore di query Recupera dati e le espressioni M.
L'esperienza di recupero dei dati moderna offre supporto per un'ampia gamma di origini dati. In futuro, gli aggiornamenti includeranno ancora di più il supporto.
Un'interfaccia utente potente e intuitiva semplifica la selezione dei dati e delle funzionalità di trasformazione/mashup dei dati.
Le moderne funzionalità get data e M mashup non si applicano ai modelli tabulari esistenti aggiornati dal livello di compatibilità 1200 a 1400. La nuova esperienza si applica solo ai nuovi modelli creati al livello di compatibilità 1400.
Hint di codifica
Questa versione introduce hint di codifica, una funzionalità avanzata usata per ottimizzare l'elaborazione (aggiornamento dati) di modelli tabulari di grandi dimensioni in memoria. Per comprendere meglio la codifica, vedere Ottimizzazione delle prestazioni dei modelli tabulari in SQL Server white paper di Analysis Services 2012 per comprendere meglio la codifica.
La codifica dei valori offre prestazioni di query migliori per le colonne che vengono in genere usate solo per le aggregazioni.
La codifica hash è preferibile per le colonne group-by (spesso valori di tabella delle dimensioni) e per le chiavi esterne. Le colonne stringa sono sempre codificate in hash.
Le colonne numeriche possono usare uno di questi metodi di codifica. Quando Analysis Services avvia l'elaborazione di una tabella, se la tabella è vuota (con o senza partizioni) o viene eseguita un'operazione di elaborazione della tabella completa, vengono acquisiti valori di esempio per ogni colonna numerica per determinare se applicare la codifica hash o valore. Per impostazione predefinita, la codifica dei valori viene scelta quando l'esempio di valori distinti nella colonna è sufficientemente grande. In caso contrario, la codifica hash offre in genere una compressione migliore. È possibile che Analysis Services modifici il metodo di codifica dopo l'elaborazione parziale della colonna in base ad altre informazioni sulla distribuzione dei dati e al riavvio del processo di codifica; tuttavia, questo aumenta il tempo di elaborazione ed è inefficiente. Il white paper sull'ottimizzazione delle prestazioni illustra in modo più dettagliato la ri-codifica e descrive come rilevarlo usando SQL Server Profiler.
Gli hint di codifica consentono al modeler di specificare una preferenza per il metodo di codifica specificato in precedenza dalla profilatura dei dati e/o in risposta alla ridecodifica degli eventi di traccia. Poiché l'aggregazione su colonne con codifica hash è più lenta rispetto alle colonne con codifica valore, la codifica dei valori può essere specificata come hint per tali colonne. Non è garantito che venga applicata la preferenza. Si tratta di un suggerimento anziché di un'impostazione. Per specificare un hint di codifica, impostare la proprietà EncodingHint sulla colonna. I valori possibili sono "Default", "Value" e "Hash". Il frammento di codice seguente di metadati basati su JSON del file Model.bim specifica la codifica dei valori per la colonna Sales Amount.
{
"name": "Sales Amount",
"dataType": "decimal",
"sourceColumn": "SalesAmount",
"formatString": "\\$#,0.00;(\\$#,0.00);\\$#,0.00",
"sourceProviderType": "Currency",
"encodingHint": "Value"
}
Gerarchie incomplete
Nei modelli tabulari è possibile modellare le gerarchie padre-figlio. Le gerarchie con un numero di livelli diverso sono spesso definite gerarchie incomplete. Per impostazione predefinita, le gerarchie di questo tipo presentano spazi vuoti nei livelli al di sotto del figlio minore. Di seguito è riportato un esempio di una gerarchia incompleta in un organigramma:
In questa versione è stata introdotta la proprietà Hide Members (Nascondi membri). È possibile impostare la proprietà Hide Members (Nascondi membri) relativa a una gerarchia su Hide blank members(Nascondi membri vuoti).
Nota
I membri vuoti nel modello sono rappresentati da un valore vuoto di DAX, non da una stringa vuota.
Quando la proprietà è impostata su Hide blank members(Nascondi membri vuoti) e il modello è distribuito, nei client di creazione report come Excel viene visualizzata una versione più leggibile della gerarchia.
Righe di dettaglio
È ora possibile definire un set di righe personalizzato che contribuisce a un valore di misura. La funzionalità Righe di dettaglio è paragonabile all'azione di drill-through predefinita nei modelli multidimensionali. Ciò consente agli utenti finali di visualizzare le informazioni in modo più dettagliato rispetto al livello aggregato.
La tabella pivot seguente mostra i valori annuali di Internet Total Sales del modello tabulare di esempio di AdventureWorks. Per visualizzare le righe di dettaglio è possibile fare clic con il pulsante destro del mouse su una cella con un valore aggregato della misura e quindi scegliere Mostra dettagli .
Per impostazione predefinita, vengono visualizzati i dati associati nella tabella Internet Sales. Questo comportamento limitato spesso non è significativo per l'utente perché la tabella può non includere le colonne necessarie per visualizzare informazioni utili, ad esempio il nome del cliente e i dati relativi agli ordini. Con Righe di dettaglio, è possibile specificare una proprietà Detail Rows Expression (Espressione righe di dettaglio) per le misure.
Proprietà Detail Rows Expression (Espressione righe di dettaglio) per le misure
La proprietà Detail Rows Expression (Espressione righe di dettaglio) per le misure consente agli autori di modelli di personalizzare le colonne e le righe restituite all'utente finale.
La funzione DAX SELECTCOLUMNS viene comunemente usata in un'espressione Di righe di dettaglio. L'esempio seguente definisce le colonne da restituire per le righe della tabella Internet Sales nel modello tabulare di esempio di AdventureWorks:
SELECTCOLUMNS(
'Internet Sales',
"Customer First Name", RELATED( Customer[Last Name]),
"Customer Last Name", RELATED( Customer[First Name]),
"Order Date", 'Internet Sales'[Order Date],
"Internet Total Sales", [Internet Total Sales]
)
Con la proprietà definita e il modello distribuito, quando l'utente seleziona Mostra dettagliviene restituito un set di righe personalizzato che rispetta automaticamente il contesto del filtro della cella selezionata. In questo esempio vengono visualizzate solo le righe per il valore 2010:
Proprietà Default Detail Rows Expression (Espressione predefinita righe di dettaglio) per le tabelle
Oltre alle misure, anche le tabelle hanno una proprietà per definire un'espressione di righe di dettaglio. La proprietà Default Detail Rows Expression (Espressione predefinita righe di dettaglio) viene usata come impostazione predefinita per tutte le misure all'interno della tabella. Le misure che non hanno una propria espressione definita ereditano l'espressione dalla tabella e mostrano il set di righe definito per la tabella. In questo modo è possibile riutilizzare le espressioni e le nuove misure aggiunte alla tabella ereditano automaticamente l'espressione.
Funzione DAX DETAILROWS
In questa versione è inclusa una nuova funzione DAX DETAILROWS
che restituisce il set di righe definito dall'espressione delle righe di dettaglio. Funziona in modo simile all'istruzione DRILLTHROUGH
in MDX, che è anche compatibile con le espressioni delle righe di dettaglio definite nei modelli tabulari.
La query DAX seguente restituisce il set di righe definito dall'espressione delle righe di dettaglio per la misura o la relativa tabella. Se non è definita alcuna espressione, vengono restituiti i dati per la tabella Internet Sales perché è quella che contiene la misura.
EVALUATE DETAILROWS([Internet Total Sales])
Sicurezza a livello di oggetto
Questa versione introduce la sicurezza a livello di oggetto per tabelle e colonne. Oltre a limitare l'accesso ai dati di tabella e colonna, è possibile proteggere i nomi di tabella e colonna sensibili. Ciò consente di impedire a un utente malintenzionato di individuare una tabella esistente.
La sicurezza a livello di oggetto deve essere impostata usando i metadati basati su JSON, TMSL (Tabular Model Scripting Language) o il modello a oggetti tabulari (TOM).
Ad esempio, il codice seguente consente di proteggere la tabella Product del modello tabulare di esempio di AdventureWorks impostando la proprietà MetadataPermission della classe TablePermission su None.
//Find the Users role in Adventure Works and secure the Product table
ModelRole role = db.Model.Roles.Find("Users");
Table productTable = db.Model.Tables.Find("Product");
if (role != null && productTable != null)
{
TablePermission tablePermission;
if (role.TablePermissions.Contains(productTable.Name))
{
tablePermission = role.TablePermissions[productTable.Name];
}
else
{
tablePermission = new TablePermission();
role.TablePermissions.Add(tablePermission);
tablePermission.Table = productTable;
}
tablePermission.MetadataPermission = MetadataPermission.None;
}
db.Update(UpdateOptions.ExpandFull);
Viste a gestione dinamica (DMV)
Le DMV sono query in SQL Server Profiler che restituiscono informazioni sulle operazioni del server locale e sull'integrità del server. Questa versione include miglioramenti alle DMV (Dynamic Management Views ) per i modelli tabulari con i livelli di compatibilità 1200 e 1400.
DISCOVER_CALC_DEPENDENCY ora funziona con i modelli tabulari 1200 e versioni successive. I modelli tabulari 1400 e superiori mostrano le dipendenze tra partizioni M, espressioni M e origini dati strutturate. Per altre informazioni, vedere il blog di Analysis Services.
MDSCHEMA_MEASUREGROUP_DIMENSIONS Miglioramenti sono inclusi per questa DMV, che viene usata da vari strumenti client per mostrare la dimensionalità. Ad esempio, la funzionalità Esplora nelle tabelle pivot di Excel consente all'utente di eseguire il drill incrociato sulle dimensioni correlate alle misure selezionate. Questa versione corregge le colonne di cardinalità, che in precedenza mostravano valori non corretti.
Miglioramenti apportati a DAX
Una delle parti più importanti della nuova funzionalità DAX è la nuova funzione IN Operator/CONTAINSROW per le espressioni DAX. È simile all'operatore TSQL IN
comunemente usato per specificare più valori in una clausola WHERE
.
In precedenza, era pratica comune specificare filtri con più valori usando l'operatore logico OR
, come illustrato nell'espressione di misura seguente:
Filtered Sales:=CALCULATE (
[Internet Total Sales],
'Product'[Color] = "Red"
|| 'Product'[Color] = "Blue"
|| 'Product'[Color] = "Black"
)
Questo processo viene semplificato dall'operatore IN
:
Filtered Sales:=CALCULATE (
[Internet Total Sales], 'Product'[Color] IN { "Red", "Blue", "Black" }
)
In questo caso, l'operatore IN
fa riferimento a una tabella a colonna singola con 3 righe, una per ogni colore specificato. Si noti che nella sintassi del costruttore della tabella vengono usate le parentesi graffe.
Dal punto di vista funzionale, l'operatore IN
equivale alla funzione CONTAINSROW
:
Filtered Sales:=CALCULATE (
[Internet Total Sales], CONTAINSROW({ "Red", "Blue", "Black" }, 'Product'[Color])
)
L'operatore IN
può essere usato in modo efficace anche con i costruttori di tabella. Ad esempio, la misura seguente filtra in base a combinazioni di colore prodotto e categoria:
Filtered Sales:=CALCULATE (
[Internet Total Sales],
FILTER( ALL('Product'),
( 'Product'[Color] = "Red" && Product[Product Category Name] = "Accessories" )
|| ( 'Product'[Color] = "Blue" && Product[Product Category Name] = "Bikes" )
|| ( 'Product'[Color] = "Black" && Product[Product Category Name] = "Clothing" )
)
)
Se si usa il nuovo operatore IN
, l'espressione di misura precedente è formulata nel modo seguente:
Filtered Sales:=CALCULATE (
[Internet Total Sales],
FILTER( ALL('Product'),
('Product'[Color], Product[Product Category Name]) IN
{ ( "Red", "Accessories" ), ( "Blue", "Bikes" ), ( "Black", "Clothing" ) }
)
)
Miglioramenti aggiuntivi
Oltre a tutte le nuove funzionalità, Analysis Services, SSDT e SSMS includono anche i miglioramenti seguenti:
- La gerarchia e la colonna vengono riutilizzate in posizioni più utili nell'elenco dei campi di Power BI.
- Relazioni di data per creare facilmente relazioni con dimensioni data in base ai campi data.
- L'opzione di installazione predefinita per Analysis Services è ora disponibile per la modalità tabulare.
- Nuove origini dati Recupera dati (Power Query).
- Editor DAX per SSDT.
- Le origini dati DirectQuery esistenti supportano le query M.
- Miglioramenti di SSMS, ad esempio la visualizzazione, la modifica e il supporto degli script per le origini dati strutturate.
Funzionalità deprecate in SSAS 2017
In questa versione sono deprecate le funzionalità seguenti:
Modalità/Categoria | Funzionalità |
---|---|
Multidimensionale | Data Mining |
Multidimensionale | Gruppi di misure collegati remoti |
Tabulare | Modelli a livello di compatibilità 1100 e 1103 |
Tabulare | Proprietà del modello a oggetti tabulari - Column.TableDetailPosition, Column.IsDefaultLabel, Column.IsDefaultImage |
Strumenti | SQL Server Profiler per l'acquisizione della traccia La sostituzione prevede l'uso del profiler di eventi estesi incorporato in SQL Server Management Studio. Vedere Monitorare Analysis Services con eventi estesi di SQL Server. |
Strumenti | Server Profiler per la riproduzione della traccia Sostituzione. Non è prevista alcuna sostituzione. |
Trace Management Objects e API di traccia | Oggetti Microsoft.AnalysisServices.Trace (contiene le API per gli oggetti Analysis Services Trace e Replay). La sostituzione è multiparte: - Configurazione di traccia: Microsoft.SqlServer.Management.XEvent - Lettura traccia: Microsoft.SqlServer.XEvent.Linq - Riproduzione traccia: nessuno |
Funzionalità non più disponibili in SSAS 2017
In questa versione non sono più disponibili le funzionalità seguenti:
Modalità/Categoria | Funzionalità |
---|---|
Tabulare | Valore della proprietà di memoria VertiPaqPagingPolicy (2), abilitare il paging su disco usando file mappati alla memoria. |
Multidimensionale | Partizioni remote |
Multidimensionale | Gruppi di misure collegati remoti |
Multidimensionale | Writeback dimensionale |
Multidimensionale | Dimensioni collegate |
Modifiche di rilievo in SSAS 2017
Non sono state apportate modifiche di rilievo in questa versione.
Modifiche del comportamento in SSAS 2017
Modifiche a MDSCHEMA_MEASUREGROUP_DIMENSIONS e DISCOVER_CALC_DEPENDENCY, descritte in dettaglio nell'annuncio Novità di SQL Server 2017 CTP 2.1 per Analysis Services.
SQL Server 2016 Analysis Services
SQL Server 2016 Analysis Services include molti nuovi miglioramenti che offrono prestazioni migliorate, la creazione di soluzioni più semplice, la gestione automatizzata dei database, le relazioni migliorate con il filtro incrociato bidirezionale, l'elaborazione parallela delle partizioni e molto altro ancora. L'elemento centrale per la maggior parte dei miglioramenti apportati in questa versione è il nuovo livello di compatibilità 1200 per i database modello tabulari.
SQL Server 2016 Service Pack 1 (SP1) Analysis Services
Pagina di download di SQL Server 2016 SP1
SQL Server 2016 Service SP1 Analysis Services offre livelli più elevati di prestazioni e scalabilità grazie alla compatibilità NUMA (Non-Uniform Memory Access) e all'allocazione ottimizzata della memoria in base a Intel Threading Building Blocks (Intel TBB). Queste nuove funzionalità consentono di ridurre il costo totale di proprietà (TCO) fornendo il supporto di più utenti su un numero minore di server aziendali più potenti.
In particolare, le funzionalità di SQL Server 2016 SP1 Analysis Services offrono miglioramenti in queste aree chiave:
- Compatibilità NUMA : per un migliore supporto dell'architettura NUMA, il motore in memoria (VertiPaq) incluso in Analysis Services gestisce ora una coda di processi separata su ogni nodo NUMA. In questo modo, i processi di analisi dei segmenti vengono eseguiti sullo stesso nodo in cui è allocata la memoria per i dati dei segmenti. Si noti che la compatibilità NUMA è abilitata per impostazione predefinita solo nei sistemi con almeno quattro nodi NUMA. Nei sistemi a due nodi, i costi di accesso alla memoria allocata remota in genere non garantiscono il sovraccarico di gestione delle specifiche NUMA.
- Allocazione della memoria : Analysis Services è stato accelerato con Intel Threading Building Blocks, un allocatore scalabile che fornisce pool di memoria separati per ogni core. Con l'aumento del numero di core, il sistema può essere scalato in modo quasi lineare.
- Frammentazione dell'heap : l'allocatore scalabile basato su Intel TBB consente anche di attenuare i problemi di prestazioni dovuti alla frammentazione dell'heap che sono stati riscontrati per l'heap di Windows.
I test di prestazioni e scalabilità hanno mostrato miglioramenti significativi nella velocità di esecuzione delle query quando SQL Server 2016 SP1 Analysis Services viene eseguito su server aziendali di grandi dimensioni con più nodi.
Anche se la maggior parte dei miglioramenti presenti in questa versione sono specifici per i modelli tabulari, è stata apportata una serie di miglioramenti ai modelli multidimensionali: ottimizzazione ROLAP Distinct Count per origini dati quali DB2 e Oracle, supporto del drill-through con selezione multipla con Excel 2016 e ottimizzazioni per le query Excel.
SQL Server 2016 General Availability (GA) Analysis Services
Modellazione
Miglioramento delle prestazioni di modellazione per i modelli tabulari 1200
Per i modelli tabulari 1200, le operazioni sui metadati in SSDT sono molto più veloci rispetto ai modelli tabulari 1100 o 1103. A scopo di confronto, nello stesso hardware la creazione di una relazione in un modello impostato sul livello di compatibilità di SQL Server 2014 (1103) con 23 tabelle richiede 3 secondi, mentre la stessa relazione in un modello creato impostato sul livello di compatibilità 1200 richiede poco meno di un secondo.
Modelli di progetto aggiunti per i modelli tabulari 1200 in SSDT
A partire da questa versione, non sono più necessarie due versioni di SSDT per la compilazione di progetti relazionali e di Business Intelligence. SQL Server Data Tools per Visual Studio 2015 aggiunge modelli di progetto per le soluzioni di Analysis Services, inclusi i progetti tabulari di Analysis Services usati per la compilazione di modelli a livello di compatibilità 1200. Sono inclusi anche altri modelli di progetto di Analysis Services per soluzioni di data mining e multidimensionali, ma allo stesso livello funzionale (1100 o 1103) come nelle versioni precedenti.
Cartelle di visualizzazione
Ora sono disponibili le cartelle di visualizzazione per i modelli tabulari 1200. Le cartelle di visualizzazione, definite in SQL Server Data Tools e di cui viene eseguito il rendering in applicazioni client quali Excel o Power BI Desktop, consentono di organizzare un numero elevato di misure in singole cartelle, aggiungendo una gerarchia visiva per semplificare la navigazione tra gli elenchi di campi.
Filtri incrociati bidirezionali
La novità di questa versione è un approccio predefinito per l'abilitazione dei filtri incrociati bidirezionali nei modelli tabulari, eliminando in questo modo la necessità di prevedere soluzioni DAX personalizzate per la propagazione del contesto di filtro nelle relazioni tra tabelle. I filtri vengono generati automaticamente solo quando è possibile stabilire la direzione con un livello di attendibilità elevato. In caso di ambiguità sotto forma di più percorsi di query tra le relazioni tra tabelle, i filtri non vengono creati automaticamente. Per informazioni dettagliate, vedere Filtri incrociati bidirezionali per i modelli tabulari in SQL Server 2016 Analysis Services .
Traduzioni
È ora possibile archiviare metadati tradotti in un modello tabulare 1200. I metadati del modello includono campi per Culturee per didascalie e descrizioni tradotte. Per aggiungere traduzioni, usare il comando Model>Translations in SQL Server Data Tools. Per informazioni dettagliate, vedere Traduzioni nei modelli tabulari (Analysis Services).
Tabelle incollate
Ora è possibile eseguire l'aggiornamento di un modello tabulare 1100 o 1103 al livello 1200 quando il modello contiene tabelle incollate. È consigliabile usare SQL Server Data Tools. In SSDT impostare CompatibilityLevel su 1200 e quindi eseguire la distribuzione in un'istanza di SQL Server Analysis Services SQL Server 2017. Per informazioni dettagliate, vedere Compatibility Level for Tabular models in Analysis Services .
Tabelle calcolate in SSDT
Una tabella calcolata è una costruzione solo modello basata su una query o un'espressione DAX in SSDT. Quando viene distribuita in un database, una tabella calcolata non è distinguibile dalle tabelle normali.
Le tabelle calcolate possono essere usate per diversi scopi, inclusa la creazione di nuove tabelle per esporre una tabella esistente in un ruolo specifico. L'esempio tipico è una tabella data che opera in più contesti, ovvero data dell'ordine, data di spedizione e così via. La creazione di una colonna calcolata per un determinato ruolo permette ora di attivare una relazione tra tabelle per semplificare le query o l'interazione dei dati tramite la tabella calcolata. Le tabelle calcolate possono essere usate anche per combinare parti di tabelle esistenti in una tabella completamente nuova che esiste solo nel modello. Per altre informazioni, vedere Creare una tabella calcolata .
Correzione della formula
Con la correzione della formula in un modello tabulare 1200, SSDT aggiornerà automaticamente tutte le misure che fanno riferimento a una colonna o a una tabella rinominata.
Supporto per Gestione configurazione di Visual Studio
Per supportare più ambienti, ad esempio di testing e di preproduzione, Visual Studio consente agli sviluppatori di creare più configurazioni di progetto usando Gestione configurazione. È già usato nei modelli multidimensionali, ma non nei modelli tabulari. A partire da questa versione, è possibile usare Gestione configurazione per la distribuzione in server diversi.
Gestione delle istanze
È possibile amministrare i modelli tabulari 1200 in SSMS
In questa versione, un'istanza di Analysis Services in modalità server tabulare può eseguire modelli tabulari a qualsiasi livello di compatibilità (1100, 1103 o 1200). La versione più recente di SQL Server Management Studio è stata aggiornata per la visualizzazione delle proprietà e l'amministrazione del modello di database per i modelli tabulari a livello di compatibilità 1200.
Elaborazione parallela per più partizioni di tabella nei modelli tabulari
Questa versione include una nuova funzionalità di elaborazione parallela per le tabelle con due o più partizioni e garantisce così un miglioramento delle prestazioni di elaborazione. Per questa funzionalità non sono previste impostazioni di configurazione. Per altre informazioni sulla configurazione delle partizioni e delle tabelle di elaborazione, vedere Partizioni di modelli tabulari.
Aggiunta di account computer come amministratori in SSMS
SQL Server Analysis Services amministratori possono ora usare SQL Server Management Studio per configurare gli account computer come membri del gruppo amministratori di SQL Server Analysis Services. Nella finestra di dialogo Seleziona utenti o gruppi impostare i Percorsi dei domini dei computer e quindi aggiungere il tipo di oggetto Computers . Per altre informazioni, vedere Concedere i diritti di amministratore del server a un'istanza di Analysis Services.
DBCC per Analysis Services
La verifica di coerenza del database (DBCC) viene eseguita internamente per rilevare possibili problemi di danneggiamento dei dati in fase di caricamento del database, ma può anche essere eseguita su richiesta, se si sospetta la presenza di problemi nei dati o nel modello. DBCC esegue controlli diversi a seconda che il modello sia tabulare o multidimensionale. Per informazioni dettagliate, vedere DbCC (Database Consistency Checker) per i database tabulari e multidimensionali di Analysis Services .
Aggiornamenti a Eventi estesi
Questa versione aggiunge un'interfaccia utente grafica a SQL Server Management Studio per configurare e gestire SQL Server Analysis Services eventi estesi. È possibile impostare flussi di dati dinamici per monitorare l'attività del server in tempo reale, mantenere i dati di sessione caricati in memoria per analisi più veloci o salvare i flussi di dati in un file per l'analisi offline. Per altre informazioni, vedere Monitor Analysis Services with SQL Server Extended Events(Utilizzo di eventi estesi di SQL Server per il monitoraggio di Analysis Services).
Scripting
PowerShell per i modelli tabulari
Questa versione include miglioramenti di PowerShell per i modelli tabulari con livello di compatibilità 1200. È possibile usare tutti i cmdlet applicabili, nonché cmdlet specifici per la modalità tabulare: ProcessASDatabase Invoke e Invoke-ProcessTable.
Operazioni di scripting del database di SSMS
Nella versione più recente di SQL Server Management Studio (SSMS)è ora abilitato uno script per i comandi di database, tra cui quelli di creazione, modifica, eliminazione, backup, ripristino, collegamento e scollegamento. L'output è il linguaggio di scripting del modello tabulare (Tabular Model Scripting Language, TMSL) in JSON. Per altre informazioni, vedere Informazioni di riferimento sul linguaggio di scripting del modello tabulare (TMSL).
Attività Esegui DDL Analysis Services
L'Attività Esegui DDL Analysis Services ora accetta i comandi TMSL (Tabular Model Scripting Language).
cmdlet di PowerShell per SSAS
Il cmdlet di PowerShell per SSAS Invoke-ASCmd ora accetta i comandi TMSL (Tabular Model Scripting Language). Altri cmdlet di PowerShell per SSAS potrebbero essere aggiornati in una versione futura per l'uso dei nuovi metadati tabulari e le eccezioni verranno segnalate nelle note di rilascio. Per informazioni dettagliate, vedere Analysis Services PowerShell Reference .
Supporto per TMSL (Tabular Model Scripting Language) in SSMS
Usando la versione più recente di SSMS, è ora possibile creare script per automatizzare la maggior parte delle attività amministrative per i modelli tabulari 1200. Attualmente, è possibile generare script per le attività CREATE, ALTER e DELETE a livello di database e Process a qualsiasi livello.
A livello funzionale, il linguaggio TMSL equivale all'estensione ASSL XMLA che fornisce le definizioni degli oggetti multidimensionali, ad eccezione del fatto che TMSL usa descrittori nativi come model, tablee relationship per descrivere i metadati tabulari. Per informazioni dettagliate sullo schema, vedere Informazioni di riferimento sul linguaggio di scripting del modello tabulare (TMSL).
Uno script generato basato su JSON per un modello tabulare avrà un aspetto simile al seguente:
{
"create": {
"database": {
"name": "AdventureWorksTabular1200",
"id": "AdventureWorksTabular1200",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
}
}
Il payload è un documento JSON che può essere minimo come l'esempio illustrato in precedenza o altamente abbellito con il set completo di definizioni di oggetti. Informazioni di riferimento sul linguaggio di scripting del modello tabulare (TMSL) descrivono la sintassi.
A livello di database, i comandi CREATE, ALTER e DELETE restituiscono script TMSL nella finestra XMLA classica. In questa versione è possibile generare script anche di altri comandi, ad esempio, Process. Per molte altre azioni il supporto per gli script potrebbe essere aggiunto in una versione futura.
Comandi gestibili tramite script | Descrizione |
---|---|
create | Aggiunge un database, una connessione o una partizione. L'equivalente ASSL è CREATE. |
createOrReplace | Aggiorna una definizione di oggetto esistente (database, connessione o partizione) sovrascrivendo una versione precedente. L'equivalente ASSL è ALTER con AllowOverwrite impostato su true e ObjectDefinition impostato su ExpandFull. |
eliminazione | Rimuove una definizione di oggetto. L'equivalente ASSL è DELETE. |
refresh | Elabora l'oggetto. L'equivalente ASSL è PROCESS. |
DAX
Modifica migliorata della formula DAX
Aggiornamenti alla barra delle formule consente di scrivere formule con maggiore facilità differenziando funzioni, campi e misure usando la colorazione della sintassi, fornisce suggerimenti per funzioni e campi intelligenti e indica se le parti dell'espressione DAX non sono errate usando i problemi di errore. Ora è anche possibile usare più righe (ALT+INVIO) e il rientro (TAB). La barra della formula consente ora anche di scrivere commenti come parte delle misure, digitare solo "//" e tutto dopo questi caratteri sulla stessa riga verrà considerato un commento.
Variabili DAX
Questa versione ora include il supporto per le variabili in DAX. Ora le variabili possono archiviare il risultato di un'espressione come variabile denominata, che può essere passata come argomento ad altre espressioni di misura. Dopo aver calcolato i valori risultanti per un'espressione variabile, non tali valori non cambiano, anche se viene fatto riferimento alla variabile in un'altra espressione. Per altre informazioni, vedere la funzione VAR.
Nuove funzioni DAX
Con questa versione, in DAX sono state introdotte più di cinquanta nuove funzioni per supportare calcoli più rapidi e visualizzazioni migliorate in Power BI. Per altre informazioni, vedere Nuove funzioni DAX.
Salvataggio di misure incomplete
Ora è possibile salvare le misure DAX incomplete direttamente in un progetto di modello tabulare 1200 e riprenderle quando si è pronti per continuare.
Altri miglioramenti di DAX
- Calcolo dei valori non vuoti - Riduce il numero di analisi necessarie per i valori non vuoti.
- Fusione delle misure - Più misure dalla stessa tabella vengono combinate in un singolo motore di archiviazione o una query.
- Set di raggruppamenti - Quando una query richiede misure con più granularità (totale/mese/anno), viene inviata una singola query al livello inferiore e il resto delle granularità viene derivato dal livello più basso.
- Eliminazione di join ridondanti - Una singola query al motore di archiviazione restituisce le colonne della dimensione e i valori delle misure.
- Valutazione restrittiva di IF/SWITCH - Un ramo con una condizione false non comporterà più query del motore di archiviazione. In precedenza, i rami venivano valutati rapidamente ma i risultati erano scartati in un secondo momento.
Sviluppatore
Spazio dei nomi Microsoft.AnalysisServices.Tabular per la programmabilità tabulare a livello 1200 in AMO
Analysis Services Management Objects (AMO) viene aggiornato per includere un nuovo spazio dei nomi tabulare per la gestione di un'istanza in modalità tabulare di SQL Server 2016 Analysis Services e fornire il linguaggio DDL (Data Definition Language) per la creazione o la modifica di modelli tabulari 1200 a livello di codice. Per informazioni sull'API, vedere Microsoft.AnalysisServices.Tabular .
Aggiornamenti di Analysis Services Management Objects (AMO)
Analysis Services Management Objects (AMO) è stato re-factored per includere un secondo assembly, Microsoft.AnalysisServices.Core.dll. Il nuovo assembly separa le classi comuni come Server, Database e Role che hanno un utilizzo diversificato in Analysis Services, indipendentemente dalla modalità del server. Queste classi in precedenza facevano parte dell'assembly Microsoft.AnalysisServices originale. Lo spostamento in un nuovo assembly apre la strada a future estensioni di AMO, con una distinzione netta tra API generiche e API specifiche del contesto. I nuovi assembly non influiscono sulle applicazioni esistenti. Tuttavia, se per qualsiasi motivo si sceglie di ricompilare le applicazioni usando il nuovo assembly AMO, assicurarsi di aggiungere un riferimento a Microsoft.AnalysisServices.Core. Analogamente, gli script di PowerShell che chiamano AMO e vengono caricati al suo interno ora devono caricare Microsoft.AnalysisServices.Core.dll. Assicurarsi di aggiornare gli script.
Editor JSON per file BIM
La vista Codice in Visual Studio 2015 ora esegue il rendering dei file BIM in formato JSON per i modelli tabulari 1200. La versione di Visual Studio determina il rendering del file BIM in JSON tramite l'editor JSON incorporato oppure come testo normale.
Per usare l'editor JSON, con la possibilità di espandere e comprimere le sezioni del modello, è necessaria la versione più recente di SQL Server Data Tools con una qualsiasi edizione di Visual Studio 2015, inclusa l'edizione Community gratuita. Per tutte le altre versioni di SSDT o Visual Studio, il file BIM viene visualizzato in JSON come testo normale. Almeno, un modello vuoto conterrà il codice JSON seguente:
{
"name": "SemanticModel",
"id": "SemanticModel",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
Avviso
Evitare di modificare direttamente il codice JSON, perché ciò può danneggiare il modello.
Nuovi elementi nello schema MS-CSDLBI 2.0
Gli elementi seguenti sono stati aggiunti al tipo complesso TProperty definito nello schema [MS-CSDLBI] 2.0:
Elemento | Definizione |
---|---|
DefaultValue | Proprietà che specifica il valore usato durante la valutazione della query. La proprietà DefaultValue è facoltativa, ma viene selezionata automaticamente se non è possibile aggregare i valori del membro. |
Statistiche | Set di statistiche dei dati sottostanti associati alla colonna. Le statistiche sono definite dal tipo complesso TPropertyStatistics e vengono fornite solo se la relativa generazione non risulta dispendiosa a livello di calcolo, come descritto nella sezione 2.1.13.5 del documento relativo al formato di file di Conceptual Schema Definition con annotazioni Business Intelligence. |
DirectQuery
Nuova implementazione di DirectQuery
In questa versione sono stati apportati miglioramenti significativi a DirectQuery per i modelli tabulari 1200. Di seguito è disponibile un riepilogo:
- DirectQuery ora genera query più semplici che offrono prestazioni migliori.
- Controllo aggiuntivo sulla definizione di set di dati di esempio usati per la progettazione e il test del modello.
- La sicurezza a livello di riga è ora supportata per i modelli tabulari 1200 in modalità DirectQuery. In precedenza la presenza della sicurezza a livello di riga impediva di eseguire un modello tabulare in modalità DirectQuery.
- Le colonne calcolate non sono supportate per i modelli tabulari 1200 in modalità DirectQuery. In precedenza la presenza delle colonne calcolate impediva di distribuire un modello tabulare in modalità DirectQuery.
- Le ottimizzazioni delle prestazioni includono l'eliminazione di join ridondanti per VertiPaq e DirectQuery.
Nuove origini dati per la modalità DirectQuery
Le origini dati supportate per i modelli tabulari 1200 in modalità DirectQuery includono ora Oracle, Teradata e Microsoft Analytics Platform (in precedenza nota come Parallel Data Warehouse). Per altre informazioni, vedere Modalità DirectQuery.
Funzionalità deprecate in SSAS 2016
In questa versione sono deprecate le funzionalità seguenti:
Modalità/Categoria | Funzionalità |
---|---|
Multidimensionale | Partizioni remote |
Multidimensionale | Gruppi di misure collegati remoti |
Multidimensionale | Writeback dimensionale |
Multidimensionale | Dimensioni collegate |
Multidimensionale | Notifiche di tabella di SQL Server per il caching attivo. La sostituzione prevede l'uso del polling per il caching attivo. Vedere Memorizzazione nella cache attiva (dimensioni) e memorizzazione nella cache attiva (partizioni). |
Multidimensionale | Cubi di sessione. Non è prevista alcuna sostituzione. |
Multidimensionale | Cubi locali. Non è prevista alcuna sostituzione. |
Tabulare | I livelli di compatibilità 1100 e 1103 del modello tabulare saranno supportati in una versione futura. La sostituzione consiste nell'impostare i modelli a livello di compatibilità 1200 o superiore, convertendo le definizioni del modello in metadati tabulari. Vedere Livello di compatibilità per i modelli tabulari in Analysis Services. |
Strumenti | SQL Server Profiler per l'acquisizione della traccia La sostituzione prevede l'uso del profiler di eventi estesi incorporato in SQL Server Management Studio. Vedere Monitorare Analysis Services con eventi estesi di SQL Server. |
Strumenti | Server Profiler per la riproduzione della traccia Sostituzione. Non è prevista alcuna sostituzione. |
Trace Management Objects e API di traccia | Oggetti Microsoft.AnalysisServices.Trace (contiene le API per gli oggetti Analysis Services Trace e Replay). La sostituzione è multiparte: - Configurazione di traccia: Microsoft.SqlServer.Management.XEvent - Lettura traccia: Microsoft.SqlServer.XEvent.Linq - Riproduzione traccia: nessuno |
Funzionalità non più disponibili in SSAS 2016
In questa versione non sono più disponibili le funzionalità seguenti:
Funzionalità | Sostituzione o soluzione alternativa |
---|---|
CalculationPassValue (MDX) | Nessuno. Questa funzionalità è stata deprecata in SQL Server 2005. |
CalculationCurrentPass (MDX) | Nessuno. Questa funzionalità è stata deprecata in SQL Server 2005. |
Hint di Query Optimizer NON_EMPTY_BEHAVIOR | Nessuno. Questa funzionalità è stata deprecata in SQL Server 2008. |
Assembly COM | Nessuno. Questa funzionalità è stata deprecata in SQL Server 2008. |
Proprietà intrinseca di cella CELL_EVALUATION_LIST | Nessuno. Questa funzionalità è stata deprecata in SQL Server 2005. |
Modifiche di rilievo in SSAS 2016
Aggiornamento della versione .NET 4.0
Le librerie client AMO (Analysis Services Management Objects), ADOMD.NET e Tabular Object Model (TOM) ora sono destinate al runtime di .NET 4.0. Questa modifica può essere di rilievo per le applicazioni destinate a .NET 3.5. Le applicazioni che usano versioni più recenti di questi assembly devono ora essere destinate a .NET 4.0 o versione successiva.
Aggiornamento della versione AMO
Questa versione è un aggiornamento della versione per AMO (Analysis Services Management Objects) ed è una modifica che causa un'interruzione in determinate circostanze. L'esecuzione del codice e degli script esistenti che chiamano AMO continuerà proprio come prima dell'aggiornamento da una versione precedente. Tuttavia, se è necessario ricompilare l'applicazione e si ha come destinazione un'istanza di Analysis Services SQL Server 2016, è necessario aggiungere lo spazio dei nomi seguente per rendere operativo il codice o lo script:
using Microsoft.AnalysisServices;
using Microsoft.AnalysisServices.Core;
Ora è necessario lo spazio dei nomi Microsoft.AnalysisServices.Core quando si fa riferimento all'assembly Microsoft.AnalysisServices nel codice. Gli oggetti che precedentemente erano presenti solo nello spazio dei nomi Microsoft.AnalysisServices vengono spostati nello spazio dei nomi principale in questa versione se l'oggetto viene usato nello stesso modo in scenari sia in formato tabulare che multidimensionale. Ad esempio, le API correlate al server vengono rilocate allo spazio dei nomi principale.
Anche se ora esistono più spazi dei nomi, entrambi presenti nello stesso assembly (Microsoft.AnalysisServices.dll).
Modifiche di XEvent DISCOVER
Per supportare meglio lo streaming XEvent DISCOVER in SSMS per SQL Server 2016 Analysis Services, DISCOVER_XEVENT_TRACE_DEFINITION
viene sostituito con le tracce XEvent seguenti:
DISCOVER_XEVENT_PACKAGES
DISCOVER_XEVENT_OBJECT
DISCOVER_XEVENT_OBJECT_COLUMNS
DISCOVER_XEVENT_SESSION_TARGETS
Modifiche del comportamento in SSAS 2016
Analysis Services in modalità SharePoint
L'esecuzione della configurazione guidata di PowerPivot non è più necessaria come attività di post-installazione. Ciò vale per tutte le versioni supportate di SharePoint che caricano modelli dal SQL Server 2016 Analysis Services corrente.
Modalità DirectQuery per modelli tabulari
DirectQuery è una modalità di accesso ai dati per modelli tabulari, in cui l'esecuzione di query avviene in un database relazionale di back-end, recuperando un set di risultati in tempo reale. Viene usata spesso per set di dati di grandi dimensioni per i quali la memoria non è sufficiente o quando i dati sono volatili e si vuole che i dati più recenti vengano restituiti in query in un modello tabulare.
DirectQuery è disponibile come modalità di accesso ai dati nelle ultime versioni rilasciate. In SQL Server 2016 Analysis Services, l'implementazione è stata leggermente modificata, presupponendo che il modello tabulare sia a livello di compatibilità 1200 o superiore. DirectQuery ha meno restrizioni rispetto a prima. Include inoltre diverse proprietà di database.
Se si usa DirectQuery in un modello tabulare esistente, è possibile mantenere il modello al livello di compatibilità attuale pari a 1100 o 1103 e continuare a usare DirectQuery come implementato per tali livelli. In alternativa, è possibile eseguire l'aggiornamento a 1200 o versione successiva per trarre vantaggio dai miglioramenti apportati a DirectQuery.
Non è disponibile alcun aggiornamento sul posto di un modello DirectQuery perché le impostazioni dei livelli di compatibilità precedenti non hanno controparti esatte nei livelli di compatibilità più recenti 1200 e superiori. Se si dispone di un modello tabulare esistente in esecuzione in modalità DirectQuery, è necessario aprire il modello in SQL Server Data Tools, disattivare DirectQuery, impostare la proprietà Livello di compatibilità su 1200 o versione successiva e quindi riconfigurare le proprietà DirectQuery. Per informazioni dettagliate , vedere Modalità DirectQuery .
Definizioni
Una funzionalità deprecata verrà sospesa dal prodotto in una versione futura, ma è ancora supportata e inclusa nella versione corrente per mantenere la compatibilità con le versioni precedenti. È consigliabile interrompere l'uso di funzionalità deprecate nei progetti nuovi ed esistenti per mantenere la compatibilità con le versioni future. La documentazione non viene aggiornata per le funzionalità deprecate.
Una funzionalità sospesa è stata deprecata in una versione precedente. Può continuare a essere incluso nella versione corrente, ma non è più supportato. Le funzionalità interrotte possono essere rimosse interamente nella versione dichiarata o futura.
Una modifica di rilievo causa una funzionalità, un modello di dati, un codice applicazione o uno script non funzione più dopo l'aggiornamento alla versione corrente.
Una modifica del comportamento influisce sul funzionamento della stessa funzionalità nella versione corrente rispetto alla versione precedente. Vengono descritte solo modifiche significative al comportamento. Le modifiche apportate all'interfaccia utente non sono incluse. Le modifiche ai valori predefiniti, la configurazione manuale necessaria per completare una funzionalità di aggiornamento o ripristino o una nuova implementazione di una funzionalità esistente sono tutti esempi di una modifica del comportamento.