Які об’єктивні причини віддати перевагу SQL Server 2016 перед попередніми версіями?


29

Оскільки Microsoft робить оновлення версій SQL Server частіше, починаючи з SQL Server 2005 або 2008 днів, багатьом компаніям важко визначити, коли оновлення є "обов'язковим!" і коли оновлення "приємно мати"

У дусі декількох попередніх питань, що задають причини віддати перевагу різним новим випускам SQL Server над попередніми, які об’єктивні технічні чи ділові причини компанія може розглянути для оновлення до SQL Server 2016 на більш ранній версії, навіть пізнішої реліз, такий як SQL Server 2014?

(Це питання про SQL Server 2012 порівняно з SQL Server 2008, або це питання про SQL Server 2012 порівняно з SQL Server 2005 приходить до уваги як приклади духу цього питання. Відповіді на них також розширюються з деяких причин для компанії, починаючи з SQL Server 2008 або SQL Server 2005)

Відповіді:


36

Є багато причин розглянути можливість оновлення до SQL Server 2016. Більшість випадків ці причини змінюються залежно від версії SQL Server, з якої ви надходите. Це не буде вичерпним списком, але я наведу кілька причин, які приходять на думку. У тому числі й одна дуже велика причина, про яку ми нещодавно дізналися про випуск SQL Server 2016 SP1 у листопаді 2016 року. З нетерпінням чекаю інших відповідей на розширення та функції, які я пропустив.

Велика причина: багато функцій, доступних у стандартній версії зараз

16 листопада 2016 року Microsoft оголосила про випуск пакета оновлень 1 для SQL Server 2016. Поряд з цим оголошенням вони також оголосили, що багато функцій, раніше зарезервованих для клієнтів Enterprise Edition, будуть доступні у всіх випусках SQL Server - Standard, Express (з кілька винятків), Веб на додаток до Enterprise Edition.

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

На мою скромну думку, за понад 17 років роботи з SQL Server це робить SQL Server 2016 SP1 цілком можливо найпереконливішим оновленням, оскільки я почав працювати з SQL Server версії 6.5. (Не зрозумійте мене неправильно, 2000, 2005 та 2012 роки мали свої плюси і для свого часу!)

Подивіться на наведений нижче список, але як короткий приклад деяких функцій, якими ви зараз можете скористатися у стандартній версії, у вас є такі: стиснення, зміна захоплення даних, тонкозернистий аудит, безпека рівня рядків, завжди зашифрований, розділення, база даних Знімки, OLTP в пам'яті, Columnstore.

Конкретні причини нових функцій SQL Server 2016

Я намагаюсь у цьому розділі не дотримуватися причин лише до функцій, введених лише у SQL Server 2016. У цій відповіді я також описую лише основні вдосконалення двигуна, а не звітність, аналітику, інтеграцію даних тощо.

Пов'язані з безпекою

Рівень безпеки рядків - у мене є багато клієнтів, які хочуть реалізовувати безпеку по черзі. "Користувач x може переглядати дані цього рядка, але не цей рядок". Багато хто з цих клієнтів створили функції та / або складні структури на основі перегляду для цього. У SQL Server 2016 вбудовані предикати та політики безпеки, доступні для допомоги тут. Більше про RLS можна прочитати тут .

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

Завжди зашифрований - можливо, ви чули про деякі недоліки чи проблеми щодо прозорого шифрування даних. Можливо, ви не хочете використовувати TDE, побоюючись, що хтось із доступом до SA може напевно розшифрувати, якщо захотів. Завжди шифрований був випущений як функція, яка передає здатність розшифрувати / шифрувати в руки додатку, що викликає SQL Server. Дані в спокої в SQL Server зашифровані. Дані в напрямку польоту до SQL Server також шифруються в результаті такого підходу. Більше про Завжди зашифровані ви можете прочитати тут .

Характеристики HA / DR

Тут вийшло кілька можливостей. Один - це можливість використовувати групи "Завжди в наявності" у стандарті SQL Server - базовій групі доступності. Це було необхідно, оскільки дзеркальне відображення застаріло і не було його заміни. Функціональність обмежена кількістю реплік та підходом до синхронізації. Більше ви можете прочитати тут .

Це не єдина зміна груп доступності (які, до речі, були введені в SQL Server 2012). Є також кілька інших змін (ви можете побачити вичерпний список з посиланнями на інші зміни тут ):

  1. Групові облікові записи послуг підтримуються.
  2. Розподілені транзакції підтримуються (з деякими застереженнями ).
  3. З'єднання зчитування намірів можуть бути збалансованими між репліками лише для читання.
  4. Три автоматичні відмовки тепер можуть бути задіяні в автоматичних відмовах.
  5. Зашифровані бази тепер можуть брати участь у групі "Завжди в наявності".
  6. Поліпшення продуктивності - частина теми SQL Server 2016 - це "просто швидше" - це маркетинг Microsoft, але він виявляється на ринку. У роботі групи доступності було внесено декілька покращень.

Програма встановлення виправляє деякі поширені помилки

Програма встановлення SQL Server, починаючи з SQL Server 2016, виправляє деякі поширені помилки, допущені під час налаштування TempDB. Інтерфейс інтерфейсу настройки провідить вас через найкращу конфігурацію практики зараз.

Магазин запитів

Улюблений серед MVP та тюнерів SQL Server. Ця функція - це інструмент, який дозволяє вам зрозуміти, як запити виконуються двигуном. Особливо корисно відстежувати проблеми з ефективністю, викликані змінами в планах запитів з часом. Це може бути інструмент для перегляду, але також інструмент для виправлення. Допомагає спростити декілька концепцій настройки продуктивності. Більше про це можна прочитати тут .

Тимчасові таблиці

Я часто відчуваю необхідність задавати питання на кшталт "Як виглядали ці дані як такої та такої дати". Тимчасові таблиці - це один із способів цього зробити. Однозначно є деякі випадки використання складських приміщень. Детальніше дивіться тут .

Покращення стовпців

Три великих для мене поліпшення тут серед пари інших. Один - це оновлені некластеризовані індекси стовпців. SQL Server 2014 дав нам оновлені кластери, але тепер ми маємо оновлення без кластеру. SQL Server 2016 також дозволяє індекси зберігання стовпців на таблицях OLTP в пам'яті. І можливість розміщення традиційного некластеризованого індексу B-дерева на кластерному індексі стовпців тепер існує в SQL Server 2016.

Додаткові вдосконалення функції OLTP в пам'яті

Зараз доступні декілька функцій, які не підтримувались у таблицях In-Memory або в оригінально складених процедурах. Деякі доповнення (але докладну інформацію див. У цій статті ): УНІКАЛЬНІ ОБМЕЖЕННЯ, Перевірка обмежень, пункт ВИХІД у DML, Зовнішнє приєднання, Підзапроси у списку вибору, ВИБІР ВИДАЛЕННЯ, ОБ'ЄДНАННЯ / УНІОНУ ВСІ та ін.

Загальні покращення продуктивності

З кожним випуском SQL Server 2014 вніс деякі покращення продуктивності в декількох ключових областях. SQL Server 2016 зробив додаткові ключові вдосконалення у всьому продукті. Це включає усунення для багатьох клієнтів деякої болі, яка виникає під час оновлення до SQL Server 2014 через зміни в оцінці кардинальності. Для покращення повсякденних характеристик двигуна було внесено кілька змін вгору та вниз. Команда CSS Microsoft веде блог про це у своєму блозі. Ви можете просто шукати "SQL Server 2016, він просто працює швидше". Приклад публікації в блозі для цієї серії знаходиться тут .

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

Деякі мінуси

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

Модернізації загалом - загалом оновлення означає, що ви впроваджуєте нові функції. Вам потрібно вміти тестувати їх. Між версіями SQL Server різні функції застаріли. Це не означає, що вони відходять одразу, але це означає, що вони можуть в наступних випусках, часто три версії пізніше. Наприклад, тип даних TEXT або виконання зовнішніх з'єднань у пункті, де *=або з або=*синтаксис не підтримується, якщо ви надходите з бази даних, що працює в режимі сумісності SQL Server 2000. Якщо говорити про режими сумісності - вони також вертаються лише до трьох версій. Отже, якщо у вас є база даних, що працює в режимах сумісності 80 (SQL Server 2000) або 90 (SQL Server 2005), вони не можуть перейти в SQL Server 2016 таким чином. Тож якщо ви уникали цього тесту і проникли рівні сумісності, настав час для розрахунку.

Знову. Це легкі речі. Існують інструменти, які допомагають збирати та перевіряти дані, щоб побачити, що порушується. Є лічильники парфмонів, які допоможуть шукати застарілі функції.

Ліцензування - дві речі тут:

  1. Основні - якщо ви звикли до попередніх умов ліцензування SQL Server 2012, ліцензії на процесор були саме цим - ліцензії на процесор. Починаючи з SQL Server 2012, ліцензії на основі процесора базувалися на ядрі. Отже, там є період коригування. Також Enterprise для нових ліцензій (з деякими винятками , які були зроблені , коли 2012 Перший викотили) сусломати ліцензію на базовому рівні - немає сервера + CAL для підприємства. Яскравий сріблястий накладки на цій хмарі - це те, що я сказав про SP1, що дозволяє виконувати функції Enterprise у непідприємницьких товарних кодах. Якщо вам потрібно більше 128 Гб оперативної пам’яті. Якщо вам потрібні розширені покращення ефективності сканування. Якщо вам потрібно більше 32 Гб оперативної пам’яті для стовпчика або In-Memory, то ви дивитесь на Enterprise. Якщо ви цього не зробите? І вам не потрібні оновлення індексу в Інтернеті? Стандарт може бути лише для вас, і вам може бути більше для вас із тими функціями, які нещодавно вам доступні.
  2. Software Assurance (SA) - якщо ви не купили SA, вам доведеться купувати новий. Отже, якщо ви працюєте з SQL Server 2005 і переживаєте, що ви не підтримуєте основну підтримку, не дуже далеко від кінця розширеної підтримки, і хочете, щоб у вас були тепер доступні функції, ви не можете просто оновити, як пакет оновлень. Якщо ви ніколи не купували SA, то оновлення - це нова покупка. Це добре, воно дійсно того варте. Але це щось, що має вразити бюджет.

Підсумок

Є ще багато причин, як, наприклад, підтримка JSON, введення R тощо. Але це лише деякі з причин, для яких я б вважав оновленням. Знову ж таки, найважливішим пунктом є можливість використовувати багато раніше використовуваних лише функцій Enterprise Edition у Standard, або навіть Express. Я бачив великі історії успіху серед своїх клієнтів і очікую побачити більше.

І якщо ви використовуєте SQL Server 2005 або 2008, список ще більше. AlwaysOn групи доступності вийшли в 2012 році, індекси Columnstore в SQL Server 2012, OLTP в пам'яті в SQL Server 2014 і т.д.

Не кажучи вже про те, що ви все ще перебуваєте на SQL Server 2005 або 2008, ви не підтримуєте основну підтримку.


2
Все це + реальна причина бізнесу - найдовший життєвий цикл. Люди, які все ще працюють на SQL2000, не можуть оновити Windows, старі вікна, не встановлені на новому сервері, і всі ці проблеми зростають одна за одною. Для бізнесу - JSON та інші, це просто ІТ-іграшки ... припиніть підтримку, яку вони розуміють
a_vlad
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.