Які об’єктивні бізнес-причини віддати перевагу SQL Server 2012 за 2008 рік?


50

Моя компанія стоїть перед рішенням придбати SQL Server 2012 Denali або SQL Server 2008 R2 для нового сервера баз даних. Я шукаю об’єктивні причини, щоб обрати одну над іншою.

Наші вимоги:

  • Стандартне видання (з фінансових причин та відсутність потреби у функціях підприємства)
  • Навантаження OLTP (це означає, що нам не потрібні нові функції вікон та індекси зберігання стовпців)
  • Розмір бази даних 10-100 ГБ
  • Не потрібні функції бізнес-розвідки. Потрібен лише реляційний двигун
  • Синхронне дзеркальне відображення бази даних

Наразі мені відомі такі причини:

SQL Server 2012 Denali

  • Найновіша версія доступна

SQL Server 2008 R2

  • Перевірена технологія

Я не можу знайти багато технічних причин, щоб віддати перевагу одній іншій. В основному, це зводиться до вибору перевіреної технології, яка працює успішно, порівняно з новітньою та найбільшою доступною версією.

Які об’єктивні причини прийняти рішення?


5
Я думаю, що поки основна зміна ліцензування не змінить ваш бюджет, і вам не доведеться турбуватися про повільний підтягнення постачальників, використання SQL Server 2012 не є головним фактором. Це засновано на перевіреній технології, тому його не слід вважати повним перезаписом та / або V1.
Аарон Бертран

3
Виходячи з мого досвіду попередніх трьох випусків, я зачекав би хоча б один пакет послуг. З 2008 року я дочекався R2, ​​і досі він має дефекти. Якраз з мого верху: у 2008 році R2 я можу обійти надійне обмеження FK та вставити осиротілі рядки, я можу запустити сценарій у SSMS та частина його виконує проти неправильної бази даних.
АК

3
@AaronBertrand Я думаю, що ваша аналогія помилкова. Якщо ви бачили одного і того ж людини, який надсилає повідомлення та керував не раз, кілька разів, розумно зробити висновок, що ця людина в жахливому водієві. Ось як узагальнює ОП, не так, як ви запропонували.
АК

3
Алекс, дай мені знати, коли будь-яка складна платформа RDBMS постачається без помилок. IIRC ваш FK Repro був доволі розгублений і не був загальним сценарієм. Також дайте мені знати, якщо ви думаєте, що програмні компанії з часом не зможуть покращитись, або якщо ви очікуєте, що вразливість типу "химерний" в SQL 2012, то у версії після цього та версії після цього ... у якийсь момент ви повинні відпустити казки цих старих дружин і взяти платформу самостійно, а не судити про якусь помилку в попередній версії ...
Аарон Бертран

7
"Зачекайте на сервісний пакет" - це старий міф, а
FUD

Відповіді:


63

Всі в захваті від AlwaysOn та ColumnStore, але багато переваг SQL Server 2012 не виняткові лише для вищих версій. Я не хочу звучати як прес-секретар, але я представив безліч презентацій на SQL Server 2012, і думаю, що є багато чого запропонувати в будь-якому виданні, яке вам підходить.

  • Частково вміщені бази даних, які дозволяють переміщувати бази даних між серверами або середовищами з кількома меншими кайданами (а саме вхід на рівні сервера та залежність від сервера - майбутні версії оброблятимуть елементи Thornier, такі як пов'язані сервери та завдання агента).

  • Тепер студія управління є набагато кращим інструментом, узгодженим з Visual Studio. IntelliSense краще, і цілий ряд інших функцій полегшує редагування. Тепер, звичайно, ви можете мати 2008 R2 на своєму сервері і використовувати версію SSMS 2012 року, але я не впевнений, як це працює в умовах ліцензування, а деякі магазини не хочуть змішаних версій (я вважаю за краще мати останні інструменти на моя робоча станція навіть для управління серверами нижчого рівня). Я блогував про зміни на початку, коли ще були помилки, тому, будь ласка, ігноруйте мінуси, оскільки більшість або всі виправлені на RTM. Я здригнувся зараз, коли мені потрібно використовувати більш ранню версію SSMS.

  • Вдосконалення метаданих дозволяють перевіряти набори результатів об’єктів та спеціальних запитів, а також дозволяють краще формувати вихідні запити.

  • Спеціальні ролі сервера дозволяють вам визначити набагато більш детальний набір дозволів для користувачів на рівні ролей, а не надавати / відкликати один за одним або просто поступатися складності та надавати їм системний адміністратор.

  • FileTable дозволяє керувати папкою, як таблиця документів, але все ще має зовнішній контроль над вмістом (тому уявіть, що можна зробити це за допомогою T-SQL, і уявіть, як важко було б це зробити в cmd або PowerShell:) UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';.. думаю, що FileStream відповідає WinFS та отримує певну зручність завантаження.

  • Удосконалення T-SQL дозволяють вам робити багато речей, які боліли в попередніх версіях:

    • THROW (подумайте про це як про підвищення)
    • OFFSET/FETCH (простіше, підключення до стандартних стандартів ANSI)
    • SEQUENCE (централізований механізм ідентичності, як в Oracle)
    • Покращення вікон / кадрів (тут є різні речі, такі як дивовижна загальна продуктивність)
    • IIF()/ CHOOSE()/ CONCAT()/EOMONTH()
    • Конструктори дати / часу (наприклад DATETIMEFROMPARTS) подібні до DateSerialVB
    • PARSE()/ FORMAT()- як їхні .NET аналоги
    • TRY_CONVERT()/ TRY_PARSE()- повернути, NULLякщо CONVERT/ PARSEне вдасться
  • Розширені події мають вдосконалений інтерфейс користувача для конфігурації / перегляду, і, нарешті, повністю охоплює функцію відстеження / аудиту (включаючи набагато краще відстеження причинності).

  • Багато нових DMV , системних процедур та вдосконалень ShowPlan для діагностики та усунення несправностей. Погляньте також на те, що CSS називає " The Black Box Recorder ".

  • Сервер Core дозволяє вам працювати на сервері з мінімальним мінімумом без усіх компонентів інтерфейсу (менша площа поверхні означає, що це більш безпечно та скорочується обслуговування, оскільки менше частин ОС підлягає оновленню Windows).

  • Повнотекстовий пошук отримує важливі основні покращення продуктивності, а також семантичний пошук (ключові слова) та налаштовану близькість / NEAR.

  • AWE більше не підтримується , тобто ваш екземпляр SQL Server на x86 з 32 ГБ оперативної пам’яті зможе використовувати лише 4 ГБ - так що ви нарешті матимете мотивацію вийти зі свого старого 32-бітного обладнання.


Re: коментар до повноважень, це все ще досить просто: gci c:\users | where-object {$_.Author = 'Bob' -and $_.creationdate -lt '1/1/2010'} | %{$_.Readonly = 1}або щось подібне - але не так просто і читабельно, як варіант 2012!
JNK

3
Чудова річ у PS - ви можете робити що-небудь (майже) за один рядок. Погано, що важко прочитати цей рядок :)
JNK

1
Є чи SSMS 2012 , що набагато краще ??
Томас Стрінгер

5
Так, я люблю це. Я повинен зробити ще одну публікацію про це. Кілька важливих моментів: фрагменти приголомшливі, IntelliSense набагато кращий, редагування регіонів дуже потужне, смужка вкладок чудово підходить для мультимонітора, а також вбудований масштаб.
Аарон Бертран

3
Я також міг би просто узагальнити цю кулю так: "x86 буде смоктати навіть більше, ніж це вже робиться".
Аарон Бертран

14

Нижче наведено лише кілька прикладів щодо "фактичних доказів щодо або проти надійності в першій версії будь-якого нового випуску", як вимагається. Це має на увазі не повний аналіз, а скоріше пропозиція щодо того, що ви хочете дослідити.

На веб-сайті MSDN можна перейти на "Перелік проблем, які виправлені пакетом оновлень 1 для сервісу SQL Server 2008" та "Перелік проблем, які виправлені пакетом оновлень 3 для пакета оновлень SQL Server 2008". Порівняйте кількість та гостроту питань в обох списках. IMO перший список довший, і він містить більше предметів, які можуть зіпсувати мені день, наприклад:

  • Повідомлення про помилку під час підключення до названого екземпляра SQL Server на клієнтському комп'ютері, на якому працює Windows Vista або Windows Server 2008
  • Агент зчитування журналів пропускає деякі транзакції, коли агент зчитування журналів працює для копіювання транзакцій
  • Повідомлення про помилку під час запуску запиту, що включає операцію зовнішнього з'єднання в SQL Server 2008
  • Повідомлення про помилку під час виконання оновлення чи операції з видалення таблиці, у якій немає кластерного індексу, створеного в SQL Server 2008
  • Запит, який використовує параметри та параметр RECOMPILE, повертає неправильні результати, коли ви одночасно запускаєте запит у кількох з'єднаннях у SQL Server 2008

Давайте розберемо ще один рівень і розглянемо лише одну команду, MERGE. Він вийшов у складі SQL 2008 з кількома проблемами, описаними в наступних посиланнях:

Таким чином, на момент вихідного випуску SQL 2008, я вирішив проти використання MERGE. Зараз я багато використовую MERGE, на R2 2008 року, і я думаю, що це дійсно чудова функція.

Редагувати: ось список дефектів у SQL 2012, які нещодавно були виправлені . Сподіваюся, це допомагає.

Ще одна редакція: я вибрав MERGE для більш детального аналізу, оскільки це дуже важливе вдосконалення. Насправді це важливий крок на шляху до наздоганяння Oracle, і він покращує нашу продуктивність. Таким чином, MERGE багато продається на момент випуску SQL 2008. Тим не менш, він не був повністю готовий до використання в серйозних виробничих системах, коли він був спочатку випущений, і не було простого способу дізнатися це з презентацій / статей / публікацій блогу тощо.

Аналогічно, ізоляція знімків - це дивовижна нова функція, яка просто працює, але виклик скалярних АДС у обмеженнях CHECK працює не у всіх випадках і як такий не повинен використовуватися у виробництві, коли нам потрібна цілісність даних. Однак обидві нові функції були рекомендовані у презентаціях "Що нового у SQL xxxx", а також у книгах, статтях тощо та з подібним ентузіазмом.

Нам потрібно бути дуже обережними з новими можливостями - не всі вони будуть корисними / надійними / ефективними.


Я побачив список. Насправді не сприймав жодного, як стоп-шоу, і майже всі згадані питання стосуються і R2 2008, і 2012 року.
Аарон Бертран

1
Ось ще одна потенційна MERGEпомилка, яка спричиняє тупики.
Нік Чаммас

@NickChammas так, правда, дякую, що згадуєте про це. Ми використовуємо sp_getapplock, щоб обійти.
АК

10

Один момент, який тут не згадується, абсолютно не має значення для набору функцій. Якщо ви робите нову збірку, ви можете відкласти оновлення бази даних на трохи довше, тому це заощадить витрати на міграцію.

Для проекту "Грінфілд" у вас є місце для дихання, щоб обійти помилок і підняти їх у постачальника, якщо вони все-таки з'являться, тому це не зовсім неконтрольований процес. Я брав участь в одному з перших проектів сховища даних на SQL Server 2005 саме тоді, коли він перейшов до RTM, і ми з ним пішли.

Якщо набір функцій 2008R2 виконає те, що ви хочете, то рішення зводиться до певного ризику помилок / обхідних шляхів, порівняно з значенням відстрочки необхідності оновлення та збереження циклу оновлення.


6

Коли ви купуєте нове, вибір набагато інший, ніж коли ви розглядаєте можливість модернізації. Купуючи нову, я вважаю, що завжди слід купувати найновішу версію, яку ви можете отримати. Версія 2008 року більше не підтримуватиметься набагато раніше, ніж версія 2012 року. Краще почати нове з останніх, оскільки ви будете використовувати цей бекенд протягом тривалого часу.

Щодо потреби в першому пакеті оновлень, він з’явиться, перш ніж ви дізнаєтесь про це, і оскільки ви займаєтеся новою розробкою, проблеми, які він виправляє, швидше за все, не торкнуться вас, оскільки зіткнеться база даних із мільйонами записів.

Тепер, якщо ви просто отримуєте новий сервер, але ставите на нього стару базу даних, тоді виникає питання, з чого ви модернізуєте? Якщо база даних вже є базою даних 2008 року, використовувати таку ж версію буде значно менш ризиковано. Якщо ви оновлюєтесь, перевірте, чи можете ви безпосередньо оновити до 2012 року свою версію.


Немає оновлення. Це новий додаток для нового обладнання.
usr
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.