Какая из редакций sql server является бесплатной
Перейти к содержимому

Какая из редакций sql server является бесплатной

  • автор:

FAQ по лицензированию Microsoft SQL Server

date18.08.2021
useritpro
directorySQL Server
commentsкомментария 24

В этой статье мы познакомимся c существующими схемами лицензирования Microsoft SQL Server, а также рассмотрим особенности лицензирования SQL Server в среде виртуализации и контейнерах (статья актуальна для последних версий SQL Server 2016/2017/2019).

Редакции MS SQL Server и модели лицензирования

Microsoft SQL Server доступна в пяти редакциях.

  • Express Edition – бесплатная редакция для небольших инсталляций, максимальный размер БД на диске – 10 Гб, использование RAM до 1 Гб, 1 физический сокет или 4 ядра;
  • DeveloperEdition – бесплатная редакция для разработчиков. Включает в себя весь стек технологий SQL Server. Можно установить и использовать только для разработки, тестов и демонстрации на непродуктивных системах;
  • WebEdition – специальная редакция для веб-хостингов (провайдеров), распространяется только в рамках Microsoft Services Provider License Agreement (SPLA);
  • StandardEdition – в этой редакции доступен базовый функционал СУБД, отчеты, аналитика. Максимальное использование RAM– до 128 Гб, 4 сокета или 24 ядра (возможна настройка репликации между несколькими экземплярами SQL Server);
  • EnterpriseEdition – самая полная редакция СУБД, включает функционал редакции Standard, а также дополнительные возможности по анализу, отказоустойчивости (в том числе Always On) и обработки данных (весь функционал доступен в ознакомительной версии SQL Server).

Редакции Developer и Express распространяются бесплатно. Редакции Standard и Enterprise требуют лицензирования.

sql server 2019 лицензирование

Для SQL Server существуют две модели лицензирования:

  • Модель «Сервер + Клиенты» (Server+CAL)
  • Модель «По количеству ядер» (Per Core)

SQL Server Standard может быть лицензирована по любой из двух моделей (Server+CAL или Per Core).

Редакция SQL Server Enterprise лицензируется только по модели: «По количеству ядер».

Лицензирование SQL Server по ядрам

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

Клиентские лицензии приобретать не требуется.

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

  • Одна лицензия выпускается на два ядра (2Lic Core);
  • Для лицензирования сервера вам нужно приобрести минимум 2 двух-ядерных лицензии на каждый физический процессор сервера;
  • При запуске на физическом сервере (physical operating system environment — POSE), все ядра сервера нужно лицензировать.

Лицензирование SQL Server по модели «Сервер + Клиенты»

Согласно это модели лицензирования, на каждый экземпляр SQL Server приобретается одна серверная лицензия, которая привязывается к физическому (виртуальному) серверу (не зависит от количества ядер сервера). Затем вам нужно приобрести отдельные клиентские лицензии (CAL) на каждое устройство или пользователя, которые подключаются к SQL Server.

Клиентские лицензии SQL Server CAL (как и RDS CAL) бывают двух видов:

  • User CAL – “на пользователя”. Приобретается для учетных записей пользователей, которые подключаются к SQL Server с серверной лицензией.
  • Device CAL – “на устройство“. Приобретается для всех устройств, с которых выполняется подключение к SQL Server с серверной лицензией.

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

Т.к. лицензии User CAL и Device CAL стоят одинаково, необходимо заранее рассчитать экономическую целесообразность покупки клиентских лицензий “на пользователя” или “на устройство”.

  1. SQL Server используют 20 человек с 20 известных устройств. Здесь нет разницы какие CAL лицензии покупать.
  2. SQL Server используют 20 человек с 50 устройств. В данном случае выгоднее купить лицензии “на пользователя”.
  3. SQL Server используют 50 человек с 20 устройств. Здесь экономически целесообразно купить лицензии “на устройство”.

Для расчета клиентских лицензий SQL Server CAL не имеют значения:

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

Обратите внимание, что лицензии CAL можно переназначать другому пользователю или другому устройству не чаще, чем 1 раз в 90 дней. Лицензии CAL позволяют использовать SQL Server предыдущих версий.

Для корректного лицензирования вы должны использовать SQL Server CAL той же или более новой версии. Например, чтобы получить доступ к SQL Server 2017 Standard Edition, вам нужен SQL CAL 2019 или SQL CAL 2017.

Стоимость лицензий для SQL Server 2019

  • SQL Server Enterprise Edition за 2 ядра 7128 $
  • SQL Server Standard Edition за 2 ядра — 1859 $
  • SQL Server Standard Edition — 931 $ + нужно число CAL
  • SQL Server Device/User CAL — 209 $

Например, для лицензирования 8-ядерного сервера SQL Standard с 50 пользователями можно:

  1. Купить лицензии по ядрам (SQLSvrStdCore 2019 SNGL OLV 2Lic NL Each AP CoreLic — 7NQ-01562): 1859*4= 7436$
  2. Купить серверную лицензию (SQLSvrStd 2019 SNGL OLV NL Each AP — 228-11476) и необходимое количество CAL (SQLCAL 2019 SNGL OLV NL Each AP UsrCAL — 359-06864): 931 + 50*209 = 11381$

Как вы видите, при большом количестве пользователей выгодно лицензировать SQL Server по ядрам. Однако, если у вас большое количество экземпляров SQL Server в производственной среде при неизменном количестве пользователей, выгоднее использовать Server + CAL лицензии.

Лицензирование компонентов SQL Server

SQL Server включает в себя ряд лицензионных серверных компонентов:

  • SQL Server Database Engine (DB)
  • SQL Server Machine Learning Services
  • Machine Learning Server Standalone,
  • Master Data Services (MDS)
  • Analysis Services (AS)
  • Integration Services (IS)
  • Reporting Services (RS)
  • Data Quality Services (DQS).

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

Если вы используете SQL сервер в режиме High Availability, вам не нужно отдельно лицензировать пассивную копию SQL Server на другом хосте (если она используется только для failover, а не любых других нужд).

Лицензирование SQL Server в виртуальных машинах и контейнерах

Как и лицензирование Windows Server, лицензирование SQL Server в среде виртуализации имеет ряд особенностей.

Модель лицензирования по ядрам

Как и в модели лицензирования “на ядро” в физическом сервере, вы должны лицензировать все виртуальные ядра (vCPU) виртуальной машины, на которой запущен экземпляр SQL Server. Вы можете лицензировать только виртуальные ядра ВМ, либо все физические ядра физического хоста (имеет смылс, если вы запускаете на хосте только ВМ с SQL Server).

На одну ВМ нужно приобрести не менее 2 лицензий (каждая на 2 ядра). В примере ниже лицензии считаются на каждое ядро, затем это количество делится на 2 (14 лицензируемых ядер делим на 2 — нуобходимо приобрести 7 лицензий SQL Server).

Обратите внимание. В первой виртуальной машине всего 2 ядра, но лицензии приобретаются на необходимый минимум – 4.

лицензирования ядер в виртуальных машинах sql server

При использовании SQL Server Enterprise Edition вы можете лицензировать все физические ядра сервера и запускать неограниченное количество экземпляров SQL в количестве операционных сред (физических и/или виртуальных), равном количеству лицензий на одно ядро.

Например, двухпроцессорный сервер с четырьмя ядрами на каждом процессоре, полностью лицензированный восемью лицензиями SQL (4 лицензии на каждые 2 ядра), может запускать SQL Server на восьми виртуальных машинах, независимо от количества виртуальных ядер, выделенных для каждой виртуальной машины.

Клиенты, которые лицензировали все физические ядра на сервере и хотят запустить SQL Server в большем количестве виртуальных машин, чем разрешено, могут назначить дополнительные лицензии на ядро лицензированному серверу.

Каждая дополнительная лицензия на ядро ​​позволяет развертывать SQL Server на дополнительной виртуальной машине, поэтому в предыдущем примере клиент, который хочет запустить SQL Server Enterprise Edition на двенадцати виртуальных машинах, может приобрести и назначить двенадцать лицензий этому серверу (6 на каждые 2 ядра).

При использовании Software Assurance (SA) с лицензиями Enterprise Edition, вы можете развернуть неограниченное количество виртуальных машин для обработки динамических рабочих нагрузок и полного использования аппаратных вычислительных мощностей.

Модель лицензирования “Сервер + клиенты”

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

sql server - лицензия на сервер и клиентские лицензии

Лицензирование контейнеров ничем не отличается от лицензирования виртуальных машин – вам нужно лицензировать все ядра, которые используются в контейнере SQL Server. Либо использовать модель лицензирования с CAL.

Какую версию SQL Server использовать?

Прежде чем в очередной раз установить 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 году.

Разнообразие версий Microsoft SQL Server и какая из них последняя?

В свое время из-за немного громоздкой политики по выпуску обновлений для Microsoft SQL Server путался какой же из дистриубтивов нужно установить и откуда его скачать. Углубившись в данную тематику, в интернете нашел замечательные систематизирующие ресусры, которые отвечали на мои вопросы (они приведены в начале статьи).

Надеюсь собранная информация будет полезна не только мне.

Также, вас возможно заинтересуют другие статьи о Microsoft SQL Server:

    (175 утилит и инструментов) (362 флага трассировки на текущий момент) (все версии от SQL Server 6.0 до V.Next) (29 аддонов на текущий момент) (более 200 полезных ресурсов)

Полезные ссылки и статьи

  • Невероятная по объему и полезности статья — How to determine the version, edition and update level of SQL Server and its components: KB321185
  • Наименование схем обновления для Microsoft SQL Server: KB822499
  • Стандартная терминология, которая используется для описания обновлений ПО от Microsoft: KB824684
  • SQL Server Updates от Brent Ozar с возможность подписки: http://sqlserverupdates.com/
  • SQL Server Builds от SQLSentry: http://blogs.sqlsentry.com/category/sql-server-builds/
  • Неофициальный список обновлений для Microsoft SQL Server: http://sqlserverbuilds.blogspot.ru/
  • Wikipedia: https://en.wikipedia.org/wiki/Microsoft_SQL_Server
  • SQL Server 2005 Downloads: https://msdn.microsoft.com/en-us/sqlserver/bb671254.aspx
  • SQL Server 2000 Downloads: https://msdn.microsoft.com/en-us/sqlserver/bb895925
  • SQL Server 7.0 Downloads: https://msdn.microsoft.com/en-us/sqlserver/bb671066

Часто используемые термины и сокращения

COD Critical On-Demand (критическое обновление по требованию)

  • CUCumulative Update (накопительное обновление)
  • CTPCommunity Technology Preview (CTP-версия)
  • GAGeneral Availability (общедоступная версия
  • GDRGeneral Distribution Release (обновление GDR)
  • QFEQuick Fix Engineering (обновление QFE) (в мире Windows, это называется LDR — Limited Release Distribution — но этот термин не прижился в команде SQL Server).
  • RCRelease Candidate (версия-кандидат)
  • RDPRapid Deployment Program
  • RTMReleased To Manufacturing
  • RTWRelease to Web
  • TAPTechnology Adoption Program
  • SPService Pack
  • SU: Обновление безопасности.
  • Hotfix

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

  1. Устанавливается нужная вам стабильная версия (на текущий момент рекомендуемые это 2014 или 2016)
  2. Затем устанавливается последний из доступных сервис паков
  3. Устанавливается последний накопительный пакет обнволений для устранения различного рода багов
  4. В случае необходимости для устранения конкретных проблем устанавливается нужный Hotfix

Какие самые последние обновления доступны для SQL Server?

Версия Последние обновления Номер сборки Дата релиза Начало цикла Поддержка Расширенная поддержка Другие обновления
vNext Install vNext 14.0.200.24 2017-01-20 ? ? ? Other SQL vNext Updates
2016 Install 2016 SP1 then
SP1 CU1 KB3208177
13.0.4001.0
13.0.4199.0
2016-11-16
2017-01-18
2016-11-16 2021-07-13 2026-07-14 Other SQL 2016 Updates
2014 Install 2014 SP2 Or Developer Free then
KB3204388
12.0.5000.0
12.0.5538.0
2016-07-11
2016-12-28
2016-07-14 2019-07-09 2024-07-09 Other SQL 2014 Updates
2012 Install 2012 Or Developer Free then
SP3 2012 then
KB3205051
11.0.2100.60
11.0.6020.0
11.0.6579.0
2012-02-14
2015-11-21
2017-01-18
2015-12-01 2017-07-11 2022-07-12 Other SQL 2012 Updates
2008 R2 Install 2008 R2 then
SP3 2008 R2 then
SU KB3045311
6.1.7601.17514
10.50.6000
10.50.6220.0
2010-11-21
2014-09-30
2015-07-14
Review Note 2014-07-08 2019-07-09 Other SQL 2008 R2 Updates
2008 Install 2008 then
SP4 2008 then
SU KB3045316
6.0.6001.18000
10.00.6000
10.0.6241.0
2008-01-19
2014-09-30
2015-07-14
2014-07-07 2014-07-08 2019-07-09 Other SQL 2008 Updates
2005 Install SP4 2005 then
CU3 KB2507769
9.00.5000.00
9.00.5266
2010-12-17
2011-03-17
2010-12-13 2011-04-12 2016-04-12 Other SQL 2005 Updates

Установочные файлы Microsoft SQL Server с прямыми ссылками на загрузку

SHA1 хэш можно легко получить с помощью встроенной Windows утилиты certutil.

Например, для одного файла:

Или для всех файлов в директории, имеющих расширение .exe:

Direct x64 Download Link File Name Release Date Build Number Size, MB SHA1
SQL Server vNext SQLServerVnextCTP1-x64-ENU.iso 2017-01-20 14.0.200.24 1975 9a 29 ce b3 96 6e fe cb 08 fa 69 af 7c 99 7b dd 4b 68 32 41
SQL Server 2016 SQLServer2016-x64-ENU.iso 2016-06-01 13.0.1601.5 2050 ce 21 bf 1c 08 ec 1a c4 8e bb 49 88 a8 60 2c 78 13 03 4e a3
SQL Server 2016 SP1 SQLServer2016SP1-KB3182545-x64-ENU.exe 2016-11-16 13.0.4001.0 552 8c 6c f1 88 78 93 1d 8e fd 44 b9 52 e7 94 20 00 2b 8a 48 85
SQL Server 2016 SP1 KB3208177 SQLServer2016-KB3208177-x64.exe 2017-01-18 13.0.4411.0 439 fb d9 69 dd b8 34 07 77 ff ad 7a 39 b5 d3 27 d2 5a 10 a7 43
SQL Server 2014 SP2 SQLServer2014SP2-FullSlipstream-x64-ENU.iso 2016-07-11 12.0.5000.0 3010 16 f1 93 4d c1 f4 79 94 cd 92 44 39 f8 84 a0 5c 6a d4 d1 73
SQL Server 2014 SP2 KB3204388 SQLServer2014-KB3204388-x64.exe 2016-12-28 12.0.5538.0 555 6f 76 bf 1a 04 58 6e e9 b7 a9 1c 77 98 23 90 4c 13 00 b7 bc
SQL Server 2012 SQLFULL_ENU.iso 2012-02-14 11.0.2100.60 4300 be 00 94 2c c5 6d 03 3e 2c 9d ce 8a 17 a6 f2 65 4f 51 84 a3
SQL Server 2012 SP3 SQLServer2012SP3-KB3072779-x64-ENU.exe 2015-11-21 11.0.6020.0 1017 db f0 1b 6d c6 d6 0c 2b 04 5c 92 d9 18 62 e6 08 7a d7 2a 0a
[SQL Server 2012 SP3 KB3205051] SQLServer2012-KB3205051-x64.exe 2017-01-18 11.0.6579.0 614 43 46 74 9c 43 90 b4 5b 6e d2 34 fc 95 23 d3 e5 91 46 ce 6b
SQL Server 2008 R2 7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso 2010-11-21 6.1.7601.17514 3020 e1 f1 12 e3 b0 b3 03 a0 67 6f 70 dc 35 85 4b d7 6c d2 54 50
SQL Server 2008 R2 SP3 SQLServer2008R2SP3-KB2979597-x64-ENU.exe 2014-09-30 10.50.6220.0 358 19 4c d7 40 d5 81 2b 12 63 9b 47 88 6e bd e0 d0 47 74 b4 ec
SQL Server 2008 R2 SU SQLServer2008R2-KB3045316-x64.exe 2015-07-14 10.50.6000 58 3a a4 d8 20 55 3b 1e 5d 96 73 55 41 cb b5 5d 97 32 2c 28 6e
SQL Server 2008 6001.18000.080118-1840_amd64fre_Server_en-us-KRMSXFRE_EN_DVD.exe 2008-01-19 6.0.6001.18000 2269 e4 d6 29 00 0f c2 3d a9 f9 e0 77 4b 79 69 80 ff 7f 71 f7 48
SQL Server 2008 SP4 SQLServer2008SP4-KB2979596-x64-ENU.exe 2014-09-30 10.0.6241.0 378 13 61 0d 6c b3 9e 37 fc d4 a3 33 82 44 a3 ca 2a 8a 40 4c d8
SQL Server 2008 SU SQLServer2008-KB3045311-x64.exe 2015-07-14 10.00.6000 61 37 a1 97 c6 09 90 d2 e8 3e 98 d1 09 01 09 a4 ab 3f 2a be 4b

Версии SQL Server и уровни совместимости

Версия SQL Server Версия ядра Кодовое имя Год релиза Внутренняя версия Уровень совместимости Поддерживаемые уровни совместимости
SQL Server vNext 14 vNext 2017 856 140 140, 130, 120, 110, 100
SQL Server 2016 13 SQL16 2016 841 130 130, 120, 110, 100
Azure SQL Database 12 CloudDB 2010 (2017) 841 130 130, 120, 110, 100
SQL Server 2014 12 SQL14 2014 782 120 120, 110, 100
SQL Server 2012 11 Denali 2012 706 110 110, 100, 90
SQL Server 2012 CTP1 11 Denali 2010 684 110 110, 100, 90
SQL Server 2008 R2 10.5 Kilimanjaro 2010 660 / 661 100 100, 90, 80
SQL Server 2008 10 Katmai 2008 655 100 100, 90, 80
SQL Server 2005 SP2+ with VarDecimal enabled 9 Yukon 2005 612 90 90, 80
SQL Server 2005 9 Yukon 2005 611 90 90, 80
SQL Server 2000 8 Shiloh 2000 539 80 80
SQL Server 7.0 ? Sphinx 1998 515 70 70
SQL Server 6.5 ? Hydra 1996 408 65 65
SQL Server 6.0 ? SQL95 1995 ? 60 ?
SQL Server 4.21 ? SQLNT 1993 ? 60 ?
SQL Server 1.1 (16 bit) ? ? 1991 ? 60 ?
SQL Server 1.0 (16 bit) ? Ashton-Tate 1989 ? 60 ?

Общая информация по Service Pack

Version Codename RTM (no SP) SP1 SP2 SP3 SP4
SQL Server vNext vNext 14.0.200.24
SQL Server 2016 SQL16 13.0.1601.5 13.0.4001.0
SQL Server 2014 SQL14 12.0.2000.8 12.0.4100.1 12.0.5000.0
SQL Server 2012 Denali 11.0.2100.60 11.0.3000.0 11.0.5058.0 11.0.6020.0
SQL Server 2008 R2 Kilimanjaro 10.50.1600.1 10.50.2500.0 10.50.4000.0
10.52.4000.0
10.50.6000.34
10.53.6000.34
SQL Server 2008 Katmai 10.0.1600.22 10.0.2531.0 10.0.4000.0
10.2.4000.0
10.0.5500.0
10.3.5500.0
10.0.6000.29
10.4.6000.29
SQL Server 2005 Yukon 9.0.1399.06 9.0.2047 9.0.3042 9.0.4035 9.0.5000
SQL Server 2000 Shiloh 8.0.194 8.0.384 8.0.532 8.0.760 8.0.2039
SQL Server 7.0 Sphinx 7.0.623 7.0.699 7.0.842 7.0.961 7.0.1063

Microsoft SQL Server VNext Builds

Так выглядит результат выполнения запроса SELECT @@VERSION для актуальной версии SQL Server vNext Developer Edition:

Полезные статьи по V.Next:

Microsoft SQL Server 2016 Builds

Так выглядит результат выполнения запроса SELECT @@VERSION для актуальной версии SQL Server 2016 Developer Edition:

Билд Версия файла Ветка Тип KB / Описание Дата релиза Дата билда Размер, Мб
13.0.4411.0 2015.130.4411.0 SP1 CU 3208177 Cumulative update 1 for SQL Server 2016 Service Pack 1 2017-01-18 2017-01-06 439
13.0.4202.0 2015.130.4202.0 SP1 COD 3210089 GDR update package for SQL Server 2016 SP1 2016-12-16 2016-12-13
13.0.4199.0 2015.130.4199.0 SP1 COD 3207512 Important update for SQL Server 2016 SP1 Reporting Services 2016-11-23 2016-11-18
13.0.4001.0 2015.130.4001.0 SP1 SP 3182545 SQL Server 2016 Service Pack 1 release information 2016-11-16 2016-10-29
13.0.2193.0 2015.130.2193.0 RTM CU 3205052 Cumulative update 4 for SQL Server 2016 2017-01-18 2017-01-06 699
13.0.2190.2 2015.130.2190.2 RTM COD 3210110 On-demand hotfix update package for SQL Server 2016 CU3 2016-12-16 2016-12-13
13.0.2186.6 2015.130.2186.6 RTM CU 3194717 MS16-136: Description of the security update for SQL Server 2016 CU 2016-11-08 2016-10-31
13.0.2186.6 2015.130.2186.6 RTM CU 3205413 Cumulative update 3 for SQL Server 2016 Duplicate KB3194717 2016-11-08 2016-10-31
13.0.2170.0 2015.130.2170.0 RTM COD 3199171 On-demand hotfix update package for SQL Server 2016 CU2 2016-11-01 2016-10-11
13.0.2169.0 2015.130.2169.0 RTM COD 3195813 On-demand hotfix update package for SQL Server 2016 CU2 2016-10-26 2016-10-05
13.0.2164.0 2015.130.2164.0 RTM CU 3182270 Cumulative Update 2 for SQL Server 2016 2016-09-22 2016-09-09
13.0.2149.0 2015.130.2149.0 RTM CU 3164674 Cumulative Update 1 for SQL Server 2016 2016-07-25 2016-07-11
13.0.1722.0 2015.130.1722.0 RTM COD 3194716 MS16-136: Description of the security update for SQL Server 2016 GDR 2016-11-08 2016-10-31
13.0.1711.0 2015.130.1711.0 RTM COD 3179258 Processing a partition causes data loss on other partitions after the database is restored in SQL Server 2016 (1200) 2016-08-17 2016-07-30
13.0.1708.0 2015.130.1708.0 RTM COD 3164398 Critical update for SQL Server 2016 MSVCRT prerequisites 2016-06-04 2016-06-02
13.0.1601.5 2015.130.1601.5 RTM RTM Microsoft SQL Server 2016 RTM 2016-06-01 2016-04-29
13.0.1400.361 2015.130.1400.361 RC RC Microsoft SQL Server 2016 Community Technology Release Candidate 3 (RC3) 2016-04-15 2016-04-09
13.0.1300.275 2015.130.1300.275 RC RC Microsoft SQL Server 2016 Community Technology Release Candidate 2 (RC2) 2016-04-01 2016-03-26
13.0.1200.242 2015.130.1200.242 RC RC Microsoft SQL Server 2016 Community Technology Release Candidate 1 (RC1) 2016-03-18 2016-03-10
13.0.1100.288 2015.130.1100.288 RC RC Microsoft SQL Server 2016 Community Technology Release Candidate 0 (RC0) 2016-03-07 2016-02-29
13.0.1000.281 2015.130.1000.281 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 3.3 (CTP3.3) 2016-02-03 2016-01-28
13.0.900.73 2015.130.900.73 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 3.2 (CTP3.2) 2015-12-17 2015-12-10
13.0.801.12 2015.130.801.12 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 3.1 (CTP3.1 refresh) 2015-12-05 2015-12-01
13.0.801.111 2015.130.801.111 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 3.1 (CTP3.1) 2015-11-30 2015-11-21
13.0.700.242 2015.130.700.242 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 3.0 (CTP3.0) 2015-10-29 2015-10-26
13.0.600.65 2015.130.600.65 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 2.4 (CTP2.4) 2015-09-30 2015-09-20
13.0.500.53 2015.130.500.53 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 2.3 (CTP2.3) 2015-08-28 2015-08-24
13.0.407.1 2015.130.407.1 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 2.2 (CTP2.2) 2015-07-29 2015-07-22
13.0.400.91 2015.130.400.91 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 2.2 (CTP2.2) (withdrawn) 2015-07-22 2015-07-16
13.0.300.44 2015.130.300.444 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 2.1 (CTP2.1) 2015-06-14 2015-06-12
13.0.200.172 2015.130.200.172 CTP CTP Microsoft SQL Server 2016 Community Technology Preview 2 (CTP2) 2015-05-26 2015-05-21

Microsoft SQL Server 2014 Builds

Так выглядит результат выполнения запроса SELECT @@VERSION для актуальной версии SQL Server 2014 Developer Edition:

Установка MS SQL Server 2019

Хоть я и не являюсь администратором баз данных, тем не менее мне приходится довольно часто заниматься установкой MS SQL Server. Для себя я выработал определенную процедуру установки, которой и поделюсь в этой статье.

Ставить будем наиболее актуальную на сегодня версию MS SQL Server 2019. Начнем с подготовки.

Системные требования

Для установки SQL Server 2019 требуется минимум 6ГБ дискового пространства, 1ГБ ОЗУ и 64-разрядный процессор с тактовой частотой 1.4ГГц. Это официальные минимальные требования, необходимые для установки. Для работы, конечно же, этого недостаточно.

Установка SQL Server 2019 возможна на Windows Server 2016 или более поздней версии, а также на Windows 10 1507 или более поздней версии. Для серверных ОС поддерживается установка в режиме основных серверных компонентов (Server Core).

Подготовка дисков

Перед установкой необходимо подготовить диски, на которых будут располагаться базы данных. Рекомендуется размещать базы данных и логи транзакций на отдельных физических дисках, а также выделить отдельный диск под TempDB. В нашем случае хватит и одного диска, на котором я просто создам отдельные папки.

При создании и разбиении дисков необходимо установить размер сектора (Allocation unit size) равным 64Kb. Это можно сделать либо из оснастки управления дисками

форматирование диска из графической оснастки

либо, как вариант, из консоли PowerShell. Например:

New-Partition -DiskNumber 1 -DriveLetter D -UseMaximumSize
Format-Volume -DriveLetter D -AllocationUnitSize 64Kb -FileSystem NTFS -NewFileSystemLabel «Data» -Confirm:$false

форматирование диска из PowerShell

Выбор редакции SQL Server

Теперь выберем нужную редакцию (Edition). На данный момент SQL Server доступен в четырех редакциях:

• Express Edition — распространяется бесплатно, но имеет жесткие аппаратные ограничения. Может использовать не больше одного физического процессора или больше 4 ядер многоядерного процессора, не больше 1Гб ОЗУ, а максимальный размер базы ограничен 10Гб;
• Standard Edition — имеет ограничение в 4 сокета или 24 ядра, а также 128Гб на экземпляр сервера. Максимальный размер базы не ограничен;
• Enterprise Edition — не имеет ограничение по использованию вычислительных мощностей;
• Developer Edition — редакция для разработчиков, распространяется бесплатно. Не имеет ограничений, так же как и редакция Enterprise. Эту редакцию запрещено использовать в производственных средах, только для разработки и тестирования.

редакции SQL Server 2019

Примечание. У SQL Server есть еще редакция Web Edition, специально предназначенная для размещения веб-сайтов. На данный момент эта редакция доступна только для партнеров Microsoft по лицензии SPLA (Service Provider License Agreement), поэтому ее не рассматриваем.

Выбор схемы лицензирования

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

На сервер (SERVER + CAL)

В этой схеме лицензирования на каждый экземпляр SQL Server приобретается одна серверная лицензия. Лицензия назначается на сервер (физический или виртуальный) и не зависит от количества процессорных ядер. Каждая серверная лицензия позволяет клиентам запускать любое количество экземпляров SQL Server в одной операционной системе, физической или виртуальной. Дополнительно требуется приобрести лицензии клиентского доступа (CAL) для каждого устройства (Device CAL) и/или пользователя (User CAL), получающего доступ к экземпляру SQL Server или любому из его компонентов.

Каждая лицензия SQL Server CAL позволяет подключаться к неограниченному количеству баз. Клиентские лицензии можно переназначать другому пользователю или устройству, но не чаще, чем раз в 90 дней (если переназначение не связано с неисправностью устройства или отсутствием человека). Лицензии CAL можно использовать с предыдущими версиями SQL Server (право Downgrade). Например лицензии на SQL Server 2019 можно использовать для подключения к SQL Server 2016.

На ядро (PER CORE)

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

Редакция Enterprise лицензируется только по ядрам.

Чтобы лицензировать SQL Server, работающий в физической операционной системе, все физические ядра на сервере должны быть лицензированы. Лицензии выпускаются упаковками по 2 штуки (2-core pack). Для каждого физического процессора на сервере требуется минимум четыре лицензии ″на ядро″.

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

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

При необходимости полностью лицензированному серверу можно назначать дополнительные лицензии ″на ядро″. Каждая дополнительная лицензия позволяет развертывать SQL Server на одной дополнительной виртуальной машине.

Максимальная виртуализация может быть достигнута при использовании Software Assurance Unlimited Virtualization. В этом случае разрешается запускать любое количество экземпляров SQL Server 2019 Enterprise Edition на неограниченном количестве виртуальных машин на сервере со всеми физическими ядрами, полностью лицензированными для SQL Server Enterprise Edition и подпадающими под действие Software Assurance.

Примечание. Кроме двух основных схем y SQL Server 2019 есть отдельная схема лицензирования для кластеров (Big Data Cluster) и для контейнеров (docker и т.п.). Подробную инструкцию по лицензированию SQL Server 2019 можно найти по адресу https://docs.microsoft.com/answers/storage/attachments/96089-sql-server-2019-licensing-guide.pdf.

Загрузка дистрибутива

Загрузить дистрибутив MS SQL Server можно с сайта загрузок Microsoft. Для этого надо перейти по адресу https://www.microsoft.com/en-us/sql-server/sql-server-downloads и выбрать нужную редакцию для загрузки. С сайта загрузится веб-инсталлятор, с помощью которого можно либо сразу запустить установку, либо загрузить полный дистрибутив, что я и рекомендую сделать.

загрузка дистрибутива MS SQL Server 2019

Также стоит проверить список обновлений и при необходимости загрузить наиболее свежее.

Установка

Теперь все готово и можно приступать к установке. Монтируем образ с дистрибутивом и запускаем установщик. В открывшемся окне переходим на вкладку Installation и выбираем пункт меню New SQL Server stand-alone installation or add features to an existing installation.

Запуск установки SQL Server 2019

Выбираем редакцию, которую будем устанавливать. Можно выбрать одну из бесплатных Express или Developer, можно выбрать редакцию Evаluation (ознакомительная редакция SQL Server, которая предоставляет полный функционал Enterprise и работает в течении 180 дней)

выбор редакции для установки

или можно ввести имеющийся ключ продукта, который и определит устанавливаемую редакцию.

ввод ключа продукта

В коммерческих версиях ключ продукта уже изначально включен в дистрибутив, найти его можно в файле DefaultSetup.ini.

файл первоначальной конфигурации

Примечание. У SQL Server есть возможность изменить текущую редакцию продукта. Например можно редакцию Express обновить до Standard, а Standard до Enterprise. Это работает только в сторону повышения, понизить редакцию нельзя.

Переходим дальше и соглашаемся с лицензионным соглашением.

лицензионное соглашение

На следующей странице предлагается проверить наличие обновлений. Если согласиться, то установщик полезет на Microsoft Update в поисках обновлений. Это может занять довольно длительное время, да и потом я предпочитаю устанавливать обновления отдельно, поэтому галочку не отмечаем.

настройки обновления продукта

Теперь выбираем компоненты SQL Server, которые будем устанавливать. Это важный момент, поэтому остановимся на нем поподробнее. В SQL Server 2019 для установки доступны следующие компоненты:

На уровне отдельного экземпляра SQL Server (Instance Features)

• Database Engine Services – собственно сам движок SQL Server. Единственный обязательный к установке компонент;
SQL Server Replication – службы репликации. Репликация представляет собой набор технологий копирования и распространения данных и объектов баз данных между базами данных, а также синхронизации баз данных для поддержания согласованности. Компонент довольно часто используются, поэтому рекомендую отметить для установки;
• Machine Learning Services and Language Extensions – службы машинного обучения. Компонент SQL Server, который дает возможность выполнять скрипты на языках Java, Python и R в базе данных. Ставить стоит только в том случае, если есть явная необходимость. Для поддержки языка Java необходимо предварительно установить JDK или JRE, иначе установку продолжить не удастся;
• Full-Text and Semantic Extractions for Search – полнотекстовый и семантический поиск. Полнотекстовый поиск – поиск слов или фраз в текстовых данных, обычно используется для поиска текста в большом объёме данных, так как он значительно быстрей обычного поиска. Семантический поиск является расширением полнотекстового поиска, который позволяет решать более широкий круг задач. Например c помощью семантического поиска, можно находить ключевые слова, то есть наиболее статистически значимые слова документа. Можно находить слова, которые делают два документа похожими. Есть возможность искать документы, которые больше всего походят на данный документ. Компонент часто используется, поэтому я ставлю его по умолчанию, на всякий случай. Обратите внимание, что для семантического поиска вам также понадобится технология FILESTREAM (о ней чуть позже);
• Data Quality Services – службы повышения качества данных. Позволяет построить базу знаний и использовать ее для задач по обеспечению качества данных, таких как исправление, дополнение, стандартизация и устранение дубликатов. DQS позволяет выполнять очистку данных с использованием служб эталонных данных, расположенных в облаке и предоставляемых поставщиками эталонных данных. DQS также предоставляет функции профилирования, встроенные в задачи по обеспечению качества данных, что позволяет анализировать целостность данных;
• PolyBase Query Service For External Data – технология доступа к внешним данным. PolyBase позволяет экземпляру SQL Server запрашивать данные непосредственно из SQL Server, Oracle, Teradata, MongoDB, кластеров Hadoop, Cosmos DB и т.д. без необходимости устанавливать клиентское программное обеспечение для подключения. PolyBase позволяет с помощью запросов T-SQL объединить данные из внешних источников с данными из реляционных таблиц в экземпляре SQL Server.
• Analysis Services – сервис аналитики, также известен как Server Analysis Services (SSAS). Используется для бизнес-аналитики, анализа данных и создания отчетов, таких как Power BI, Excel, Reporting Services и другие подобных.

На уровне всего сервера (Shared Features)

• Machine Learning Server (Standalone) – изолированный сервер машинного обучения, который работает независимо от SQL Server;
Data Quality Client – автономное приложение, которое подключается к серверу DQS и позволяет выполнять операции по обеспечению качества данных. Предоставляет интуитивно понятный графический пользовательский интерфейс для очистки данных, интеллектуального анализа данных и административных задач в DQS.
Client Tools Connectivity – клиентские компоненты, предназначенные для обеспечения связи между клиентами и серверами. Включают сетевые библиотеки для DB-Library, OLEDB для OLAP, ODBC, ADODB и ADOMD+. Рекомендуется ставить обязательно;
• Integration Services – службы интеграции данных, известны также как SQL Server Integration Services (SSIS). Позволяют в удобном виде реализовать процесс переноса данных из одного источника в другой по технологии ETL (Extract, Transform, Load). Также SSIS можно использовать для автоматизации других процессов, например, задач связанных с обслуживанием баз данных или каких-либо действий с файлами в операционной системе;
• Client Tools Backwards Compatibility — требуется для обратной совместимости клиентских средств. Включает в себя SQL Distributed Management Objects (SQL-DMO) и Decision Support Objects (DSO). Рекомендую ставить;
• Client Tools SDK – пакет для разработчиков (Software Development Kit). Можно не ставить;
• Distributed Replay Controller/Client – функции распределенного воспроизведения. Используются для моделирования нагрузки и для различного рода тестирования производительности;
• SQL Client Connectivity SDK – содержит пакет SDK Native Client SQL Server (ODBC/OLE DB) для разработки приложений баз данных.
• Master Data Services – позволяет управлять главным набором данных организации. О том, что такое MDS можно узнать из этой статьи. Но скорее всего вам это не нужно ��

Примечание. Некоторые компоненты, такие как сервис отчетов (Reporting Services) и средства управления (Management Tools) отсутствуют в дистрибутиве, их предлагается загрузить отдельно.

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

выбор компонентов для установки

Отметив необходимые компоненты жмем Next и ждем окончания проверки на совместимость. Если установщик не обнаружит никаких проблем, то переходим к следующему этапу — выбору экземпляра (Instance) SQL Server.

На одну операционную систему можно установить до 50 экземпляров SQL Server. Для того, чтобы как то их различать, первый экземпляр называется экземпляром по умолчанию (Default Instance) с именем MSSQLSERVER, остальные называются именованными (Named Instance) и для них надо придумывать уникальное имя.

В нашем случае на сервере нет установленных экземпляров SQL Server, поэтому просто оставляем все по умолчанию и идем дальше.

выбор экземпляра сервера

На вкладке Service Accounts можно указать учетные записи, под которыми будут работать службы SQL Server. По умолчанию используются виртуальные учетные записи вида NT Service\ServiceName (напр. NT Service\MSSQLSERVER). Это локальные учетные записи, однако службы, запускаемые с виртуальными учетными записями, могут осуществлять доступ к сетевым ресурсам домена с использованием учетных данных компьютера в формате DomainName\ComputerName$.

Рекомендуемым вариантом является использование управляемых учетных записей служб (Managed Service Accounts, MSA), это самый безопасный и надежный вариант. Также можно использовать обычный доменный аккаунт, либо одну из встроенных учетных записей (LocalSystem, NetworkService и т.п.).

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

Поменяйте режим запуска службы агента (SQL Server Agent) на Automatic. Агент SQL Server — служба Microsoft Windows, выполняющая запланированные административные задачи, например создание резервной копии базы данных.

Также обратите внимание на скромную галочку внизу с названием ″Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine″. Эта галочка включает функцию мгновенной инициализации файлов (Instant File Initialization).

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

Примечание. Важно отметить, что Instant File Initialization работает только для файлов данных (MDF и NDF). Файлы лога (LDF) всегда инициализируются нулями.

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

настройки сервисов

Переходим на вкладку Collation. Параметр Collation определяет, как именно SQL Server должен сравнивать и сортировать строки. Это крайне важный параметр, который влияет на работу всего сервера БД. Его необходимо правильно указать при установке, поскольку потом изменить его крайне сложно. Значение Collation обычно указывается в системных требованиях приложения, которое буде использовать сервер БД.

По умолчанию Collation выбирается исходя из региональных настроек операционной системы. Так для русской версии системы по умолчанию будет выбрано Cyrillic_General_CI_AS, что означает следующее:

• Cyrillic_General — локаль или используемый язык;
• _CI (Case Insensitive) — без учета регистра;
•_AS (Accent Sensitive) — с учетом аксонов или диакритических знаков.

параметры сортировки

В следующем окне находятся все основные настройки ядра SQL. На вкладке Server Configuration устанавливаем режим аутентификации (Authentication Mode) и указываем пользователей, которые имею право на администрирование сервера. У SQL Server есть 2 режима аутентификации:

Windows Authentication Mode — проверка подлинности Windows. Является проверкой подлинности по умолчанию, поскольку обеспечивает более высокий уровень безопасности, чем проверка подлинности SQL Server. При подключении пользователя SQL Server не запрашивает его пароль и не выполняет проверку удостоверения, а проверяет достоверность учетных данных с помощью токена участника Windows в операционной системе. Режим проверки подлинности Windows использует протокол безопасности Kerberos, реализует политику паролей в отношении проверки сложности надежных паролей, поддерживает блокировку учетных записей и истечение срока пароля. Соединение, установленное с помощью проверки подлинности Windows, иногда называется доверительным соединением, поскольку SQL Server доверяет учетным данным, предоставляемым Windows;
• Mixed Mode — смешанный режим. В смешанном режиме включены как проверка подлинности Windows, так и проверка подлинности SQL Server. Проверка подлинности Windows доступна всегда, и отключить ее нельзя. Если используется проверка подлинности SQL Server, в SQL Server создаются имена входа, которые не основаны на учетных записях пользователей Windows. И имя пользователя, и пароль создаются с помощью SQL Server и хранятся в нем же. Пользователи, подключающиеся с помощью проверки подлинности SQL Server, должны предоставлять свои учетные данные (имя входа и пароль) каждый раз при установке соединения. При использовании проверки подлинности SQL Server необходимо задавать надежные пароли для всех учетных записей SQL Server .

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

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

Любая учетная запись Windows или SQL Server может быть указана в качестве системного администратора. Я обычно выбираю смешанный режим, а в качестве администраторов сервера добавляю встроенную группу локальных администраторов (BUILTIN\Administrators).

настройки авторизации

На вкладке Data Directories указываем расположение пользовательских баз и резервных копий. По умолчанию они располагаются на системном диске, где им совсем не место. По возможности рекомендуется размещать базы данных и логи транзакций на отдельных физических дисках.

настройки размещения баз

Отдельное внимание стоит уделить базе TempDB. Это системная база данных, в которой хранятся временные данные, созданные пользователями и внутренние объекты, создаваемые ядром СУБД. Эта база участвует практически во всех операциях с данными, поэтому ее параметры могут влиять на производительность всего сервера.

Для настройки доступны следующие параметры:

• Number of files – количество файлов данных. Рекомендуется создавать несколько файлов данных в зависимости от количества логических процессоров на сервере. Если логических процессоров меньше 8, рекомендуется создать файл данных для каждого процессора. Если логических процессоров 8 или больше, рекомендуется создать 8 файлов данных и оценить нагрузку на TempDB. Если мониторинг нагрузки покажет, что увеличение количества файлов оправдано, добавляйте по 4 файла данных за раз, но не больше общего числа логических процессоров.

• Initial size – начальный размер файлов данных. При каждой перезагрузке сервера TempDB создается заново, с начальным размером, а затем увеличивается по мере необходимости. Рекомендуется указывать размер файлов данных в зависимости от планируемой нагрузки. Если вы не можете заранее спланировать нагрузку, то оставьте размер по умолчанию. Для достижения максимальной производительности рекомендуется выделить для TempDB отдельный диск и установить суммарный размер файлов таким, чтобы полностью занять весь диск. Это позволит избежать постоянных операций увеличения файла.
Файлы данных должны иметь одинаковый размер, так как SQL Server использует алгоритм пропорционального заполнения, который повышает вероятность выделения памяти в файлах с большим объемом свободного пространства. Разделение TempDB на несколько файлов данных равного размера обеспечивает эффективное выполнение операций с высокой степенью параллелизма.

• Autogrowth – шаг увеличения файлов. Выбирается в зависимости от начального размера. На этапе установки можно оставить значение по умолчанию. Не рекомендуется ставить размер шага слишком большим, так как это вызовет существенные задержки при увеличении размера файла. И еще, если включена функция мгновенной инициализации файлов (Instant File Initialization), то ожидание блокировок на расширение файла будет намного меньше.

• Data Directories – директории для размещения файлов данных. Р екомендуется размещать файлы данных и журнала транзакций для временной базы на специально выделенных физических дисках, отдельно от операционной системы, файла подкачки и других баз данных. Если указать несколько директорий, файлы будут равномерно распределены по ним.

• TempDb Log file — лог файл у TempDB всего один, независимо от количества файлов данных. По настройкам стоит придерживаться таких же правил, как и для файлов данных. Если есть возможность, лог файлу также стоит выделить отдельный диск.

настройки размещения TempDB

Переходим на вкладку MaxDOP. На многопроцессорном компьютере при выполнении запроса SQL Server может использовать параллелизм, или, говоря проще – выполнять один запрос в несколько потоков. Параметр MaxDOP (Max Degree of parallelism) как раз и отвечает за параллельную обработку данных и определяет максимальное число процессоров, применяемых при выполнении одного запроса.

Параметр MaxDOP определяется редакцией SQL Server, типом процессора и операционной системой. Чтобы разрешить серверу самому определять максимальную степень параллелизма, установите 0 в качестве значения данного параметра. И наоборот, для отключения многопоточности присвойте параметру значение 1. Если указано значение, превышающее количество доступных процессоров, используется фактическое число доступных процессоров. Если у компьютера только один процессор, то значение параметра MaxDOP учитываться не будет.

Установка MAXDOP на 2, 4 или 8 обычно обеспечивает наилучшие результаты в большинстве случаев использования.

настройки многопоточности

Для максимальной производительности можно воспользоваться табличкой:

NUMA nodes Logical processors MAXDOP value
Одна ≤ 8 4, 2, или количество ядер (для 1 или 2-ядерного процессора)
Одна > 8 8, 4, or 2
Несколько ≤ 16 8, 4, or 2
Несколько > 16 16, 8, 4, or 2

Примечание. В данном случае под Numa Node подразумевается физический процессор (сокет).

На вкладке Memory можно указать максимально можно указать минимальный и максимальный объем оперативной памяти, который будет доступен для SQL Server.

При установке можно оставить значения по умолчанию, их всегда можно скорректировать по мере необходимости. Но надо помнить, что з начение по умолчанию позволяет SQL Server использовать столько памяти, сколько ему потребуется. Он cможет занять почти всю память ОС и вызвать проблемы с производительностью сервера. В самом простом случае можно следовать правилу — оставляем 8ГБ на нужды операционной системы, остальное отдаем SQL Server.

настройки памяти

На вкладке FILESTREAM можно включить технологию потокового доступа к данным. Технология FILESTREAM объединяет SQL Server с файловой системой NTFS, позволяя размещать большие двоичные данные ( документы, изображения, видео и т. д. ) непосредственно на файловой системе. С помощью инструкций Transact-SQL можно вставлять, обновлять, запрашивать, выполнять поиск и резервное копирование данных, а потоковый доступ к данным обеспечивает API файловой системы NTFS. Говоря проще, FILESTREAM позволяет серверу БД хранить данные на файловой системе и работать с ними.

По умолчанию функционал FILESTREAM отключен, и если вы не уверены в его необходимости, то оставьте его выключенным.

настройки FILESTREAM

Завершив настройки жмем Next и переходим к финальной части установки. Здесь мы можем проверить настройки и при необходимости вернуться назад и поправить их.

Также обратите внимание на ссылку внизу, она указывает на расположение конфигурационного файла ConfigurationFile.ini. Все произведенные вами настройки сохраняютяс в этом файле. Этот файл в дальнейшем можно использовать для автоматизации процесса установки. Для этого достаточно запустить установщик из командной строки и указать путь к файлу в качестве параметра. Например:

финальная проверка

Запускаем установку и дожидаемся ее завершения.

завершение установки

Но это еще не все. Как я уже говорил, в дистрибутив не входят средства управления, их надо загружать отдельно. В принципе можно обойтись без них, к серверу можно подключаться удаленно. Но это не очень удобно, на мой взгляд, поэтому я всегда ставлю SQL Server Management Studio. Найти ее можно просто введя в поисковике SSMS. Также в меню установочного диска есть пункт Install SQL Server Management Tools, выбрав который вы автоматически попадете на страницу загрузки.

Сама установка не требует никаких усилий, надо просто запустить инсталлятор, нажать Install

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *