Каковы объективные бизнес-причины для предпочтения SQL Server 2012 над 2008 R2?


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, и часть его выполняется для неверной базы данных.
AK

3
@AaronBertrand Я думаю, что твоя аналогия неверна. Если вы видели, как один и тот же человек пишет и управляет автомобилем более одного раза, несколько раз, разумно сделать вывод, что этот человек ужасный водитель. Вот как обобщает ОП, а не как вы предложили.
AK

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

Ответы:


63

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

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

  • Management Studio теперь стал гораздо лучшим инструментом, согласованным с 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 (централизованный механизм IDENTITY, как в Oracle)
    • Улучшения работы с окнами / кадрированием (различные вещи, такие как потрясающая общая производительность)
    • IIF()/ CHOOSE()/ CONCAT()/EOMONTH()
    • Конструкторы даты / времени (например DATETIMEFROMPARTS), похожие на DateSerialVB
    • PARSE()/ FORMAT()- как и их коллеги .NET
    • TRY_CONVERT()/ TRY_PARSE()- вернуть, NULLесли CONVERT/ PARSEне получится
  • Расширенные события имеют улучшенный пользовательский интерфейс для настройки / просмотра и, наконец, полностью охватывают функции трассировки / аудита (включая гораздо лучшее отслеживание причинно-следственных связей).

  • Множество новых DMV , системных процедур и улучшений ShowPlan для диагностики и устранения неполадок производительности. Также взгляните на то, что CSS называет « The Black Box Recorder ».

  • Server Core позволяет работать на минимальном сервере без всех компонентов пользовательского интерфейса (меньшая площадь означает, что он более безопасен и требует меньшего обслуживания, так как Windows Update обновляется в меньшем количестве частей).

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

  • AWE больше не поддерживается , это означает, что ваш экземпляр SQL Server на x86 с 32 ГБ ОЗУ будет использовать только 4 ГБ, так что у вас наконец-то появится мотивация отказаться от старого 32-разрядного оборудования.


Re: комментарий powershell, он все еще довольно прост: 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

Следующее - только несколько примеров относительно "фактического доказательства за или против надежности в первой версии любого нового выпуска", как требовалось. Это не полный анализ, а предположение о том, что вы можете исследовать.

Вы можете найти в Google «Список проблем, исправленных в SQL Server 2008 с пакетом обновления 1» и «Список проблем, исправленных в SQL Server 2008 с пакетом обновления 3» на веб-сайте MSDN. Сравните количество и серьезность проблем в обоих списках. ИМО первый список длиннее, и в нем есть больше предметов, которые могут испортить мой день, такие как:

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

Давайте рассмотрим еще один уровень и рассмотрим только одну команду - MERGE. Он был выпущен как часть SQL 2008 с несколькими проблемами, описанными в следующих ссылках:

Таким образом, во время первоначального выпуска SQL 2008 я решил не использовать MERGE. Сейчас я использую MERGE много, на 2008 R2, и я думаю, что это действительно отличная возможность.

Изменить: вот список дефектов в SQL 2012, которые были недавно исправлены . Надеюсь, это поможет.

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

Точно так же изоляция моментальных снимков - это удивительная новая функция, которая просто работает, но вызов скалярных UDF в ограничениях CHECK работает не во всех случаях и поэтому не должен использоваться в производстве, когда нам нужна целостность данных. Однако обе новые функции были рекомендованы в презентациях «Что нового в SQL xxxx», а также в книгах, статьях и т. Д., И с таким же энтузиазмом.

Мы должны быть очень осторожны с новыми функциями - не все они будут полезны / надежны / эффективны.


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

1
Вот еще одна потенциальная MERGEошибка, которая вызывает тупики.
Ник Чаммас

@NickChammas да, верно, спасибо, что упомянули это. Мы используем sp_getapplock, чтобы обойти.
AK

10

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

Для проекта «с нуля» у вас есть свободное пространство для работы с ошибками и повышения их у поставщика, если они появятся, так что это не совсем неконтролируемый процесс. Я участвовал в одном из первых проектов хранилищ данных на SQL Server 2005, так же, как и в RTM, и нам это удалось.

Если набор функций 2008R2 будет делать то, что вы хотите, тогда решение сводится к некоторому риску ошибок / обходных путей по сравнению со значением откладывания необходимости обновления и сохранения цикла обновления.


6

Когда вы покупаете новый, выбор сильно отличается от того, когда вы рассматриваете возможность обновления. Покупая новые, я считаю, что вы всегда должны покупать новейшую версию, которую вы можете получить. Версия 2008 больше не будет поддерживаться намного раньше, чем версия 2012 года. Лучше начать новое с самого последнего, так как вы будете использовать этот бэкэнд в течение длительного времени.

Что касается потребности в первом пакете обновлений, он выйдет до того, как вы его узнаете, и, поскольку вы делаете новую разработку, проблемы, которые он исправляет, скорее всего, не затронут вас, как устаревшая база данных с миллионами записей.

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


Там нет обновления. Это новое приложение на новом оборудовании.
USR
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.