Domanda

La mia azienda si trova ad affrontare la decisione se acquistare SQL Server 2012 Denali o SQL Server 2008 R2 per un nuovo server di database. Sto cercando, per motivi oggettivi per scegliere uno sopra l'altro.

Le nostre esigenze:

  • Standard Edition (per motivi finanziari e la mancanza di necessità di funzionalità aziendali)
  • OLTP carico di lavoro (questo significa che non è necessario le nuove funzioni a finestre e indici negozio colonna)
  • Le dimensioni del database di 10-100 GB
  • caratteristiche necessarie No business intelligence. è richiesto solo il motore relazionale
  • mirroring del database sincrono

Al momento, i seguenti motivi sono noti a me:

SQL Server 2012 Denali

  • Il nuovo versione disponibile

SQL Server 2008 R2

  • Tecnologia collaudata

Non riesco a trovare un sacco di motivi tecnici a preferire uno sopra l'altro. In sostanza, si tratta di scegliere la tecnologia collaudata che esegue con successo contro il più nuovo e più grande versione disponibile.

Quali sono ragioni oggettive per prendere la decisione?

È stato utile?

Soluzione

Tutti sono eccitato circa AlwaysOn e Columnstore, ma molti dei vantaggi di SQL Server 2012 non sono esclusivi di edizioni di fascia alta. Non voglio suonare come un portavoce, ma ho dato un sacco di presentazioni su SQL Server 2012 e penso che abbia molto da offrire a qualunque edizione più vi si addice.

  • parzialmente contenuto che permettono di spostare i database tra i server o ambienti con pochi grilli meno (vale a dire gli account di accesso a livello di server e le dipendenze del server di confronto - le versioni future di gestire più spinose oggetti come i server collegati e posti di lavoro agente ).

  • Management Studio è ora uno strumento migliore molto, in linea con Visual Studio. IntelliSense è migliore e un sacco di altre caratteristiche rendono più semplice l'editing. Ora, naturalmente, si può avere 2008 R2 sul server e utilizzare la versione 2012 di SQL Server Management Studio, ma io non sono sicuro di come che le opere di licenze-saggio, e alcuni negozi non si vuole versioni miste (Io preferisco avere gli strumenti più recenti su la mia postazione di lavoro anche per gestire i server di livello inferiore). Ho bloggato circa i cambiamenti nella fase iniziale, quando c'erano ancora bug, quindi vi prego di ignorare gli aspetti negativi in ??quanto la maggior parte o tutti sono fissati come di RTM. Ho brivido ora quando devo usare una versione precedente di SQL Server Management Studio.

  • Metadata miglioramenti consentire di ispezionare gruppi di risultati di oggetti ad hoc query e consentono anche di modellare meglio l'output di query.

  • ruoli personalizzati server permettono di definire un insieme molto più granulare dei permessi per gli utenti ad un livello di ruolo, invece di concedere / revocare uno per uno, o semplicemente cedere alla complessità e dando loro amministratore di sistema.

  • FileTable consente di gestire una cartella come una tabella di documenti, ma hanno ancora il controllo esterno sui contenuti (quindi immaginare di essere in grado di fare questo con T-SQL, e immaginare quanto sia difficile sarebbe da fare in cmd o PowerShell:. UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';) ... pensare FileStream incontra WinFS e ottiene qualche usabilità per l'avvio

  • T-SQL Miglioramenti ti permettono di fare molte cose che erano un dolore nelle versioni precedenti:

    • THROW (pensare ad esso come re-raise)
    • OFFSET / FETCH (più semplice, paging ANSI-standard)
    • SEQUENCE (centralizzati meccanismo di IDENTITA ', come in Oracle)
    • miglioramenti a finestre / Framing (varie cose qui, come impressionanti prestazioni totali parziali)
    • IIF() / CHOOSE() / CONCAT() / EOMONTH()
    • Data / ora Costruttori (per esempio DATETIMEFROMPARTS) simile a DateSerial in VB
    • PARSE() / FORMAT() - come le loro controparti .NET
    • TRY_CONVERT() / TRY_PARSE() - NULL ritornose CONVERT / PARSE sicuro
  • eventi estesi ha una maggiore interfaccia utente per la configurazione / visualizzazione, e, infine, copre completamente la funzionalità di traccia / audit (compresa molto meglio di monitoraggio causalità).

  • Un sacco di nuove DMV , procedure di sistema e miglioramenti showplan per la diagnostica e la risoluzione dei problemi di prestazioni. Anche dare un'occhiata a ciò che CSS chiama " Il Box Recorder nero ".

  • Core Server consente di eseguire su un server bare-minimo, senza tutti i componenti dell'interfaccia utente (mezzi di superficie più piccola è più sicuro, e ridotta manutenzione in quanto meno parti del sistema operativo sono soggetti a Windows Update).

  • ricerca full-text ottiene alcuni importanti miglioramenti delle prestazioni sottostanti, così come ricerca semantica (si pensi parole chiave) e la vicinanza personalizzabile / NEAR.

  • AWE non è più supportato , il che significa l'istanza di SQL Server su x86 con 32 GB di RAM è solo andare a essere in grado di utilizzare 4 GB - così avrete finalmente la motivazione per ottenere il vostro vecchio hardware a 32 bit.

Altri suggerimenti

Il seguente è solo alcuni esempi in materia di "prove reali a favore o contro l'affidabilità nella prima versione di ogni nuova release", come richiesto. Questo non vuole essere un'analisi completa, ma piuttosto un suggerimento su ciò che si potrebbe desiderare di ricerca.

È possibile google up "Elenco dei problemi risolti con SQL Server 2008 Service Pack 1" e "Elenco dei problemi risolti con SQL Server 2008 Service Pack 3" sul sito Web MSDN. Confrontare il numero e la gravità dei problemi in entrambe le liste. IMO il primo elenco è più lungo, e ha più elementi che potrebbero rovinare la mia giornata, come ad esempio:

  • Messaggio di errore quando ci si connette a un'istanza denominata di SQL Server in un computer client che esegue Windows Vista o Windows Server 2008
  • L'agente ignora alcune transazioni quando l'eseguito l'agente di transazioni ripetute
  • Messaggio di errore quando si esegue una query che coinvolge un outer join in SQL Server 2008
  • Messaggio di errore quando si esegue un aggiornamento o un'operazione di eliminazione su una tabella che non dispone di un indice cluster creato in SQL Server 2008
  • Una query che i parametri di usi e l'opzione RECOMPILE restituisce risultati non corretti quando si esegue la query in più connessioni contemporaneamente in SQL Server 2008

Cerchiamo di drill down di un livello più e consideriamo un solo comando, l'unione. E 'stato rilasciato come parte di SQL 2008 con diversi problemi, descritte nei seguenti link:

In quanto tale, al momento del rilascio originale di SQL 2008, ho deciso di non usare MERGE. Sto usando unire un sacco ora, su 2008 R2, e penso che sia davvero un grande caratteristica.

Modifica ecco la lista di difetti di SQL 2012 che sono state recentemente fissati . Speranza che aiuta.

Un altro Modifica: ho scelto di unione per un'analisi più dettagliata, in quanto si tratta di un miglioramento molto importante. In realtà, si tratta di un passo importante per mettersi al passo con Oracle, e lo fa migliorare la nostra produttività. Come tale, MERGE è stato commercializzato un lotto al momento del rilascio di SQL 2008. Eppure non era del tutto pronto per l'uso nei sistemi di produzione seri quando è stato originariamente rilasciato, e non c'era modo semplice per sapere che dalle presentazioni / articoli / post del blog e così via.

Allo stesso modo, l'isolamento dello snapshot è una nuova caratteristica impressionante che funziona solo, ma invocando UDF scalari a vincoli CHECK non funziona in tutti i casi e come tale non deve essere utilizzato nella produzione di cui abbiamo bisogno di integrità dei dati. Tuttavia, entrambe le nuove caratteristiche sono state indicate nella sezione "Che cosa ènovità di SQL xxxx" presentazioni, così come nei libri, articoli, ecc, e con entusiasmo simile.

Abbiamo bisogno di essere molto attenti con le nuove caratteristiche -. Non tutti stanno per essere utile / affidabilità / performante

Un punto che non è stato menzionato qui è del tutto irrilevante per il set di funzionalità. Se stai facendo una nuova build si può mettere fuori un aggiornamento del database per un bel po 'più a lungo, in modo da questo salverà nella migrazione dei costi.

Per un progetto greenfield avete un po 'di respiro per aggirare i bug e li sollevi con il fornitore se non arrivano, quindi non è un processo del tutto incontrollato. Sono stato coinvolto in uno dei primi progetti di data warehouse su SQL Server 2005 così come è andato a RTM e abbiamo ottenuto via con esso.

Se il set di funzionalità di 2008R2 farà quello che si vuole allora la decisione è verso il basso per un certo rischio di bug / soluzioni alternative rispetto al valore di rinviare la necessità di aggiornare e salvare un ciclo di aggiornamento.

Quando si acquista nuova la scelta è molto diverso rispetto a quando si stanno prendendo in considerazione l'aggiornamento. L'acquisto di nuovo è mia convinzione che si dovrebbe sempre acquistare la versione più recente si può ottenere. la versione 2008 non sarà più supportato molto prima di quanto la versione 2012. Meglio iniziare nuova con le ultime, come si prevede di utilizzare questo backend per un lungo periodo.

Per quanto riguarda la necessità del primo Service Pack, sarà fuori prima che tu lo sai e dal momento che si sta facendo nuovo sviluppo, i problemi che le correzioni probabilmente non vi riguardano tanto un database legacy con milioni di record si troverebbe ad affrontare.

Ora, se si è appena trovato un nuovo server, ma mettere una vecchia banca dati su di esso, allora la questione diventa ciò che stai eseguendo l'aggiornamento da? Se il database è già un database del 2008, sarà molto meno rischioso per utilizzare la stessa versione. Se si esegue l'aggiornamento, controllare per vedere se è possibile aggiornare direttamente al 2012 dalla versione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top