Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Un grosso problema:SQL Server 2016 Service Pack 1

Bene, non posso affermare che tu l'abbia sentito prima qui, dal momento che è stato annunciato oggi da Scott Guthrie (@ScottGu ) in Connetti(); // 2016 e anche sul blog del team di SQL Server , ma SQL Server 2016 Service Pack 1 è la build di SQL Server che farà finalmente l'aggiornamento di quasi tutti da tutte le versioni precedenti.

Perché? Bene, Spero che ti sieda:

Molte funzionalità Enterprise sono ora disponibili in Standard, Web ed Express.

Questo è un GRANDE AFFARE.

Sono stato a lungo un sostenitore di rendere la superficie uguale in tutte le edizioni e di limitare ogni edizione a limiti hardware/risorse. Quest'ultimo è già il caso di Express Edition (1 CPU, 1 GB di memoria, 10 GB di dimensione del database) e Standard Edition (24 core, 128 GB), ma le funzionalità stesse semplicemente non esistono lì. Sebbene abbiano aggiunto alcune funzionalità intorno ai gruppi di disponibilità (supporto limitato nell'edizione standard e possibilità di rinunciare a un dominio), molte delle funzionalità che attualmente sono solo Enterprise non sembrano affatto Enterprise. Ecco alcuni motivi e conseguenze dell'inserimento di così tante funzionalità critiche solo in Enterprise, almeno secondo me:

  1. Sicurezza dei dati sembra essere passato in secondo piano negli ultimi anni. Dovrebbe essere in tutte le edizioni; Sono rimasto deluso quando è stato rilasciato Always Encrypted ed è stato limitato a Enterprise. Il messaggio implicito era che, se sei una piccola impresa, non devi essere in grado di crittografare i dati delle carte di credito (si dice lo stesso con Transparent Data Encryption, ma Always Encrypted è un'offerta molto più preziosa).
  2. Funzioni di programmabilità quel chiaro di luna poiché le caratteristiche delle prestazioni, come la compressione dei dati e il partizionamento, sono probabilmente sul lato Enterprise delle cose, anche se ho sempre pensato che il punto debole della compressione dei dati sia la piccola impresa che non può permettersi di aggiungere memoria, acquistare dischi più veloci, o eseguire l'aggiornamento a Enterprise.

    Nelle versioni attuali, quando un fornitore desidera sfruttare la compressione o il partizionamento, deve considerare che non tutti i suoi clienti utilizzeranno Enterprise Edition. Allo stesso modo, i clienti desiderano utilizzare la stessa base di codice nei propri ambienti di QA, produzione e sviluppo, ma potrebbero non avere tutti la stessa edizione. Sia i fornitori che i clienti vogliono anche essere in grado di utilizzare le funzionalità disponibili sia nel cloud che nel box, indipendentemente dal livello o dall'edizione. Attualmente, devono scrivere più codebase o semplicemente arrendersi al minimo comune denominatore.
  3. I tassi di adozione sono lenti perché, per molti aspetti, gli aggiornamenti della Standard Edition sono stati tutt'altro che convincenti negli ultimi anni, il che significa che molte persone sono soddisfatte delle loro istanze Standard 2012. Semplicemente non guadagnano molto dal passaggio a una versione più recente e, in molti casi, il costo del test di una migrazione e della gestione delle regressioni supera in realtà qualsiasi vantaggio.

Colleghi come Brent Ozar e Steve Jones hanno avuto pensieri simili, sostenendo che le migliori funzionalità rimangono escluse dalle edizioni Standard e inferiori per motivi di entrate, ma non è così che dovrebbe essere.

E ora non lo è.

Caratteristica Standard / Web Espresso DB locale
Sempre crittografato
Cambia acquisizione dati
Columnstore
Compressione dati
Istantanee del database
Mascheramento dinamico dei dati
Revisione a grana fine
OLTP in memoria
Contenitori Filestream multipli
Partizionamento
PolyBase
Sicurezza a livello di riga

1. Limitato a 32 GB per istanza su Standard Edition, 352 MB su Express.
2. Limitato a 32 GB per database su Standard Edition, 352 MB su Express.

Non ho alcuna prova di ciò, ma credo che a causa dei bassi tassi di adozione di SQL Server 2016, e in particolare della Standard Edition, Microsoft ha finalmente ascoltato . Forse si sono resi conto che rendere disponibili così tante interessanti funzionalità solo in Enterprise Edition non funziona. Non riesco a prendere sangue da una pietra, dicono.

La tabella qui mostra l'insieme di funzionalità ora abilitate al di fuori dell'Enterprise Edition (alcune funzionalità erano già presenti in Standard, ma non avevo un buon modo per illustrarlo). Deve essere solo una tabella a causa di tre funzionalità che non funzionano su Express e/o LocalDB (a causa di SQL Server Agent, autorizzazioni o dipendenze esterne).

Questo è il mio rapido cheat sheet; controlla la documentazione per gli ultimi aggiornamenti. Ho testato la maggior parte delle funzionalità e funzionano come ti aspetteresti, non per banalizzare lo sforzo, ma hanno semplicemente rimosso i controlli che bloccavano la funzionalità in base all'edizione. Ho pensato di inciamparli testando oltre le basi, come statistiche incrementali su tabelle partizionate e combinazioni come Columnstore su una tabella compressa, per vedere se hanno perso qualcosa. Ma no, tutto nella tabella ha funzionato proprio come se stessi eseguendo Enterprise Edition.

Detto questo, l'obiettivo qui era per una superficie di programmazione coerente (CPSA). Quindi no, all'improvviso non otterrai tutti i vantaggi di Enterprise Edition gratuitamente o con uno sconto sostanziale:vedi sotto per funzionalità che non funzioneranno. Inoltre, alcune delle funzionalità di cui sopra potrebbero essere ancora limitate in base all'edizione.

Tuttavia, questo fornisce un'ottima soluzione al punto 2 sopra:avere molte di queste funzionalità funzionanti in tutte le edizioni, anche se supportano diversi livelli di scala, renderà più facile sia per i clienti che per i fornitori creare soluzioni che funzionino indipendentemente da dove si trovano sono schierati. Questa sarà una grande vittoria, anche al di là del puro vantaggio di poter finalmente usare cose come Always Encrypted e il partizionamento ovunque.

Cosa differenzia ancora le edizioni?

In sostanza, se si trattava di una funzionalità operativa o di disponibilità a livello aziendale prima o all'interno di un determinato insieme di funzionalità per le prestazioni, rimarrà tale. Quello che segue non è un elenco esaustivo, ma probabilmente cattura la maggior parte delle grandi differenze:

  • Funzioni di disponibilità come le operazioni online, il ripristino frammentario e i gruppi di disponibilità completamente funzionanti (ad es. repliche di sola lettura) sono ancora solo Enterprise. Auguro il REBUILD + (ONLINE = ON) la sintassi potrebbe funzionare come no-op nelle edizioni inferiori con un avviso invece di restituire un errore, ma non posso essere troppo pignolo qui.
  • Funzioni per le prestazioni come il parallelismo non funzionerà ancora in Express Edition (o LocalDB). Utilizzo automatico della visualizzazione indicizzata senza NOEXPAND suggerimenti e funzionalità di fascia alta come memoria/CPU con aggiunta a caldo continueranno a essere disponibili solo in Enterprise.
  • Caratteristiche operative come Resource Governor, Extensible Key Management (EKM) e Transparent Data Encryption rimarranno solo Enterprise Edition. Altri, come la crittografia del backup, la compressione del backup e l'estensione del pool di buffer, continueranno a funzionare in Standard, ma non funzioneranno ancora in Express.
  • Agente SQL Server non è ancora disponibile in Express e LocalDB. Di conseguenza, e come indicato sopra, Change Data Capture non funzionerà. Anche il broker di servizi cross-server non è disponibile in queste edizioni.
  • OLTP in memoria e PolyBase sono supportati in Express, ma non disponibili in LocalDB.
  • Diritti di virtualizzazione non sono cambiati e sono ancora molto più preziosi nell'edizione Enterprise con Software Assurance.
  • Limiti di risorse sulle edizioni di livello inferiore rimanere uguali . Sembra che i contatori di fagioli controllino ancora il limite di memoria superiore nell'edizione standard, quindi questo è ancora 128 GB (mentre l'edizione Enterprise ora è 24 TB). Personalmente, penso che questo limite superiore dovrebbe fare guadagni incrementali con ogni nuova versione (legge di Moore), perché ritengo che la Standard Edition sia abbastanza costosa che i suoi limiti di memoria non dovrebbero mai essere così pericolosamente vicini al limite superiore di un laptop ben equipaggiato. Ma prenderò quello che posso ottenere e, quando sei bloccato sull'Edizione standard e la scalabilità è necessaria, ora puoi utilizzare le funzionalità Enterprise di cui sopra su più scatole o istanze dell'Edizione Standard, invece di tentare di aumentare la scalabilità.

Riepilogo

Questa è una mossa audace di Microsoft e posso sicuramente vedere come ciò aumenterà le vendite Standard senza cannibalizzare le vendite Enterprise. I clienti della Standard Edition possono utilizzare queste funzionalità sia per consolidare le loro basi di codice sia, in molti scenari, per creare soluzioni che offrono prestazioni migliori. E per coloro che già godono di tutti i vantaggi dell'edizione Enterprise, questo potrebbe non essere molto interessante per te, ma ci sono anche una serie di nuove funzionalità disponibili in tutte le edizioni di SP1 . Quindi, indipendentemente dall'edizione in cui ti trovi ora, non hai davvero scuse per mantenere quell'antica versione di SQL Server.

Esegui l'aggiornamento a SQL Server 2016 SP1!