Quali sono i motivi oggettivi per preferire SQL Server 2016 rispetto alle versioni precedenti?


29

Poiché Microsoft effettua aggiornamenti della versione di SQL Server più frequentemente dai tempi di SQL Server 2005 o 2008, molte aziende trovano difficile determinare quando un aggiornamento è un "must have!" e quando un aggiornamento è un "bello avere"

Nello spirito di alcune domande precedenti che pongono motivi per preferire varie versioni più recenti di SQL Server rispetto a quelle precedenti, quali sono alcuni motivi tecnici o commerciali oggettivi che un'azienda potrebbe prendere in considerazione per un aggiornamento a SQL Server 2016 rispetto a una versione precedente, anche successiva versione come SQL Server 2014?

(Questa domanda su SQL Server 2012 rispetto a SQL Server 2008, o questa su SQL Server 2012 rispetto a SQL Server 2005 vengono in mente come esempi dello spirito di questa domanda. Le risposte ad esse si espandono anche su alcuni dei motivi qui per società che iniziano su SQL Server 2008 o SQL Server 2005)

Risposte:


36

Esistono molti motivi per considerare un aggiornamento a SQL Server 2016. Il più delle volte, questi motivi variano a seconda della versione di SQL Server da cui provengono. Questo non sarà un elenco esaustivo, ma ti darò alcuni motivi che mi vengono in mente. Compreso un motivo molto importante che abbiamo appena appreso con la versione di SQL Server 2016 SP1 nel novembre 2016. Non vedo l'ora di vedere altre risposte per l'espansione o le funzionalità che ho perso.

Motivo importante: molte funzionalità sono ora disponibili nell'edizione standard

Il 16 novembre 2016 Microsoft ha annunciato il rilascio del Service Pack 1 per SQL Server 2016. Insieme a questo annuncio, hanno anche annunciato che molte funzionalità precedentemente riservate ai clienti della Enterprise Edition sarebbero state disponibili in tutte le edizioni di SQL Server: Standard, Express (con alcune eccezioni), Web oltre a Enterprise Edition.

Questo dovrebbe essere un motivo molto valido per l'aggiornamento per i fornitori di software che sviluppano e vendono software con un back-end di SQL Server: ora molte funzionalità possono essere disponibili per i loro clienti indipendentemente dall'edizione con licenza di SQL Server. Ciò è convincente anche per le aziende dei settori che devono mantenere il controllo o altri miglioramenti della sicurezza che sono stati aggiunti al prodotto nel tempo.

A mio modesto parere, in oltre 17 anni di lavoro con SQL Server questo rende SQL Server 2016 SP1 probabilmente l'aggiornamento più convincente da quando ho iniziato a lavorare con SQL Server nella versione 6.5. (Non fraintendetemi, il 2000, il 2005 e il 2012 hanno avuto i loro pro anche per i loro tempi!)

Guarda l'elenco qui sotto, ma proprio come un rapido esempio di alcune delle funzionalità che ora puoi utilizzare in Standard Edition, hai queste: Compressione, Modifica acquisizione dati, Controllo accurato, Sicurezza a livello di riga, Crittografia sempre, Partizionamento, Database Istantanee, OLTP in memoria, Columnstore.

Motivi specifici delle nuove funzionalità di SQL Server 2016

Sto cercando di mantenere i motivi qui in questa sezione solo per le funzionalità introdotte in SQL Server 2016. Sto anche descrivendo solo i miglioramenti del motore principale in questa risposta, non i rapporti, l'analisi, l'integrazione dei dati, ecc.

Relativo alla sicurezza

Sicurezza a livello di riga - Ho molti clienti che desiderano essere in grado di implementare la sicurezza riga per riga. "L'utente x può visualizzare i dati su questa riga, ma non su quella riga". Molti di questi clienti hanno creato funzioni e / o complicate strutture basate sulla vista per raggiungere questo obiettivo. In SQL Server 2016 sono disponibili predicati e criteri di sicurezza disponibili per aiutare qui. Puoi leggere di più su RLS qui .

Dynamic Data Masking - Questo suona alla grande sulla carta, ma mi chiedo se si rivelerà meno utile delle altre due modifiche nell'area di sicurezza. Fondamentalmente, è possibile mascherare in modo dinamico o offuscare i dati al momento della query in base alle autorizzazioni del chiamante. La quantità di dati da offuscare è qualcosa che è programmabile. Ad esempio, nell'esempio utilizzato da Microsoft, è possibile mascherare tutte, tranne le ultime quattro cifre di un numero di carta di credito, in modo che un chiamante in un call center possa verificare quelle ultime quattro cifre. Puoi leggere di più al riguardo qui .

Sempre crittografato : forse hai sentito parlare di alcuni dei difetti o delle preoccupazioni sulla crittografia dei dati trasparente. Forse non vuoi usare TDE per paura che qualcuno con accesso SA possa sicuramente decifrare se lo desidera. Always Encrypted è stato rilasciato come funzionalità che mette l'abilità di decrittografia / crittografia nelle mani dell'applicazione che chiama SQL Server. I dati inattivi in ​​SQL Server sono crittografati. Anche i dati in volo verso SQL Server vengono crittografati a seguito di questo approccio. Puoi leggere di più su Always Encrypted qui .

Caratteristiche HA / DR

Alcune funzionalità sono uscite qui. Uno è la possibilità di utilizzare i gruppi di disponibilità Always On in SQL Server Standard: il gruppo di disponibilità di base. Ciò era necessario poiché il mirroring è obsoleto e non è stato sostituito. La funzionalità è limitata al numero di repliche e all'approccio per la sincronizzazione. Puoi leggere di più qui .

Questa non è l'unica modifica ai gruppi di disponibilità (che, a proposito, sono stati introdotti in SQL Server 2012). Ci sono anche alcune altre modifiche (puoi vedere l'elenco completo con collegamenti ad altre modifiche qui ):

  1. Gli account dei servizi gestiti di gruppo sono supportati.
  2. Le transazioni distribuite sono supportate (con alcuni avvertimenti ).
  3. Le connessioni intento di lettura possono essere bilanciate in base al carico tra repliche di sola lettura.
  4. Tre repliche possono essere coinvolte nei failover automatici ora.
  5. I database crittografati possono ora partecipare a un gruppo di disponibilità Always On.
  6. Miglioramenti delle prestazioni - parte del tema di SQL Server 2016 è "è solo più veloce" - questa è la svolta di Microsoft Marketing, ma si sta dimostrando sul mercato. Sono stati apportati numerosi miglioramenti alle prestazioni del gruppo di disponibilità.

Il programma di installazione risolve alcuni errori comuni

Il programma di installazione di SQL Server a partire da SQL Server 2016 corregge alcuni errori comuni commessi durante la configurazione di TempDB. La GUI di installazione guida ora attraverso la configurazione delle best practice.

Negozio di query

Un favorito tra MVP e sintonizzatori di SQL Server. Questa funzione è uno strumento che ti fornisce informazioni dettagliate su come le query vengono eseguite dal motore. Particolarmente utile nel tenere traccia dei problemi di prestazioni causati dalle modifiche dei piani di query nel tempo. Questo può essere uno strumento da visualizzare, ma anche uno strumento da correggere. Aiuta a semplificare alcuni concetti di ottimizzazione delle prestazioni. Puoi leggere di più al riguardo qui .

Tabelle temporali

Vedo spesso la necessità di porre una domanda del tipo "Che aspetto avevano questi dati a partire da tale e tale data". Le tabelle temporali sono un metodo per farlo. Sicuramente alcuni casi d'uso di magazzinaggio. Vedi di più qui .

Miglioramenti a Columnstore

Tre grandi miglioramenti per me qui tra un paio di altri. Uno è gli indici columnstore aggiornabili non cluster. SQL Server 2014 ci ha fornito cluster aggiornabili, ma ora abbiamo aggiornabili non sicuri. SQL Server 2016 consente inoltre gli indici columnstore su tabelle OLTP in memoria. E la possibilità di posizionare un indice non cluster tradizionale B-tree su un indice columnstore cluster è ora disponibile in SQL Server 2016.

Miglioramenti delle funzioni aggiuntive in OLTP in memoria

Molte delle funzionalità che non erano supportate all'interno delle tabelle in memoria o nelle procedure compilate in modo nativo sono ora disponibili. Alcune aggiunte (ma leggi questo articolo per ulteriori informazioni): Vincoli UNIQUE, Controlla vincoli, clausola OUTPUT in DML, Join esterno, Sottoquery nell'elenco di selezione, SELECT DISTINCT, UNION / UNION ALL e altro.

Miglioramenti generali delle prestazioni

SQL Server 2014 ha apportato alcuni miglioramenti alle prestazioni in diverse aree chiave come ogni versione. SQL Server 2016 ha apportato ulteriori miglioramenti chiave a tutto il prodotto. Ciò include l'eliminazione per molti clienti del dolore a volte riscontrato durante l'aggiornamento a SQL Server 2014 a causa delle modifiche dello stimatore della cardinalità. Sono state apportate diverse modifiche su e giù per il motore per migliorare le prestazioni quotidiane. Il team CSS di Microsoft ha scritto questo blog sul proprio blog. Puoi semplicemente cercare "SQL Server 2016 funziona più velocemente". Un post di blog di esempio per questa serie è qui .

L'ho visto giocare nei clienti che hanno effettuato l'upgrade e si aspettano di vederlo sempre di più.

Alcuni svantaggi

Ci sono ovviamente contro qualsiasi aggiornamento. Potrebbe essere perché lo faccio per vivere come consulente, ma penso che i contro siano tutti incredibilmente gestibili e li considero davvero "conta prima il costo" degli articoli di cui essere al corrente e da gestire.

Aggiornamenti in generale - Gli aggiornamenti in generale indicano che stai introducendo nuove funzionalità. Devi essere in grado di testarli. Tra le versioni di SQL Server diverse funzionalità sono obsolete. Questo non significa che se ne vadano subito ma significa che potranno farlo nelle versioni future, spesso tre versioni successive. Ad esempio il tipo di dati TEXT o eseguendo i join esterni nella clausola where con *=o=*la sintassi non è supportata se si proviene da un database in esecuzione nella modalità di compatibilità di SQL Server 2000. Parlando di modalità di compatibilità, risalgono anche a tre versioni. Pertanto, se si dispone di un database in esecuzione in modalità di compatibilità 80 (SQL Server 2000) o 90 (SQL Server 2005), non è possibile passare a SQL Server 2016 in questo modo. Quindi, se hai evitato di fare quel test e livelli di compatibilità furtivi, è tempo di fare i conti.

Ancora. Questa è roba facile. Ci sono strumenti là fuori per aiutare a catturare e testare i dati per vedere cosa si rompe. Esistono contatori di perfmon che possono aiutare a cercare funzionalità obsolete.

Licenze - Due cose qui:

  1. Basato su core: se si è abituati alle condizioni di licenza precedenti a SQL Server 2012, le licenze CPU erano proprio questo: licenze CPU. Da SQL Server 2012, le licenze basate su CPU sono basate sul core. Quindi c'è un periodo di adattamento lì. Anche Enterprise per le nuove licenze (con alcune eccezioni che sono state fatte al primo lancio del 2012) deveavere una licenza a livello di core - nessun server + CAL per le imprese. Il brillante rivestimento d'argento su questa nuvola qui è quello che ho detto su SP1 che consente le funzionalità Enterprise negli SKU non aziendali. Se hai bisogno di più di 128 GB di RAM. Se sono necessari miglioramenti avanzati delle prestazioni delle scansioni. Se hai bisogno di più di 32 GB di RAM per un archivio colonne o In-Memory, stai guardando Enterprise. Se no? E non hai bisogno di ricostruzioni di indici online? Lo standard potrebbe essere adatto a te, e potrebbe essere più adatto a te ora con quelle funzionalità appena disponibili.
  2. Software Assurance (SA) - se non hai acquistato SA, devi acquistarne di nuove. Quindi, se stai eseguendo SQL Server 2005 e sei preoccupato di essere fuori dal supporto mainstream, non molto lontano dalla fine del supporto esteso e desideri che tu abbia le funzionalità ora disponibili, non puoi semplicemente aggiornarlo come un Service Pack. Se non hai mai acquistato SA, il tuo upgrade è un nuovo acquisto. Va bene, ne vale davvero la pena. Ma è qualcosa che deve colpire il budget.

Sommario

Ci sono molte altre ragioni, come il supporto JSON, l'introduzione di R, ecc. Ma queste sono solo alcune delle ragioni per cui prenderei in considerazione un aggiornamento. L'elemento più importante, ancora una volta, è la possibilità di utilizzare molte funzionalità precedentemente solo Enterprise Edition in Standard o persino Express. Ho visto storie di successo tra i miei clienti e mi aspetto di vederne di più.

E se si utilizza SQL Server 2005 o 2008, l'elenco è ancora più grande. I gruppi di disponibilità AlwaysOn sono usciti nel 2012, gli indici Columnstore in SQL Server 2012, OLTP in memoria in SQL Server 2014, ecc.

Per non parlare del fatto che sei ancora su SQL Server 2005 o 2008, non sei più supportato.


2
Tutto questo + vero motivo commerciale - ciclo di vita più lungo. Le persone che lavorano ancora su SQL2000, non possono aggiornare Windows, vecchie finestre non installate sul nuovo server e tutti questi problemi crescono uno per uno. Per le aziende - JSON e altri, sono solo giocattoli IT ... smetti di capire che supporto
a_vlad
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.