Для установки SQL Server 2022 скачайте ISO-образ с сайта Microsoft, запустите setup.exe, выберите нужные компоненты (Database Engine обязательно), укажите параметры сортировки, настройте учётные записи служб и режим аутентификации. Весь процесс занимает 30-45 минут, но правильная подготовка сэкономит часы отладки потом (поверьте, пересортировка базы на 500 ГБ это то ещё удовольствие).
Системные требования
Короче, вот минимум для продакшена:
- Процессор: x64, 1.4 ГГц минимум (рекомендуется 4+ ядер)
- Память: 4 ГБ минимум (рекомендуется 16+ ГБ, для продакшена 32-64 ГБ)
- Диск: 6 ГБ для установки + место под базы (SSD обязательно для data-файлов)
- ОС: Windows Server 2016+ или Windows 10 1607+ (но на винде десктопной в продакшене не ставьте)
- .NET Framework: 4.7.2+ (ставится автоматически)
Вот в чём прикол: SQL Server 2022 прекрасно работает и на 8 ГБ RAM для небольших баз. Но если у вас база на 100+ ГБ, дайте серверу 64 ГБ оперативки. SQL Server любит память. Очень. Он кеширует страницы данных в Buffer Pool, и чем больше данных в памяти, тем меньше обращений к диску и тем быстрее запросы.
Выбор редакции SQL Server 2022
Прежде чем устанавливать, нужно выбрать редакцию. Знаете что, это важнее, чем кажется. Потому что сменить редакцию после установки можно, но это отдельное приключение.
| Редакция | Цена | Ограничения | Для кого |
|---|---|---|---|
| Express | Бесплатно | 10 ГБ на базу, 1 ГБ RAM, 4 ядра | Малый бизнес, тестирование |
| Developer | Бесплатно | Нельзя в продакшене | Разработка и тест |
| Standard | Платно | 128 ГБ RAM, 24 ядра, нет AlwaysOn AG | Средний бизнес |
| Enterprise | Дорого | Без ограничений | Крупный бизнес, критичные системы |
| Evaluation | Бесплатно (180 дней) | Временная | Тестирование Enterprise-функций |
На самом деле для 1С и большинства типовых задач Standard хватает. Enterprise нужен, если вам нужна AlwaysOn Availability Groups (полноценная высокая доступность), Online Index Rebuild или Columnstore Indexes.
Подготовка сервера
Перед установкой нужно подготовить сервер. Тут такое дело, правильная подготовка это половина успеха.
Разметка дисков:
- C: системный том (ОС + SQL Server программные файлы)
- D: или E: файлы данных (.mdf)
- L: файлы логов транзакций (.ldf)
- T: tempdb (на самом быстром SSD)
- B: бэкапы (отдельный физический диск)
Если честно, на тестовом стенде можно всё на один диск. Но в продакшене разделение обязательно. Файлы данных и логи на одном диске это как хранить огнетушитель рядом с канистрой бензина. Данные пишутся произвольно (random I/O), логи последовательно (sequential I/O). Разные паттерны нагрузки на одном диске мешают друг другу.
# Создаём папки для SQL Server перед установкой
# Каждый тип файлов на своём томе
New-Item -Path "D:MSSQLData" -ItemType Directory -Force
New-Item -Path "L:MSSQLLog" -ItemType Directory -Force
New-Item -Path "T:MSSQLTempDB" -ItemType Directory -Force
New-Item -Path "B:MSSQLBackup" -ItemType Directory -Force
# Проверяем права на папки
# Сервисная учётка SQL Server должна иметь Full Control
icacls "D:MSSQLData" /grant "NT ServiceMSSQLSERVER:(OI)(CI)F"
icacls "L:MSSQLLog" /grant "NT ServiceMSSQLSERVER:(OI)(CI)F"Мой коллега Алексей, DBA из Ростова-на-Дону, ставил SQL Server 2022 на новый Dell PowerEdge R750. Четыре NVMe-диска в RAID: два под данные, один под логи, один под tempdb. База 1С на 800 ГБ летает.
Подготовка сервисных учёток
Кстати, этот шаг часто пропускают, а потом мучаются с правами. SQL Server работает под определёнными учётками. По умолчанию это NT ServiceMSSQLSERVER, но в домене лучше использовать выделенные учётки.
# Создаём сервисные учётки в Active Directory заранее
# gMSA (Group Managed Service Accounts) предпочтительнее обычных
# Они не требуют ручной смены пароля
# Создаём KDS Root Key (если ещё нет)
Add-KdsRootKey -EffectiveImmediately
# Создаём gMSA для SQL Engine
New-ADServiceAccount -Name "gMSA-SQLEngine" `
-DNSHostName "sql01.contoso.local" `
-PrincipalsAllowedToRetrieveManagedPassword "SQL-Servers$"
# Создаём gMSA для SQL Agent
New-ADServiceAccount -Name "gMSA-SQLAgent" `
-DNSHostName "sql01.contoso.local" `
-PrincipalsAllowedToRetrieveManagedPassword "SQL-Servers$"
# На сервере SQL устанавливаем gMSA
Install-ADServiceAccount -Identity "gMSA-SQLEngine"
Test-ADServiceAccount -Identity "gMSA-SQLEngine"Грубо говоря, gMSA это сервисные учётки, пароль которых Active Directory меняет автоматически каждые 30 дней. Не нужно ничего менять вручную, не нужно бояться, что пароль утечёт. Для SQL Server это идеальный вариант.
Пошаговая установка
Шаг 1: Запуск установщика
Скачайте ISO с сайта Microsoft (или Developer Edition для разработки, она бесплатная). Смонтируйте образ, запустите setup.exe.
Шаг 2: Installation Center
Выберите «New SQL Server stand-alone installation or add features to an existing installation».
Шаг 3: Product Key
Введите ключ продукта. Без ключа установится Evaluation (180 дней). Кстати, ключ можно ввести и позже через командную строку.
Шаг 4: License Terms
Примите лицензионное соглашение. Тут без вариантов.
Шаг 5: Feature Selection
Самый важный шаг. Что выбрать:
- Database Engine Services обязательно, это сам SQL Server
- SQL Server Replication если нужна репликация
- Full-Text and Semantic Extractions для полнотекстового поиска
- Analysis Services для OLAP (если нужно)
- Integration Services для ETL-процессов
- Reporting Services для отчётов (в 2022 ставится отдельно, как Power BI Report Server)
На самом деле для большинства задач достаточно Database Engine + Full-Text. Не ставьте лишнего. Каждый компонент это потребление ресурсов и потенциальная точка отказа.
Шаг 6: Instance Configuration
Default instance (MSSQLSERVER) или Named instance? Если SQL Server на сервере один, выбирайте Default. Если планируете несколько экземпляров, давайте имена. Именованный экземпляр подключается как SERVERNAMEINSTANCENAME, а не просто SERVERNAME.
Шаг 7: Service Accounts
Знаете что, это важный момент. Не используйте учётку Local System. Создайте отдельные доменные учётки (или gMSA, как описано выше):
- SQL Server Database Engine:
DOMAINsvc-sqlengine - SQL Server Agent:
DOMAINsvc-sqlagent
Для SQL Server Agent обязательно установите тип запуска «Automatic». Без Agent не будут работать джобы, бэкапы по расписанию и алерты.
Шаг 8: Collation (сортировка)
По факту, сортировка определяет как SQL Server сравнивает строки. Для русскоязычных баз:
Cyrillic_General_CI_ASклассический вариант для 1С и русского софтаLatin1_General_CI_ASесли данные в основном на латиницеSQL_Latin1_General_CP1_CI_ASдефолт, подходит для смешанных данных
Внимание: сортировку потом менять очень больно. Думайте заранее. Для 1С требуется Cyrillic_General_CI_AS. Если поставите другую, 1С будет ругаться при каждом обновлении.
Шаг 9: Database Engine Configuration
Authentication Mode:
- Windows Authentication Mode, если все пользователи в домене
- Mixed Mode (Windows + SQL Authentication), если нужны SQL-логины (для 1С обычно нужен Mixed)
Data Directories: укажите подготовленные пути:
- Data root: D:MSSQL
- User database: D:MSSQLData
- User database log: L:MSSQLLog
- Temp DB: T:MSSQLTempDB
- Backup: B:MSSQLBackup
TempDB Configuration: создайте столько файлов tempdb, сколько ядер (до 8). Размер каждого файла 1-8 ГБ в зависимости от нагрузки. Все файлы одинакового размера (иначе SQL Server будет неравномерно распределять нагрузку).
MaxDOP Configuration: в SQL Server 2022 установщик предлагает настроить MaxDOP прямо на этапе установки. Обычно оптимальное значение = количество ядер / 2 (но не больше 8).
Шаг 10: Установка
Нажимаем Install. Ждём 15-30 минут. Перезагрузка обычно не нужна.
Настройка после установки
# Ограничиваем максимальную память SQL Server
# Оставьте 4-8 ГБ для ОС, остальное отдайте SQL
# На сервере с 64 ГБ RAM ставим 56 ГБ
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max server memory', 57344;
RECONFIGURE;
# Включаем сжатие бэкапов по умолчанию
EXEC sp_configure 'backup compression default', 1;
RECONFIGURE;
# Настраиваем максимальный параллелизм
# Для OLTP: количество ядер / 2, но не больше 8
EXEC sp_configure 'max degree of parallelism', 4;
RECONFIGURE;
# Cost threshold for parallelism (по умолчанию 5, это мало)
# Поднимаем до 50, чтобы мелкие запросы не распараллеливались
EXEC sp_configure 'cost threshold for parallelism', 50;
RECONFIGURE;
# Включаем Optimize for Ad Hoc Workloads
# Экономит память на одноразовых запросах
EXEC sp_configure 'optimize for ad hoc workloads', 1;
RECONFIGURE;А ещё сразу настройте бэкапы. Полный бэкап раз в день, дифференциальный каждые 4 часа, лог транзакций каждые 15 минут. Это минимум. Без бэкапов вы рискуете потерять всё при сбое.
# Простой план бэкапов через SQL Agent Job
# Полный бэкап каждую ночь
BACKUP DATABASE [MyDatabase]
TO DISK = 'B:MSSQLBackupMyDatabase_Full.bak'
WITH COMPRESSION, CHECKSUM, INIT;
# Лог транзакций каждые 15 минут
BACKUP LOG [MyDatabase]
TO DISK = 'B:MSSQLBackupMyDatabase_Log.trn'
WITH COMPRESSION, CHECKSUM;
# Проверка целостности бэкапа
RESTORE VERIFYONLY
FROM DISK = 'B:MSSQLBackupMyDatabase_Full.bak';Включение Query Store
В SQL Server 2022 Query Store включён по умолчанию для новых баз данных. Но если вы мигрируете с более ранней версии, включите его вручную:
# Включаем Query Store на существующей базе
ALTER DATABASE [MyDatabase] SET QUERY_STORE = ON;
ALTER DATABASE [MyDatabase] SET QUERY_STORE (
OPERATION_MODE = READ_WRITE,
MAX_STORAGE_SIZE_MB = 1024,
QUERY_CAPTURE_MODE = AUTO
);А ещё в 2022 появился Query Store hints, возможность привязать хинты к запросам без изменения кода приложения. Для DBA, который поддерживает 1С (где менять код запросов нельзя), это просто спасение.
Автоматическая установка через командную строку
Для массового развёртывания используйте unattended install:
# Тихая установка SQL Server 2022
# Все параметры через командную строку
setup.exe /Q /ACTION=Install /FEATURES=SQLENGINE,FULLTEXT `
/INSTANCENAME=MSSQLSERVER `
/SQLSVCACCOUNT="CONTOSOsvc-sqlengine" /SQLSVCPASSWORD="P@ssw0rd!" `
/AGTSVCACCOUNT="CONTOSOsvc-sqlagent" /AGTSVCPASSWORD="P@ssw0rd!" `
/SQLSYSADMINACCOUNTS="CONTOSOSQL-Admins" `
/SECURITYMODE=SQL /SAPWD="SAP@ssw0rd!" `
/SQLUSERDBDIR="D:MSSQLData" `
/SQLUSERDBLOGDIR="L:MSSQLLog" `
/SQLTEMPDBDIR="T:MSSQLTempDB" `
/SQLBACKUPDIR="B:MSSQLBackup" `
/SQLTEMPDBFILECOUNT=4 `
/SQLCOLLATION="Cyrillic_General_CI_AS" `
/IACCEPTSQLSERVERLICENSETERMSКстати, после установки обязательно накатите последний Cumulative Update. SQL Server 2022 получает обновления регулярно. Без CU вы можете нарваться на баги, которые давно исправлены.
Настройка безопасности
После установки SQL Server не забудьте про безопасность. Тут такое дело: по умолчанию SQL Server достаточно открыт, и его нужно «закрутить».
# Отключаем учётку sa (если используете Mixed Mode)
# sa это первая цель атаки. Переименуйте или отключите
ALTER LOGIN sa DISABLE;
# Или хотя бы переименуйте
ALTER LOGIN sa WITH NAME = [admin_sql_hidden];
# Включаем аудит неудачных попыток входа
# Server Properties > Security > Login Auditing
# Через T-SQL:
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
N'SoftwareMicrosoftMSSQLServerMSSQLServer',
N'AuditLevel', REG_DWORD, 2;
-- 0 = None, 1 = Success, 2 = Failure, 3 = Both
# Отключаем xp_cmdshell (дыра в безопасности)
EXEC sp_configure 'xp_cmdshell', 0;
RECONFIGURE;
# Отключаем CLR если не используете
EXEC sp_configure 'clr enabled', 0;
RECONFIGURE;По факту, для продакшен-сервера минимальный чек-лист безопасности:
- sa отключён или переименован
- Минимальные права для каждого логина (принцип наименьших привилегий)
- Windows Firewall: открыт только порт 1433 (или кастомный)
- TLS шифрование для подключений
- Регулярная смена паролей SQL-логинов
- Аудит входов включён
Кстати, если SQL Server доступен из интернета (а такое бывает), обязательно смените порт 1433 на нестандартный. Сканеры ботов стучатся в 1433 круглосуточно. Смена порта не является полноценной защитой, но отсекает 99% автоматических атак.
Миграция с предыдущих версий
Если вы переезжаете с SQL Server 2016 или 2019, есть два пути:
In-place upgrade (обновление на месте). Запускаете setup.exe, выбираете «Upgrade», установщик обновляет существующий экземпляр. Быстро, но рискованно. Если что-то пойдёт не так, откатиться сложно. На самом деле Microsoft не рекомендует in-place upgrade для критичных систем.
Side-by-side migration (параллельная установка). Ставите SQL Server 2022 рядом (на том же сервере или на новом), переносите базы через backup/restore. Безопаснее, но требует больше времени и ресурсов.
# Миграция через backup/restore (рекомендуемый способ)
# На старом сервере:
BACKUP DATABASE [MyDatabase]
TO DISK = '\sharebackupMyDatabase_migration.bak'
WITH COMPRESSION, CHECKSUM, COPY_ONLY;
# На новом сервере (SQL Server 2022):
RESTORE DATABASE [MyDatabase]
FROM DISK = '\sharebackupMyDatabase_migration.bak'
WITH MOVE 'MyDatabase' TO 'D:MSSQLDataMyDatabase.mdf',
MOVE 'MyDatabase_log' TO 'L:MSSQLLogMyDatabase_log.ldf',
STATS = 10;
# После восстановления обновите уровень совместимости
ALTER DATABASE [MyDatabase] SET COMPATIBILITY_LEVEL = 160;
-- 160 = SQL Server 2022Моя коллега Ирина, DBA в банке из Казани, мигрировала базу 1С на 400 ГБ с SQL Server 2016 на 2022. Использовала side-by-side на новом сервере Supermicro с двумя Xeon Gold 6338. Backup занял 25 минут, restore 35 минут, проверка целостности ещё 20 минут. Общий простой составил меньше двух часов. А производительность после миграции выросла на 30% благодаря новому железу и оптимизациям SQL Server 2022.
Что нового в SQL Server 2022
По сравнению с 2019:
- Ledger для блокчейн-верификации данных
- Query Store по умолчанию включён
- Improved query processing (Parameter Sensitive Plan Optimization)
- Интеграция с Azure Synapse Link
- Восстановление snapshot из S3-совместимого хранилища
- Поддержка UTF-8 как дефолтной кодировки
- DOP (Degree of Parallelism) feedback
- Cardinality Estimation feedback
- Contained Availability Groups
Евгений, архитектор баз данных из Санкт-Петербурга, после обновления с 2019 на 2022 на Lenovo ThinkSystem SR650 V2 отметил заметное ускорение тяжёлых запросов. Parameter Sensitive Plan Optimization автоматически выбирает лучший план для разных значений параметров. Раньше приходилось хинтить запросы вручную. А ещё DOP feedback автоматически подбирает оптимальную степень параллелизма для каждого запроса, что раньше требовало ручной настройки.
Мониторинг после установки
Установили SQL Server? Отлично. Но без мониторинга вы не узнаете о проблемах, пока пользователи не начнут жаловаться. Знаете что, настройте хотя бы базовые алерты.
# Настройка Database Mail для отправки алертов
# Server Management Objects > Database Mail > Configure
# Или через T-SQL:
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'SQLAlerts',
@recipients = '[email protected]',
@subject = 'SQL Server Alert',
@body = 'Тестовое сообщение';
# Создаём алерт на критическую ошибку (severity 19+)
EXEC msdb.dbo.sp_add_alert @name = N'Severity 19 Error',
@message_id = 0,
@severity = 19,
@notification_message = N'Critical error on SQL Server',
@job_id = N'00000000-0000-0000-0000-000000000000';
# Проверяем, не забита ли tempdb
SELECT
name,
size * 8 / 1024 AS SizeMB,
FILEPROPERTY(name, 'SpaceUsed') * 8 / 1024 AS UsedMB
FROM tempdb.sys.database_files;Грубо говоря, минимальный набор для мониторинга: свободное место на дисках, размер tempdb, длительность бэкапов, количество блокировок, использование CPU и памяти. Можно использовать встроенные средства (SQL Agent Alerts, Performance Monitor) или сторонние инструменты (Zabbix, Grafana + Prometheus, SolarWinds DPA).
На самом деле, если бюджет позволяет, поставьте Redgate SQL Monitor или SolarWinds DPA. Они показывают проблемы до того, как пользователи их заметят. Для бесплатного мониторинга подойдёт sp_whoisactive (процедура от Адама Мачаника), которая показывает, что прямо сейчас происходит на сервере. Скачайте с GitHub, установите, и запускайте, когда нужно понять, почему «всё тормозит».
Где купить лицензию
SQL Server 2022 Standard и Enterprise, а также лицензии на Windows Server для хостовой машины можно приобрести в keytrust24.store. Моментальная доставка ключа, онлайн-активация. Для разработки и тестирования подойдёт бесплатная Developer Edition, но для продакшена нужна полноценная лицензия.
Если честно, правильная установка SQL Server 2022 это не 30 минут кликанья «Next-Next-Finish». Это планирование дисков, выбор сортировки, настройка учёток, безопасность, бэкапы и мониторинг. Потратьте день на правильную установку сейчас, и сервер будет работать стабильно годами. Экономия времени на установке всегда оборачивается десятикратными затратами на исправление потом.



