Какой sql server выбрать для windows 7

Обновлено: 05.07.2024

Прежде чем в очередной раз установить SQL Server, подумайте. Вы уверены насчет версии? Я знаю, руководство хочет оставаться на старой версии, и вендоры приложений говорят, что поддерживают только старые версии SQL Server, но теперь вы можете найти аргументы для новой версии.

Мы начнем издалека и посмотрим, что полезного было в каждой из версий.

Возможно, вам следует установить SQL Server 2008, если .

  • У вас древнее приложение, которое больше не поддерживается вендором.
  • У вас есть лицензия только на SQL Server 2008, так как вы не купили Software Assurance, что дало бы вам возможность использовать бесплатно новые версии.
  • У вас только Standard Edition и вам нужна поддержка неограниченной памяти (это убрали в 2008R2).
  • Вы не знаете, что и SQL Server 2008, и SQL Server 2008 R2 (который вышел примерно через два года после) имеют одинаковый срок окончания поддержки (хотя, теперь вы это знаете, так что это уже не причина).
  • Вы не знаете, что расширенная поддержка прекратилась 9 июля 2019 года. Да, если вы используете SQL Server в Azure, то Microsoft предоставит вам расширенную поддержку до 2022 года.

Из-за срока окончания поддержки я не сторонник новых инсталляций SQL Server 2008. Так что, давайте двигаться дальше.

Вам нужен SQL Server 2008 R2, если .

Вам нужны новые возможности, добавленные после SQL Server 2008:

  • PowerPivot for Excel (который был заменен);
  • Utility Control Point (которым никто не пользуется);
  • Master Data Services;
  • StreamInsight.

Э-э . Давайте пропустим эту версию и продолжим.

Вам нужен SQL Server 2012, если .

  • У вас приложение, которое поддерживает только SQL Server 2012, но не 2014 или более новый.
  • Вы абсолютно не склонны к установке обновлений (потому что SP4 вышел в октябре 2017 года, и с тех пор было только одно исправление безопасности, и все).
  • Вы не прочь через 2 года обновить SQL Server (потому что поддержка заканчивается в июле 2022 года).
  • Вам либо не нужно шифрование резервных копий, либо для этого вы готовы купить сторонний инструмент.

В 2012 было представлено несколько новых возможностей: Availability Groups, Columnstore indexes, Contained databases, Data Quality Services. Но в то время они были настолько ограничены, что сегодня сложно считать эту версию хорошим началом для использования этих технологий.

Вам нужен SQL Server 2014, если .

  • У вас приложение, которое поддерживает только SQL Server 2014, но не 2016 или более новые.
  • Вы хотите использовать Always On Availability Groups (но я уже даже не решаюсь написать, что AG были значительно улучшены в последующих версиях). Я бы счел эту версию минимальной для рассмотрения AG (забудьте про 2012), потому что начиная с 2014, вторичный сервер доступен для чтения.
  • Вам нужно шифровать резервные копии, и вы не хотите покупать сторонние инструменты резервного копирования.
  • Вы используете log shipping (доставку журналов) в качестве инструмента для отчетности, и у вас есть хитрые требования к правам доступа. В 2014 появились новые роли уровня сервера, которые облегчают эту задачу.
  • Вам нужно улучшить производительность, но без изменения кода. И есть много времени для тестирования. Вам помогут изменения в Cardinality Estimator (CE), хотя и не для всех запросов. Все равно придется потратить время, чтобы найти медленные запросы и подумать, что с ними можно сделать.

В SQL Server 2014 также было представлено несколько технологий, которые уже никого не удивляют сегодня: In-Memory OLTP (непригодный для использования в то время), Buffer Pool Extensions, файлы данных в Azure blobs, резервное копирование по URL и Delayed Durability.

Вам нужен SQL Server 2016, если .

  • Вы являетесь независимым поставщиком программного обеспечения (ISV). В 2016 SP1 множество Enterprise-функций стали доступны в редакции Standard. Это означает, что вы можете разработать одну версию приложения, которое работает как для небольших клиентов с редакцией Standard, так и для больших с редакцией Enterprise.
  • Вам нужен известный и хорошо документированный продукт. Довольно легко найти готовые обучающие материалы и нанять людей, которые знают, как использовать инструменты этой версии.
  • Вы используете Standard Edition, потому что он поддерживает 128 Гб оперативной памяти (и даже может выйти за рамки этого для некоторых внутренних нужд, например, для планов запросов).
  • Вы не хотите обновляться до 2025–2026 годов. У этой версии срок поддержки дольше, чем у SQL Server 2012/2014, так что вы сможете продержаться на ней дольше.
  • У вас есть требования по соответствию (compliance) для нового приложения. Я специально говорю здесь о новых приложениях, т.к. в SQL Server 2016 добавлены Always Encrypted, Dynamic Data Masking, Row Level Security и Temporal Tables — технологии, которые облегчат вам защиту данных. Защита данных все еще остается непростой задачей, но становится легче.
  • Вы хотите использовать columnstore-индексы. Это минимальная версия, с которой их можно использовать, потому что они стали обновляемыми и могут иметь индексы columnstore и rowstore в одной таблице. Здесь отличное сравнение того, что изменилось в columnstore за эти годы.
  • Вам нужен мониторинг планов запросов, и вы не можете позволить себе сторонний инструмент. Query Store предоставляет вам довольно интересные возможности. Хотя его не используют так часто, как хотелось бы. И если бы завтра я снова стал фултайм DBA, то первое, что я бы стал изучать - это Query Store (и PowerShell).

Вам нужен SQL Server 2017, если .

  • Вы готовы устанавливать обновления каждые 30-60 дней, потому что для новых версий, таких как эта, обновления выходят часто, и они исправляют некоторые существенные проблемы. Пройдет время, прежде чем выйдет 2019 и обновления 2017 будут выходить реже (помните, что больше нет Service Pack, только Cumulative Updates).
  • У вас есть цель с нулевым RPO (время восстановления) и финансовые риски. В 2017 для Always On Availability Groups добавлен новый параметр minimum commit replica, который позволит вам гарантировать, что несколько реплик получили коммиты.
  • Вы хотите, чтобы будущие обновления были проще. В 2017 появились распределенные группы доступности (Distributed Availability Group) с различными версиями SQL Server в ней. DAG сегодня не слишком надежен и хорошо документирован, но мне нравится эта идея, в качестве задела на будущее, для более легкого обновления. (До этого обновления AG были абсолютно ужасны, и зачастую вместо обновления проще было построить новый кластер и мигрировать на него.)
  • Вам нужны высокопроизводительные columnstore-запросы. Появилось много интересных вещей для выполнения запросов в пакетном режиме (batch mode).
  • Вы решительно настроены использовать SQL Server под Linux. А если серьезно, то просмотрите Release notes for SQL Server 2017 on Linux и прочитайте для каждого накопительного обновления исправленные ошибки. Некоторые из проблем с кластеризацией меня действительно шокировали.
  • Вы решительно настроены на использование машинного обучения и R в SQL Server. Я знаю, что это модно для тех, кто работает с данными, но помните, что вы тратите на лицензии SQL Server от $2000 до $7000 за ядро.

Да, я знаю, я здесь не написал "вы хотите очень известный, хорошо документированный продукт". Но это не потому, что продукт плохой. Просто он относительно новый по сравнению с 2012/2014/2016, и, кстати, гораздо сложнее найти готовое хорошее обучение по таким темам, как Distributed Availability Groups или SQL Server под Linux, а также нанять людей, которые знают, как их использовать.

Это не плохие технологии, это отличные технологии. Просто сейчас они еще на ранней стадии развития, так что сложно получить хорошие практики использования. Не невозможно, просто сложно.

Вам нужен SQL Server 2019, если .

  • Вы хотите максимально возможный срок поддержки — до 2030 года. Разве не было бы здорово не переустановить SQL Server целое десятилетие?
  • Вы готовы устанавливать обновления каждые 30-60 дней. Для новых версий, таких как эта, обновления выходят часто, и они исправляют некоторые существенные проблемы (помните, что больше нет Service Pack, только Cumulative Updates).
  • Вы готовы учиться через эксперименты, а не через документацию. По мере того как вы доберетесь до новейших возможностей, ваше время на эксперименты и обучение будет увеличиваться.
  • У вас нет проблем с тестированием нагрузки и производительности. SQL Server 2019 добавляет много интересных улучшений в производительности, когда вы включаете режим совместимости с 2019. Но это также принесет большие изменения в ваши текущие планы запросов. Если говорить в числах, то 99% ваших запросов станут быстрее, а 1% медленнее. Знаете ли вы, что попадет в этот 1%? И что вы собираетесь делать, чтобы уменьшить снижение их производительности? Вы не можете просто протестировать медленные запросы, вы также должны протестировать и быстрые запросы, чтобы убедиться, что они не станут недопустимо медленными.
  • Вы используете много пользовательских функций. SQL Server 2019 может их значительно ускорить , хотя вам стоит это протестировать.
  • Вы используете много табличных переменных и можете изменять код — они тоже становятся лучше.

Microsoft сделала ставки на новые технологии: кластеры больших данных (Big Data Clusters), высокая доступность в контейнерах и поддержка Java. Тем не менее, я просто не могу придумать аргументы в пользу того, чтобы сегодня (в декабре 2019 года) установить SQL Server 2019 только ради этих технологий. Если эти технологии вам действительно требуются (а это не просто ваше желание их попробовать), то вы уже должны изучать SQL Server 2019 в своих тестовых лабораториях. И, скорее всего, вы уже используете другие версии SQL Server.

Так какой ответ правильный ?

Когда я смотрю на этот список сегодня, то SQL Server 2017 мне видится довольно подходящим вариантом для большинства. Это хороший баланс новых функций, стабильности и длительного срока поддержки. Сейчас во многих организациях, где люди перегружены работой и не могут обновлять сервера каждый год, я вижу экземпляры SQL Server 2017 с мониторингом того, как идет релиз SQL Server 2019 и планированием его развертывания в 2021 году.

В этой статье приведены минимальные требования к оборудованию и программному обеспечению, необходимым для установки и запуска SQL Server 2019 (15.x) в операционной системе Windows.

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

Требования к оборудованию

Следующие требования к памяти и процессору применяются ко всем выпускам SQL Server:

Экспресс-выпуски: 512 МБ

Все другие выпуски: 1 ГБ

Рекомендуется:

Экспресс-выпуски: 1 ГБ

Установка SQL Server поддерживается только для процессоров x64. Процессоры x86 больше не поддерживаются.

* Минимальный объем оперативной памяти, необходимый для установки компонента Сервер DQS в Data Quality Services (DQS), составляет 2 ГБ. Это значение отличается от требований, предъявляемых к минимальному объему памяти SQL Server. Подробные сведения об установке DQS см. в разделе Install Data Quality Services.

Требования к программному обеспечению

Следующие требования относятся ко всем видам установки.

Windows Server 2016 или более поздней версии

Программа установкиSQL Server устанавливает следующие компоненты, необходимые для продукта:

  • Собственный клиент SQL Server
  • SQL Server Файлы поддержки программы установки

Для компонента PolyBase существуют дополнительные аппаратные и программные требования. Дополнительные сведения см. в разделе Приступая к работе с PolyBase.

Поддержка операционных систем

В следующей таблице показано, какие выпуски SQL Server 2019 (15.x) совместимы с различными версиями Windows.

Выпуск SQL Server Enterprise Разработчик Standard Интернет Express
Windows Server 2022 Datacenter Да Да Да Да Да
Windows Server 2022 Datacenter: Azure Edition Да Да Да Да Да
Windows Server 2022 Standard Да Да Да Да Да
Windows Server 2019 Datacenter Да Да Да Да Да
Windows Server 2019 Standard Да Да Да Да Да
Windows Server 2019 Essentials Да Да Да Да Да
Windows Server 2016 Datacenter Да Да Да Да Да
Windows Server 2016 Standard Да Да Да Да Да
Windows Server 2016 Essentials Да Да Да Да Да
Windows 10 IoT Корпоративная нет Да Да нет Да
Windows 10 Корпоративная нет Да Да нет Да
Windows 10 Профессиональная нет Да Да нет Да
Windows 10 Домашняя нет Да Да нет Да

Поддержка Server Core

Установка SQL Server 2019 (15.x) в режиме основных серверных компонентов поддерживается в следующих выпусках Windows Server:

Windows Server 2022 Core

Windows Server 2019 Core

Windows Server 2016 Core

Дополнительные сведения об установке SQL Server в Server Core см. в статье Установка SQL Server в Server Core.

Поддержка версий на разных языках

Дополнительные сведения о поддержке версий на разных языках и рекомендации по установке локализованных версий SQL Server см. в статье Версии SQL Server на местных языках.

Требования к месту на диске

Во время установки SQL Serverустановщик Windows создает временные файлы на системном диске. Прежде чем запускать программу для установки или обновления версии до SQL Server, проверьте, что на системном диске доступно не менее 6,0 ГБ свободного места для устанавливаемых файлов. Это требование должно быть выполнено даже в том случае, если компоненты SQL Server устанавливаются на диск, отличный от предложенного по умолчанию.

Фактические требования к объему свободного места на диске зависят от конфигурации системы, а также от набора устанавливаемых компонентов. В следующей таблице представлены требования к свободному месту на диске для компонентов SQL Server .

Компонент Свободное место на диске
КомпонентКомпонент Database Engine и файлы данных, репликация, полнотекстовый поиск и службы Data Quality Services 1480 МБ
Компонент Database Engine (как описано выше) со службами R Services (в базе данных) 2744 МБ
Компонент Database Engine (как описано выше) со службой запросов PolyBase для внешних данных 4194 МБ
СлужбыСлужбы Analysis Services и файлы данных 698 МБ
Службы Reporting Services 967 МБ
Microsoft R Server (автономный) 280 МБ
Службы Reporting Services — SharePoint 1203 МБ
Службы Reporting Services Надстройка для продуктов SharePoint 325 МБ
Клиент Data Quality 121 МБ
Средства связи клиентских средств 328 МБ
Службы Integration Services 306 МБ
Клиентские компоненты (кроме компонентов электронной документации по SQL Server и служб Integration Services) 445 МБ
Службы Master Data Services 280 МБ
SQL Server Компоненты электронной документации для просмотра и управления содержимым справки* 27 МБ
Все компоненты 8030 МБ

*Требование к месту на диске для загружаемого содержимого электронной документации — 200 МБ.

Типы хранилищ для файлов данных

Для файлов данных поддерживаются следующие типы хранилищ.

  • Локальный диск
    • SQL Server сейчас поддерживает диски со стандартным размером сектора в 512 байт и 4 КБ. Использование жестких дисков с размером сектора размером более 4 КБ могут привести к ошибкам при попытке сохранить файлы данных SQL Server на них. Дополнительные сведения о поддерживаемых размерах сектора жесткого диска в SQL Server см. в статье Ограничения размера сектора жесткого диска в SQL Server.
    • SQL Server поддерживает локальные диски только для установки файлов tempdb. Проверьте правильность пути, указанного для файлов tempdb и файлов журнала на всех узлах кластера. Если во время отработки отказа каталоги tempdb недоступны на целевом узле отработки отказа, то при переводе ресурсов SQL Server в режим «в сети» произойдет ошибка.
    • Хранилище SMB не поддерживается для файлов данных автономных или кластерных установок служб Службы Analysis Services . Используйте вместо него непосредственно подключенное хранилище, сеть хранения данных или S2D.
    • Хранилище SMB может размещаться на файловом сервере Windows или на устройстве с хранилищем SMB сторонних разработчиков. Если используется файловый сервер Windows, он должен иметь версию 2008 или последующую. Дополнительные сведения об установке SQL Server с общей папкой SMB в качестве хранилища см. в статье Установка SQL Server с общей папкой SMB в качестве хранилища.

    Установка SQL Server на контроллере домена

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

    • Запуск служб SQL Server на контроллере домена в учетной записи локальной службы невозможен.
    • После установки SQL Server компьютер, который является членом домена, нельзя будет сделать контроллером домена. Перед этим придется удалить SQL Server .
    • После установки SQL Server компьютер, который является контроллером домена, нельзя будет сделать членом домена. Перед этим придется удалить SQL Server .
    • SQL Server не поддерживает экземпляры отказоустойчивого кластера, где узлы кластера являются контроллерами домена.
    • SQL Server не поддерживается на контроллере домена только для чтения. Программа установкиSQL Server не может создавать группы безопасности или подготавливать учетные записи служб SQL Server на контроллере домена, доступном только для чтения. В такой ситуации программа установки завершается ошибкой.
    • Экземпляр отказоустойчивого кластера SQL Server не поддерживается в среде, где доступен только контроллер домена только для чтения.

    Установочный носитель

    Соответствующий установочный носитель можно получить из следующих расположений:

    Кроме того, можно создать виртуальную машину Azure, на которой уже работает SQL Server, хотя SQL Server на виртуальной машине будет работать медленнее, чем в собственном коде, из-за издержек виртуализации.

    Дальнейшие действия

    После ознакомления с требованиями к оборудованию и программному обеспечению для установки SQL Server можно приступить к планированию установки SQL Server или просмотреть рекомендации по обеспечению безопасности SQL Server.

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

    Список и расшифровка версий Microsoft SQL Server

    Список версий Microsoft SQL Server

    Ниже представлена таблица основных версий Microsoft SQL Server с указанием полного номера версии, даты выхода и информации об актуальности той или иной версии.

    Версия Microsoft SQL Server

    Полный номер версии (RTM) Дата выхода

    Прекращение поддержки

    Описание версии Microsoft SQL Server

    Достаточно часто полное наименование версии Microsoft SQL Server может выглядеть в виде следующей строки

    Microsoft SQL Server 2019 (RTM) 15.0.2000.5 Enterprise Edition (X64)

    Однако, наверное, многих интересовал вопрос, что же означает та или иная цифра, тот или иной текст в этой строке.

    Microsoft SQL Server 2019 – наименование версии Microsoft SQL Server

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

    Уровни версии Microsoft SQL Server

    Каждое программное обеспечение проходит много стадий разработки и каждая стадия каким-то образом называется и, соответственно, маркируется. Наверное, всем известны такие понятия, как beta-версия, релиз-кандидат и так далее, так вот, у Microsoft эти стадии выглядят как «Уровни версии» или их еще называют «Уровни продукта».

    Поэтому в полном наименовании версии Microsoft SQL Server практически всегда встречаются такие буквы как: RTM, CU, SP, CTP, RC и другие, а что же они означают? Давайте разбираться.

    CTP (Community Technology Preview) – beta версия, т.е. предварительная версия – это незаконченный продукт, основная версия еще не вышла. Функционал к выходу основной версии может еще измениться.

    RC (Release Candidate) – релиз-кандидат. Это версия продукта, который практически завершен, и готов к выпуску, однако еще идет финальный этап тестирования. Функционал, скорей всего, изменяться больше не будет.

    RTM (Released To Manufacturing) – релиз продукта. Первая официальная версия продукта, т.е. это исходная, готовая версия.

    SP (Service Pack) – пакет обновлений. Это крупное обновление, которое включает целый набор обновлений и исправлений. Все пакеты обновлений SQL Server являются кумулятивными, т.е. каждый новый пакет обновлений содержит все исправления, включенные в предыдущие пакеты обновлений, а также любые новые исправления. Однако такие пакеты обновлений больше не выпускаются, начиная с SQL Server 2017, выпускаются только накопительные обновления (CU).

    CU (Cumulative Update) – накопительное обновление. Эти обновления содержат исправления ошибок и улучшения, которые были добавлены после предыдущего выпуска.

    GDR (General Distribution Release) – выпуск для общего распространения. Исправления, включенные в GDR, не включают обновлений CU, они включают изменения с предыдущего выпуска GDR. В основном эти обновления несут устранение проблем с безопасностью.

    QFE (Quick Fix Engineering) – исправление (hotfix). Эти исправления устраняют какие-то часто встречающиеся проблемы у конкретного пользователя продукта. Такие обновления могут включать исправления CU. Обычно такие исправления предоставляются в рамках технической поддержки.

    CVE (Common Vulnerabilities and Exposures) – устранение общеизвестных проблем с безопасностью.

    OD (On-Demand) – исправление по требованию пользователя продукта, т.е. устраняются проблемы при конкретных сценариях у пользователей.

    COD (Critical On-Demand) – исправление, связанное с обнаружением серьезной проблемы со стабильностью, функциональностью или безопасностью.

    Редакции Microsoft SQL Server

    Кроме уровня версии, которая отражает стадию разработки Microsoft SQL Server в целом как продукта, есть еще и редакции SQL Server, которые отражают функциональность и возможности Microsoft SQL Server. Иными словами, каждая из редакций имеет какой-то определенный функционал и ограничения.

    Дело в том, что у всех организаций разные потребности, и многим полный функционал Microsoft SQL Server просто не нужен, кроме этого должна же быть какая-то бесплатная версия, например, для обучения.

    Существует 4 основные редакции Microsoft SQL Server:

    • Enterprise – самый полный выпуск, включает все возможности SQL Server, предназначен для крупных баз данных, которые требуют максимальной производительности, надежности, масштабируемости и доступности, а также имеют очень строгие требования по бизнес-аналитике;
    • Standard – самая распространенная редакция, включает ключевые возможности управления данными и бизнес-аналитики. В отличие от выпуска Enterprise у Standard имеются ограничения, как в функциональности, так и в объеме использования ресурсов, например, максимальное количество ядер, которое можно задействовать, это 24;
    • Developer – редакция для разработчиков программного обеспечения, которая включает полный функционал SQL Server, она позволяет создавать и тестировать приложения на основе SQL Server без ограничений. Она бесплатна, но ее могут использовать только программисты для разработки и демонстрации приложений, иными словами, в качестве сервера баз данных на предприятии ее использовать нельзя;
    • Express – бесплатная редакция SQL Server, она подходит для обучения и разработки приложений для обработки данных на настольных компьютерах и небольших серверах (размером до 10 ГБ). У этого выпуска также есть ограничения, например, задействовать можно только 4 ядра, а максимально возможный размер базы данных 10 ГБ. По функционалу данная редакция также значительно уступает платным вариантам.

    Расшифровка номера версии Microsoft SQL Server

    С уровнями версий и редакциями Microsoft SQL Server разобрались, осталось понять, что означают цифры, указанные в номере версии, например, 15.0.2000.5.

    Эти цифры, на самом деле, как раз и показывают конкретную версию Microsoft SQL Server.

    Как видно, номер версии состоит из нескольких частей, где каждая часть уточняет версию.

    В целом расшифровка выглядит следующим образом

    MajorVersion.MinorVersion.ProductBuild.Revision

    MajorVersion – это основная версия Microsoft SQL Server, она изменяется только тогда, когда выходит абсолютно новая версия SQL Server, например, у Microsoft SQL Server 2019 – это 15, в 2017 версии – это 14, остальные версии Вы можете посмотреть в таблице версий, которая приведена в начале данной статьи.

    MinorVersion – это дополнительная версия Microsoft SQL Server, она изменяется редко, только когда в рамках текущей версии вносятся значительные изменения.

    ProductBuild – это номер сборки Microsoft SQL Server, он изменяется при каждом обновлении Microsoft SQL Server в рамках текущей версии.

    Revision – редакция (ревизия) сборки. Версии SQL Server, у которых номер всех версий, а также номер сборки одинаковый, являются полностью взаимозаменяемыми. Однако если редакция сборки отличается, это говорит о том, что уже после выпуска сборки, спустя время, была обнаружена, например, проблема безопасности в этой сборке, новая редакция сборки устраняет эту проблему. Данная цифра в большей степени предназначена для самих разработчиков Microsoft SQL Server.

    Таким образом, мы можем расшифровать версию 15.0.2000.5 следующим образом

    ОсновнойНомер.ДополнительныйНомер.НомерСборки.РедакцияСборки

    date

    18.08.2021

    directory

    SQL Server

    comments

    комментариев 5

    В этой статье мы пошагово рассмотрим установку Microsoft SQL Server 2019 с описанием всех опций, компонентов, актуальных рекомендаций и best practice.

    MS SQL Server это лидирующая РСУБД (Реляционная система управления базами данных) а также главный конкурент Oracle Database в корпоративном сегменте. В СНГ MSSQL чаще всего применяется для собственных разработок прикладного ПО и для 1С.

    Редакции MS SQL Server 2019

    Всего есть 6 выпусков (редакций) MSSQL 2019:

    Особенности лицензирования SQL Server

    MS SQL Server лицензируется по 2 моделям:

    • PER CORE — лицензирует MSSQL по ядрам сервера
    • SERVER + CAL — лицензия целиком на сервер и на каждого пользователя, который будет работать с сервером

    Enterprise редакция может быть лицензирована только по типу PER CORE

    Также в MSSQL Server 2019 появилась новая возможность для лицензирования контейнеров, виртуальных машин и Big Data Clusters.

    Более подробная информация по лицензирования SQL Server представлена в отдельной статье.

    Начало установки SQL Server

    В этой статье мы будем устанавливать MS SQL Server 2019 Enterprise Edition на Windows Server 2019.

    Примечание. В SQL Server 2019 появилась полноценная поддержка Linux, а соответственно Docker и Kubernetes.
    • Скачайте и распакуйте установочный образ SQL Server 2019. Запустите setup.exe;
    • Так как в этой статье мы будем устанавливать обычный изолированный экземпляр, во вкладке Installation выберите “New SQL Server stand-alone installation”.

    установшик MS SQL Server 2019

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

    Параметры обновлений SQL Server при установке

    На этом шаге вы можете включить поиск обновлений через Windows Update. Включать эту опцию или нет, решать вам. Всё зависит от вашей планировки обновлений и от требований к отказоустойчивости сервера. Если у вас нет четкого плана обновлений ваших серверов, лучше оставьте этот параметр включенным.

    ошибка установки sql server: Error 0x80244022: Exception from HRESULT: 0x80244022

    Error 0x80244022: Exception from HRESULT: 0x80244022

    Шаг Install Setup Files произойдет автоматически. Он подготовит файлы для установки.

    Install Rules так же пройдет автоматически, если установщик не обнаружит проблем, которые необходимо решить перед установкой MSSQL (например, перезагрузить компьютер или несовместимость вашей версии Windows с версией SQL Server).

    Тип инсталляции SQL Server

    выбор типа установки sql server - новая установка

    На этом шаге вы можете выбрать установку нового экземпляра или добавление функционала в уже установленный экземпляр. В нашем случае выбираем “Perform a new installation”.

    ввести ключ установки sql server

    Теперь нужно ввести ключ продукта. Если нет ключа, выбирайте Free edition (например, Developer), но имейте в виду, что с редакцией Developer вы имеете право только разрабатывать и тестировать ПО, но не использовать сервер в продуктивной среде.

    На шаге License Terms принимаем лицензионное соглашение.

    Компоненты SQL Server 2019: для чего нужны, какие нужно установить

    На этом этапе вам предлагают установить различные компоненты SQL Server. Пройдемся по ним подробнее, посмотрим какие нужно ставить в различных ситуациях:

    1. Database Engine Services – это основной движок SQL Server. Обязателен к установке.
    2. SQL Server Replication – службы репликации. Компонент довольно часто используются, поэтому если вы не уверены нужны ли они вам, то лучше отмечайте для установки.
    3. Machine Learning Services and Language Extensions – службы для выполнения R/Python/Java кода в контексте SQL Server. Необходимо, если вы собираетесь заниматься Machine Learning.
    4. Full-Text and Semantic Extractions for Search – компонент необходим, если вам нужна полнотекстовая технология поиска или семантический поиск в документах (например docx). В случае семантического поиска по документам, вам также понадобиться FILESTREAM, о нём ниже.
    5. Data Quality Services – службы для коррекции и валидации данных. Если вы не уверены нужен ли вам DQS, то лучше не устанавливайте его.
    6. PolyBase Query Service For External Data – технология для доступа к внешним данным, например на другом SQL Server или в Oracle Database. Java connector for HDFS data sources относиться к PolyBase технологии и нужен в случае если вы хотите работать с HDFS технологией.
    7. Analysis Services – также известен как SSAS. Технология для бизнес-отчетов (BI) и работы с OLAP. Используется в крупных компаниях для отчетности.

    Дальше переходим к списку Shared Features (функций, распространяющихся на весь сервер, а не на конкретный экземпляр).

    1. Machine Learning Server (Standalone) – то же самое что и Machine Learning Services and Language Extensions, но с возможностью установки без самого движка SQL Server.
    2. Data Quality Client – то же самое что и DQS, только standalone.
    3. Client Tools Connectivity – библиотеки ODBC, OLE DB и некоторые другие. Рекомендем ставить обязательно.
    4. Integration Services – службы интеграции данных, известны также как SSIS. Технология для ETL (Extract, Transform, Load) данных. SSIS нужны, если вы хотите автоматизировать импорт данных и менять их в процессе импорта. Scale Out Master/Worker нужны для масштабирования работы SSIS. Если вы не уверены нужны ли они вам, то не отмечайте их.
    5. Client Tools Backwards Compatibility – устаревшие DMV и системные процедуры. Рекомендую ставить.
    6. Client Tools SDK – пакет с ресурсами для разработчиков. Можно не ставить, если не уверены, нужен ли он вам.
    7. Distributed Replay Controller/Client – повторяют и улучшают функционал SQL Server Profiler. Службы Distributed Replay нужны для моделирования нагрузки и для различного рода тестирования производительности.
    8. SQL Client Connectivity SDK – ODBC/OLE DB SDK для разработчиков.
    9. Master Data Services – компонент из Microsoft Power BI. Нужен для анализа, валидации, интеграции и коррекции данных.

    Некоторые из этих компонентов (например, Java connector for HDFS data sources) могут отсутствовать в более старых версиях SQL Server.

    Чуть ниже, на этом же шаге, вы можете указать директорию для файлов SQL Server’a. Если у вас нет весомых причин менять её, то оставьте стандартную (C:\Program Files\Microsoft SQL Server\).

    компоненты sql server, какие нужно устаналивать обязательно

    После того как вы выбрали нужные вам компоненты MSSQL, инсталлятор проверяет совместимость компонентов с вашей системой, и, если проблем нет, этот шаг пройдет автоматически.

    Настройка именования экземпляра SQL Server

    Вы можете оставить параметр Default Instance, в таком случае имя вашего экземпляра будет MSSQLSERVER. При выборе Named Instance вы сами указываете имя экземпляра SQL Server. В моём случае я назову экземпляр DEV. Instance ID рекомендуется ставить такой же, как и имя экземпляра, во избежание путаницы.

    sql server named instance или default экземпляр

    В Installed instances отображаются установленные на сервере экземпляры MSSQL, у меня уже есть один.

    Настройка параметров служб SQL Server, кодировка

    Во вкладке Service Accounts укажите аккаунты из-под которых будут работать службы SQL Server на хосте. Хорошей практикой считается использование MSA (Managed Service Accounts) и gMSA (Group Managed Service Accounts) технологий, как самых надежных в плане безопасности. Я буду использовать обычный доменный аккаунт.

    Выставьте у SQL Server Agent поле Startup Type в Automatic, иначе агент придется запускать вручную.

    Также начиная с SQL Server 2016 появилась возможность выставлять параметр IFI (Instant File Initialization) при установке сервера. В инсталляторе он называется “Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine”. Его включение означает, что старые данные не будут перезаписываться нулями при:

    • Создании базы данных;
    • Добавлении данных в файлы данных или лог файлы;
    • Увеличении размера существующих файлов (включая операции авто увеличения);
    • Восстановлении базы данных/файловой группы.

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

    Рекомендую включать этот параметр, если опасность утечки данных несущественна.

    запуск sql server под доменной учетной записью

    На следующем шаге вы должны выбрать Collation.

    Грубо говоря, Collation это настройка кодировки SQL Server. Этот параметр устанавливает кодировку страниц, правила сортировки, кодировку для char/varchar и другие языковые настройки.

    При установке сервера вы выбираете Collation для всего SQL Server. После установки можно будет поменять этот параметр, но сделать это будет непросто, поэтому нужно сразу выбрать подходящий для ваших задач Collation.

    Для СНГ рекомендуется выбирать Cyrillic_General_CI_AS. Если данные будут только на английском, можно выбирать SQL_Latin1_General_CP1_CI_AS.

    Если вы планируете использовать SQL Server в боевых условиях, ознакомьтесь с документацией по выбору Collation, так как это важный параметр, хоть он и может быть задан для конкретной базы данных.

    sql server 2019 кодировка Collation

    Настройка Database Engine в SQL Server

    На шаге Database Engine Configuration доступны 6 вкладок, начнем по порядку:

    В Server Configuration вы должны выбрать Authentication Mode и указать аккаунт для администратора SQL Server’a.

    У вас на выбор есть 2 режима: Windows authentication mode и Mixed mode.

    Майкрософт рекомендует использовать Windows Authentication как самый безопасный, но на практике скорее всего вам нужно будет логиниться на сервер из других приложений. Например, написанных на java, и в таком случае без аутентификации SQL сервера не обойтись.

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

    В моём случае я ставлю Mixed mode. В этом режиме вам нужно будет прописать пароль от пользователя sa и выбрать Windows аккаунт, который будет обладать административными правами.

    тип аутентфикации sql server: Windows authentication mode или Mixed mode

    На вкладке Data Directories вы должны выбрать каталог, в которой SQL Server будет хранить базу данных и транзакционные логи.

    Для данных лучше всего выделить отдельный RAID массив. Дисковая подсистема критически важна для производительности SQL Server’а, поэтому необходимо выбрать самый хороший из доступных вам вариант хранения данных, будь то NAS или локальный RAID из быстрых дисков.

    Хорошей практикой считается разнесение всех директорий (системных баз данных, пользовательских баз данных, логов пользовательских баз данных, резервных копий) на разные хранилища. Таким образом вы добьетесь максимальной производительности от SQL Server’а на уровне работы с хранением данных.

    В моём случае я укажу отдельный диск с RAID 1 для всех директорий.

    путь к базам данных и каталогам бэкапов sql server

    На вкладке TempDB настраиваются параметры для базы tempdb. Её правильная конфигурация важна для производительности сервера, так как эта база участвует практически во всех операциях с данными.

    настройка параметров tempdb в sql server

    Вкладка MaxDOP.

    Сервер с одним узлом NUMAНе более 8 логических процессоровЗначение параметра MAXDOP не должно превышать количество логических процессоров
    Сервер с одним узлом NUMAБольше 8 логических процессоровЗначение параметра MAXDOP должно быть равно 8
    Сервер с несколькими узлами NUMAНе более 16 логических процессоров на узел NUMAЗначение параметра MAXDOP не должно превышать количество логических процессоров на каждый узел NUMA
    Сервер с несколькими узлами NUMAБольше 16 логических процессоров на каждый узел NUMAЗначение MAXDOP должно быть равно половине количества логических процессоров на узел NUMA со значением MAX, равным 16

    В моём случае я поставлю 0. Это даст наибольшую производительность для выполнения планов параллельных запросов, но это может вызвать задержки, так как другие запросы должны будут дождаться завершения выполнения текущего запроса, потому что все ядра процессора будут заняты выполнением текущего запроса.

    Для “боевого” сервера я всё же рекомендую следовать правилам из таблицы, а также ознакомиться с документацией по ссылке выше.

    Вкладка Memory – нужно указать минимальный и максимальный объем оперативной памяти, который будет использовать SQL Server. Так как спрогнозировать нужный объём для сервера довольно сложно, рекомендуется выделить SQL Server’у 80-85% от всего объёма оперативной памяти сервера. Для того чтобы узнать реальный объём используемой оперативной памяти, нужно круглосуточно мониторить потребление оперативной памяти через специальные DMV (Dynamic Management View) и отслеживать пики потребления RAM. Только с наличием этой информации можно спрогнозировать реальный объем потребления оперативки.

    Я оставлю Default значения (min 0 и max 2147483647 MB).

    настройка выделения памяти для sql server

    Вкладка FILESTREAM – включение технологии FILESTREAM. Она позволяет хранить бинарные файлы на файловой системе и обеспечивает доступ к ним через SQL. Если вы не уверены, что хотите работать с бинарными данными на уровне SQL, то тогда оставьте FILESTREAM выключенным.

    Шаг Feature Configuration Rules пройдет автоматически. Ознакомьтесь со сводкой в Ready to Install и жмите Install.

    На этом базовая установка SQL Server 2019 Enterprise завершена. В следующей статье мы посмотрим на основные способы анализа производительности и проблем в SQL Server.

    Читайте также: