Moja firma stoi przed decyzją, czy kupić SQL Server 2012 Denali, czy SQL Server 2008 R2 na nowy serwer bazy danych. Szukam obiektywnych powodów, aby wybrać jeden z nich.
Nasze wymagania:
- Edycja standardowa (z powodów finansowych i braku potrzeby funkcji korporacyjnych)
- Obciążenie OLTP (oznacza to, że nie potrzebujemy nowych funkcji okienkowania i indeksów magazynu kolumn)
- Rozmiar bazy danych 10–100 GB
- Żadne funkcje analizy biznesowej nie są potrzebne. Wymagany jest tylko silnik relacyjny
- Synchroniczne kopiowanie bazy danych
Obecnie znane mi są następujące powody:
SQL Server 2012 Denali
- Najnowsza dostępna wersja
SQL Server 2008 R2
- Sprawdzonej technologii
Nie mogę znaleźć wielu technicznych powodów, aby preferować jedno od drugiego. Zasadniczo sprowadza się do wyboru sprawdzonej technologii, która działa z powodzeniem w porównaniu do najnowszej i najlepszej dostępnej wersji.
Jakie są obiektywne powody podjęcia decyzji?
Odpowiedzi:
Wszyscy są podekscytowani AlwaysOn i ColumnStore, ale wiele zalet SQL Server 2012 nie ogranicza się wyłącznie do edycji z wyższej półki. Nie chcę brzmieć jak rzecznik, ale przedstawiłem wiele prezentacji na temat SQL Server 2012 i myślę, że ma wiele do zaoferowania w dowolnej edycji, która ci odpowiada.
Częściowo zawarte bazy danych, które pozwalają przenosić bazy danych między serwerami lub środowiskami z kilkoma mniejszymi kajdanami (mianowicie loginy na poziomie serwera i zależności między zestawieniami serwerów - przyszłe wersje będą obsługiwały bardziej wymagające elementy, takie jak połączone serwery i zadania agenta).
Management Studio jest teraz znacznie lepszym narzędziem, dostosowanym do Visual Studio. IntelliSense jest lepszy, a cała masa innych funkcji ułatwia edycję. Teraz oczywiście możesz mieć 2008 R2 na swoim serwerze i korzystać z wersji SSMS z 2012 roku, ale nie jestem pewien, jak to działa pod względem licencji, a niektóre sklepy nie chcą wersji mieszanych (wolę mieć najnowsze narzędzia na moja stacja robocza nawet do zarządzania serwerami niskiego poziomu). Pisałem na blogu o zmianach wcześnie, kiedy nadal występowały błędy, więc proszę zignorować negatywy, ponieważ większość lub wszystkie są naprawione od RTM. Drżę teraz, gdy muszę użyć wcześniejszej wersji SSMS.
Ulepszenia metadanych umożliwiają kontrolę zestawów wyników obiektów i zapytań ad hoc, a także pozwalają lepiej kształtować wyniki zapytań.
Niestandardowe role serwera umożliwiają zdefiniowanie znacznie bardziej szczegółowego zestawu uprawnień dla użytkowników na poziomie roli zamiast przyznawania / odwoływania jeden po drugim lub po prostu poddawania się złożoności i przekazywania im sysadmin.
FileTable pozwala zarządzać folderem jak tabelą dokumentów, ale nadal mieć zewnętrzną kontrolę nad zawartością (wyobraź sobie, że możesz to zrobić za pomocą T-SQL i wyobraź sobie, jak trudno byłoby to zrobić w cmd lub PowerShell:)
UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';
.. Pomyśl, FileStream spełnia WinFS i dostaje trochę użyteczności do rozruchu.Udoskonalenia T-SQL pozwalają robić wiele rzeczy, które sprawiały ból we wcześniejszych wersjach:
THROW
(traktuj to jako przebijanie)OFFSET
/FETCH
(prostsze, stronicowanie w standardzie ANSI)SEQUENCE
(scentralizowany mechanizm TOŻSAMOŚCI, jak w Oracle)IIF()
/CHOOSE()
/CONCAT()
/EOMONTH()
DATETIMEFROMPARTS
) Podobne doDateSerial
VBPARSE()
/FORMAT()
- podobnie jak ich odpowiedniki .NETTRY_CONVERT()
/TRY_PARSE()
- zwracaNULL
jeśliCONVERT
/PARSE
failExtended Events ma ulepszony interfejs użytkownika do konfiguracji / przeglądania, a na koniec całkowicie obejmuje funkcje śledzenia / audytu (w tym znacznie lepsze śledzenie przyczyn).
Wiele nowych DMV , procedur systemowych i ulepszeń ShowPlan do diagnostyki i rozwiązywania problemów z wydajnością. Zobacz także, co CSS nazywa „ The Black Box Recorder ”.
Server Core pozwala na uruchomienie serwera na minimalnym poziomie bez wszystkich składników interfejsu użytkownika (mniejsza powierzchnia oznacza, że jest on bezpieczniejszy i mniej wymaga konserwacji, ponieważ mniej części systemu operacyjnego podlegają aktualizacji Windows Update).
Wyszukiwanie pełnotekstowe zyskuje ważne ulepszenia wydajności, a także wyszukiwanie semantyczne (myśl słowa kluczowe) i dostosowywane bliskość / BLISKO.
AWE nie jest już obsługiwane , co oznacza, że Twoja instancja SQL Server na x86 z 32 GB pamięci RAM będzie mogła używać tylko 4 GB - więc w końcu będziesz mieć motywację do zejścia ze starego 32-bitowego sprzętu.
źródło
gci c:\users | where-object {$_.Author = 'Bob' -and $_.creationdate -lt '1/1/2010'} | %{$_.Readonly = 1}
lub coś podobnego - ale nie tak prosty i czytelny jak opcja 2012!Poniżej znajduje się tylko kilka przykładów dotyczących „faktycznych dowodów na wiarygodność lub brak wiarygodności w pierwszej wersji każdej nowej wersji”, zgodnie z żądaniem. Nie jest to pełna analiza, ale sugestia dotycząca tego, co możesz chcieć zbadać.
Możesz przejść do góry „Lista problemów rozwiązanych przez SQL Server 2008 Service Pack 1” i „Lista problemów rozwiązanych przez SQL Server 2008 Service Pack 3” na stronie MSDN. Porównaj liczbę i wagę problemów na obu listach. IMO pierwsza lista jest dłuższa i zawiera więcej przedmiotów, które mogłyby zrujnować mój dzień, takich jak:
Przeanalizujmy jeszcze jeden poziom i rozważmy tylko jedno polecenie, ŁĄCZENIE. Został wydany jako część SQL 2008 z kilkoma problemami, opisanymi w następujących linkach:
W związku z tym w momencie oryginalnej wersji SQL 2008 postanowiłem nie używać MERGE. Obecnie używam MERGE, w wersji 2008 R2 i myślę, że to naprawdę świetna funkcja.
Edycja: oto lista wad w SQL 2012, które zostały niedawno naprawione . Mam nadzieję, że to pomoże.
Kolejna edycja: wybrałem MERGE do bardziej szczegółowej analizy, ponieważ jest to bardzo ważna poprawa. W rzeczywistości jest to duży krok w nadrobieniu zaległości w Oracle i poprawia naszą wydajność. W związku z tym MERGE był szeroko sprzedawany w momencie wydania SQL 2008. Jednak nie był całkowicie gotowy do użycia w poważnych systemach produkcyjnych, kiedy został pierwotnie wydany, i nie było łatwego sposobu, aby poznać go z prezentacji / artykułów / postów na blogu i tym podobnych.
Podobnie izolowanie migawek jest niesamowitą nową funkcją, która po prostu działa, ale wywoływanie skalarnych UDF w ograniczeniach CHECK nie działa we wszystkich przypadkach i jako takie nie powinno być stosowane w produkcji, gdy potrzebujemy integralności danych. Jednak obie nowe funkcje były zalecane w prezentacjach „Co nowego w SQL xxxx”, a także w książkach, artykułach itp. I z podobnym entuzjazmem.
Musimy bardzo uważać na nowe funkcje - nie wszystkie będą przydatne / niezawodne / wydajne.
źródło
MERGE
błąd, który powoduje zakleszczenia.Jeden punkt, który nie został tutaj wymieniony, jest całkowicie nieistotny dla zestawu funkcji. Jeśli robisz nową kompilację, możesz odłożyć aktualizację bazy danych na nieco dłużej, co pozwoli zaoszczędzić na kosztach migracji.
W przypadku projektu typu greenfield masz trochę czasu na obejście błędów i podniesienie ich wraz z dostawcą, jeśli się pojawią, więc nie jest to całkowicie niekontrolowany proces. Byłem zaangażowany w jeden z pierwszych projektów hurtowni danych w SQL Server 2005, podobnie jak w przypadku RTM i nam się to udało.
Jeśli zestaw funkcji 2008R2 zrobi to, co chcesz, decyzja zależy od pewnego ryzyka błędów / obejść w stosunku do wartości odroczenia konieczności aktualizacji i zapisania cyklu aktualizacji.
źródło
Kiedy kupujesz nowy, wybór jest zupełnie inny niż w przypadku aktualizacji. Kupując nowy wierzę, że zawsze powinieneś kupować najnowszą wersję, którą możesz uzyskać. Wersja 2008 nie będzie już obsługiwana znacznie wcześniej niż wersja 2012. Lepiej zacząć od najnowszego, ponieważ będziesz używać tego backendu przez długi czas.
Jeśli chodzi o potrzebę pierwszego dodatku Service Pack, zostanie opublikowany, zanim się zorientujesz, a ponieważ robisz nowe prace rozwojowe, problemy, które rozwiąże, prawdopodobnie nie wpłyną na ciebie tak bardzo, jak na starszą bazę danych z milionami rekordów.
Teraz, jeśli dopiero otrzymujesz nowy serwer, ale umieszczasz na nim starą bazę danych, pojawia się pytanie, z czego aktualizujesz? Jeśli baza danych jest już bazą danych z 2008 r., Korzystanie z tej samej wersji będzie znacznie mniej ryzykowne. Jeśli przeprowadzasz aktualizację, sprawdź, czy możesz uaktualnić bezpośrednio do 2012 r. Ze swojej wersji.
źródło