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

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Как узнать текущую версию SQL Server?

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

  1. Использование T-SQL запроса SELECT @@VERSION:

    Это самый простой и распространенный способ. Подключившись к экземпляру SQL Server с помощью SQL Server Management Studio (SSMS) или любого другого инструмента для выполнения SQL-запросов, мы можем выполнить следующую команду:

    SELECT @@VERSION;

    Этот запрос вернет строку с полной информацией о версии, редакции, разрядности операционной системы и дате сборки. Например, для версии, упомянутой в исходном сообщении, вывод будет выглядеть примерно так:

    
    Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64)   Jul  9 2008 14:17:44   Copyright (c) 1988-2008 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
    

    Из этой строки мы видим, что перед нами Microsoft SQL Server 2008 (RTM), что означает Release To Manufacturing — первоначальный выпуск без каких-либо установленных пакетов обновлений (Service Packs).

  2. Использование T-SQL функции SERVERPROPERTY:

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

    
    SELECT
        SERVERPROPERTY('ProductName') AS ProductName,
        SERVERPROPERTY('ProductVersion') AS ProductVersion,
        SERVERPROPERTY('ProductLevel') AS ProductLevel,
        SERVERPROPERTY('Edition') AS Edition,
        SERVERPROPERTY('EngineEdition') AS EngineEdition;
    
    • ProductName: Полное имя продукта (например, "Microsoft SQL Server Enterprise Edition").
    • ProductVersion: Номер версии (например, "10.0.1600.22").
    • ProductLevel: Уровень продукта (например, "RTM", "SP1", "SP2", "CU1").
    • Edition: Редакция SQL Server (например, "Enterprise Edition (64-bit)").
    • EngineEdition: Тип движка (например, 3 для Standard/Enterprise/Developer).
  3. Через SQL Server Management Studio (SSMS) Обозреватель объектов:

    При подключении к экземпляру сервера в окне "Обозреватель объектов" (Object Explorer) SSMS, версия и редакция SQL Server часто отображаются в скобках рядом с именем сервера. Это быстрый визуальный способ проверки.

  4. Через файлы журнала ошибок (Error Log):

    В начале каждого файла журнала ошибок SQL Server (обычно расположенных в папке `MSSQL\Log` внутри каталога установки SQL Server) содержится подробная информация о версии, редакции и разрядности сервера. Это может быть полезно, если у нас нет возможности подключиться к серверу напрямую через SSMS.

Анализируем текущую версию: SQL Server 2008 RTM

Как мы выяснили из сообщения 0 и 5, у нас установлен Microsoft SQL Server 2008 (RTM) - 10.0.1600.22. Этот номер сборки четко указывает на то, что это оригинальный выпуск 2008 года, без каких-либо установленных пакетов обновлений (Service Packs) или накопительных обновлений (Cumulative Updates).

Важно понимать, что поддержка SQL Server 2008 давно прекращена. Изначальная дата окончания основной поддержки была 8 июля 2014 года, а расширенной поддержки (Extended Support) — 9 июля 2019 года. Это означает, что для данной версии больше не выпускаются обновления безопасности, исправления ошибок или техническая поддержка со стороны Microsoft. Использование устаревшей версии SQL Server создает серьезные риски для безопасности данных и стабильности работы всей информационной системы.

Для SQL Server 2008 последним выпущенным пакетом обновлений является Service Pack 4 (SP4) с номером сборки 10.00.6000. Даже установка SP4 не вернет версию в поддерживаемое состояние, но значительно повысит ее стабильность и исправит множество известных ошибок, накопившихся со временем.

Обновление SQL Server 2008 до последнего Service Pack

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

  1. Загрузка Service Pack:

    Нам потребуется найти и загрузить установочный файл SQL Server 2008 Service Pack 4 (SP4). Рекомендуем всегда загружать обновления с официального сайта Microsoft или доверенных источников.

  2. Подготовка к установке:

    Перед началом установки Service Pack необходимо выполнить несколько важных подготовительных шагов:

    • Полное резервное копирование: Обязательно создайте полные резервные копии всех баз данных, системных баз данных (master, msdb, model) и конфигурационных файлов. Это наш "спасательный круг" на случай непредвиденных проблем.
    • Проверка свободного места: Убедитесь, что на диске достаточно свободного места для установки обновления.
    • Закрытие активных соединений: Настоятельно рекомендуем остановить работу всех приложений, использующих SQL Server (включая "1С:Предприятие"), чтобы избежать конфликтов и обеспечить чистое обновление. В идеале, перевести SQL Server в однопользовательский режим или остановить службу перед началом установки.
    • Проверка требований: Убедитесь, что операционная система соответствует минимальным требованиям для установки Service Pack.
  3. Процесс установки Service Pack:

    После загрузки и подготовки мы можем приступить к установке.

    Запустите установочный файл Service Pack. В большинстве случаев это будет выглядеть следующим образом:

    • Откройте Центр установки SQL Server.
    • Перейдите в раздел "Обновление" (Upgrade) или "Установка Service Pack" (Service Pack installation).
    • Следуйте указаниям мастера установки. Он проверит необходимые компоненты, покажет список экземпляров SQL Server, доступных для обновления. Выберите нужный экземпляр.
    • После завершения установки перезапустите службу SQL Server, если это не будет сделано автоматически.
  4. Проверка версии после обновления:

    После установки Service Pack обязательно снова выполните запрос SELECT @@VERSION, чтобы убедиться, что номер сборки изменился на 10.00.6000 (для SP4). Также проверьте логи SQL Server на предмет ошибок.

Планирование и выполнение обновления до современной версии SQL Server (например, SQL Server 2019/2022)

Обновление до более современной версии SQL Server (такой как SQL Server 2019 или 2022) — это гораздо более серьезный и ответственный процесс, чем установка Service Pack. Однако это крайне необходимо для обеспечения максимальной производительности, безопасности и доступности всех современных функций, которые могут значительно ускорить работу "1С:Предприятие" и других приложений.

Мы рассмотрим основные методы и шаги для успешной миграции.

Методы обновления

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

  1. Обновление "на месте" (In-place Upgrade):

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

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

    Для SQL Server 2008 "на месте" можно обновиться до SQL Server 2012 или 2014, а затем уже на новый сервер с современной ОС и SQL Server 2019/2022. Однако этот путь все равно считается рискованным и многоступенчатым.

  2. Параллельная миграция (Side-by-side Migration):

    Этот метод является предпочтительным и наиболее безопасным, особенно при переходе с сильно устаревших версий. Он включает установку новой версии SQL Server на отдельный новый сервер (или виртуальную машину), а затем перенос баз данных и других объектов со старого сервера на новый.

    • Преимущества:
      • Минимальное время простоя: Старый сервер продолжает работать, пока мы настраиваем и тестируем новый. Переключение происходит быстро.
      • Безопасность: В случае проблем с новой версией, мы всегда можем вернуться к старой.
      • Тестирование: Позволяет тщательно протестировать работу "1С:Предприятие" и других приложений на новой версии SQL Server до окончательного переключения.
      • Чистая установка: Позволяет начать с "чистого листа" на новом оборудовании или в новой операционной системе.
    • Недостатки: Требует наличие дополнительного сервера и более сложного планирования.

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

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

  1. Data Migration Assistant (DMA):

    Это современный инструмент, который заменил старый Upgrade Advisor. DMA анализирует базы данных на исходном сервере и выявляет потенциальные проблемы совместимости, устаревшие функции, изменения в поведении, которые могут повлиять на работу приложений после обновления. Инструмент также может помочь непосредственно в процессе миграции баз данных и системных объектов.

    Мы настоятельно рекомендуем использовать DMA для оценки совместимости перед любой серьезной миграцией.

  2. Компонент миграции в SQL Server Management Studio (SSMS):

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

Пути обновления

Прямое обновление "на месте" с SQL Server 2008 до SQL Server 2022 не поддерживается. Поэтому наиболее надежный и рекомендуемый путь — это параллельная миграция баз данных на новый сервер с установленным SQL Server 2019 или 2022.

Разберем по шагам процесс параллельной миграции:

  1. Подготовка нового сервера:
    • Установите новую операционную систему (например, Windows Server 2019/2022).
    • Установите выбранную версию SQL Server (например, SQL Server 2019 или 2022) на новый сервер. Убедитесь, что установлена актуальная редакция (Standard, Enterprise) и все необходимые компоненты.
    • Примените все последние накопительные обновления (Cumulative Updates) для новой версии SQL Server.
  2. Резервное копирование и восстановление баз данных:
    • На старом сервере SQL Server 2008 выполните полное резервное копирование всех баз данных, которые необходимо перенести (включая базы 1С).
    • Скопируйте файлы резервных копий (.bak) на новый сервер.
    • На новом сервере с помощью SSMS восстановите эти базы данных. При восстановлении мы можем указать новые пути для файлов данных и логов, если это необходимо.
  3. Настройка уровня совместимости:

    После восстановления базы данных на новом сервере она, скорее всего, сохранит свой исходный уровень совместимости (например, 100 для SQL Server 2008). Чтобы воспользоваться всеми преимуществами и оптимизациями новой версии SQL Server, необходимо изменить уровень совместимости базы данных.

    Это можно сделать через свойства базы данных в SSMS или с помощью T-SQL запроса:

    
    ALTER DATABASE [ИмяВашейБазыДанных] SET COMPATIBILITY_LEVEL = 150; -- Для SQL Server 2019
    -- ALTER DATABASE [ИмяВашейБазыДанных] SET COMPATIBILITY_LEVEL = 160; -- Для SQL Server 2022
    

    Уровень 150 соответствует SQL Server 2019, 160 — SQL Server 2022. Изменение уровня совместимости позволит использовать новые возможности оптимизатора запросов и другие улучшения.

  4. Перенос системных объектов:

    Помимо самих баз данных, нам потребуется перенести системные объекты, такие как:

    • Имена для входа (логины): Создайте на новом сервере все необходимые логины SQL Server и сопоставьте их с пользователями в перенесенных базах данных. Обратите внимание на сохранение SID логинов, если мы переносим логины, основанные на SQL Server аутентификации, чтобы избежать проблем с доступом. Можно использовать скрипты или инструменты миграции.
    • Задания агента SQL Server (SQL Server Agent Jobs): Если у нас есть настроенные задания (например, резервное копирование, регламентные операции 1С), их необходимо пересоздать или перенести на новый сервер.
    • Связанные серверы (Linked Servers): Если используются, также перенесите их конфигурацию.

Действия после обновления

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

  1. Обновить статистику для всех баз данных:

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

    EXEC sp_updatestats; -- Выполнить для каждой базы данных

    Или, для всех баз данных:

    
    DECLARE @db_name VARCHAR(255)
    DECLARE db_cursor CURSOR FOR
    SELECT name FROM sys.databases WHERE state = 0 AND is_read_only = 0
    OPEN db_cursor
    FETCH NEXT FROM db_cursor INTO @db_name
    WHILE @@FETCH_STATUS = 0
    BEGIN
        EXEC ('USE [' + @db_name + ']; EXEC sp_updatestats;');
        FETCH NEXT FROM db_cursor INTO @db_name
    END
    CLOSE db_cursor
    DEALLOCATE db_cursor
    
  2. Выполнить проверку целостности баз данных:

    Убедимся в отсутствии повреждений после переноса с помощью команды DBCC CHECKDB для каждой базы данных.

    DBCC CHECKDB ('[ИмяВашейБазыДанных]') WITH NO_INFOMSGS;
  3. Провести полное тестирование функциональности "1С:Предприятие":

    Запустите все ключевые процессы, отчеты, обработки в "1С", которые интенсивно работают с базой данных. Убедитесь, что все работает корректно и, возможно, даже быстрее. Проверьте производительность, проанализируйте медленные запросы.

  4. Обновить параметры подключения для приложений:

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

Совместимость с 1С

При выборе новой версии SQL Server крайне важно убедиться, что она официально поддерживается вашей версией платформы "1С:Предприятие". Например, для полноценной работы с Microsoft SQL Server 2019 рекомендуется использовать версию платформы "1С:Предприятие" 8.3.17 и выше. Более старые версии платформы 1С могут не использовать все преимущества нового SQL Server или иметь проблемы совместимости. Всегда проверяйте актуальную информацию о совместимости в официальной документации от 1С.

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

← На главную