Механизм «Планы обслуживания» и механизм заданий MS SQL Server

Настройка сервера 1С является достаточно сложной задачей, требующей определенной теоретической подготовки. Для того, чтобы необходимая конфигурация работала без проблем, важно хотя бы на минимальном уровне разобраться с тем, что же такое база данных, технологическая платформа, аппаратное обеспечение сервера, чем отличается SSD диск от HDD, что такое регистровая память, каким образом производится лицензирование при помощи ключа аппаратного шифрования данных.

Ошибка в MS SQL при работе с 1С:Предприятие версии 3

Posted by Makc —

На сервере под управлением Windows Server 2008 R2 Enterprise edition + SP1 64 bit работает СУБД Microsoft SQL Server 2005. Сервер является выделенным для работы 1С:Предприятие версии 8.2. После установки на этот же компьютер сервера 1С:Предприятие версии 8.3 при работе с бухгалтерскими базами, использующими новую конфигурацию 3.0, появились ошибки несоответствия параметров сортировки.

Ошибки выглядели следующим образом:

Ошибка СУБД: Microsoft SQL Native Client: Cannot resolve the collation conflict between "Cyrillic_General_CI_AS" and "Cyrillic_General_CS_AS" in the equal to operation. HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=9, Severity=10, native=468, line=1

Графическое представление ошибки (нажмите для увеличения):

Как оказалось, разработчики 1С:Предприятия, начиная с версии 8.3, стали учитывать в своем продукте региональные настройки СУБД, на которой размещаются бухгалтерские базы. А именно – collation – схемы сопоставления, в которой содержатся правила сортировки и сравнения символов в базах данных. Если вы используете в качестве СУБД MS SQL 2000 – вы можете исправить это сопоставление (запрос: ALTER DATABASE “ИмяБд” COLLATE “НоваяКодировка”). В моем случае требуется полный ребилд (переустановка) существующей СУБД

Но не так страшен черт, как его малюют! Выход нашелся в установке дополнительного инстанса к уже существующему. Запустите на вашем сервере установку MS SQL Server 2005 и в момент следующего запроса программы-установщика:

выполните установку в новый инстанс, присвоив ему любое удобное для вас имя (только не начиная с цифры!). В моём примере – это v83.

Не забудьте в этой новой установке правильно указать требуемый для 1С:Предприятия версии 8.3 параметр сортировки, который должен выглядеть именно так, как показано на рисунке:

Предложенный способ оказался для меня лично очень удобным. В новой установке MS SQL Server 2005 можно независимо от предыдущей полностью менять настройки СУБД: размещения файлов баз данных (именно для сервера 1С:Предприятия версии 8.3), распределения оперативной памяти, настройки обслуживающих заданий и т.д. Единственно – вам потребуется установить повторно пакет обновления 4 RTM для Microsoft SQL Server 2005. Получить его можно с сайта Microsoft по ссылке: -ru/download/

Либо через “Центр обновления Windows”:

Подключение для администрирования с помощью Microsoft SQL Server Management Studio к старому инстансу (по умолчанию) будет осуществляться как и раньше – по имени сервера:

Подключение же к вновь созданному нами именованному инстансу (и именем v83) для администрирования с помощью Microsoft SQL Server Management Studio будет осуществляться по имени сервера \ имя инстанса:

Заведение новых бухгалтерских баз для 1С:Предприятия версии 8.3 в отведенном для них инстансе будет осуществляться таким образом:

— где:

  • Кластер серверов 1С:Предприятия — имя компьютера с установленным сервером 1С:Предприятие версии 8.3 (в моем случае указан дополнительный порт, используемый менеджером кластера версии 8.3 ( статью));
  • Имя информационной базы в кластере — имя создаваемой вами новой бухгалтерской базы в кластере;
  • Сервер баз данных — имя сервера с установленным именованным инстансом MS SQL Server 2005 для 1С:Предприятия версии 8.3;
  • Имя базы данных — имя создаваемой вами новой бухгалтерской базы в СУБД.

Надеюсь, приведенная информация окажется кому-то полезной.

ПоделитьсяПросмотров статьи: 17767 Раздел: Администрирование

  • Currently
  • 1
  • 2
  • 3
  • 4
  • 5

Rating: 4.5/5 (4 votes cast)

Создание и восстановление БД из бэкапа

Тут можно пойти, почти как всегда, несколькими путями: 1) использовать родную консоль Linux, вот пример 2) использовать новый Azure Data Studio (Предварительная версия) на Linux — это кросс платформенное средство управления SQL Server, по типу SQL Server Management Studio 2) использовать старый, добрый SQL Server Management Studio

По сложившейся привычке использования продуктов Microsoft на Windows, я запустил свой SSMS от SQL Server 2008 R2. Т.к. версия у него, мягко говоря, не самая новая, то в работе с Linux периодически вылазили нелепые ошибки.

Создание БД При создание новой БД нужно подправить путь сохранения файлов базы (убрать имена самих файлов, сгенерированных автоматически):

Восстановление БД из бэкапа В любом случае нужно наш файл .bak загрузить на сервер, т.к. SSMS не умеет работать с файлами по сети, ну и не надо. Делаем mount сетевой шары, загружаем по FTP или еще как-нибудь.

Чтобы избежать ошибку: «Не удалось получить монопольный доступ, так как база данных используется.» Устанавливаем монопольный режим у БД: ПКМ на нашей БД => Свойства => Вкладка Параметры => внизу параметр «Ограничение доступа» установить в «SINGLE_USER»

Непосредственно восстановление ПКМ на нашей БД => Задачи => Восстановить => База данных

Настраиваем параметры:

1) В базу данных <ИМЯ_БД> 2) С устройства => Добавить. И тут будет ошибочка:

Опять кривая работа со структурой разделов Linux. Нажимаем ОК и видим, что винда прилепила корневым разделом свой любимый “диск C:”. Ну, ничего, переживем как-нибудь. Находим свой файл бэкапа и вперед.

3) Не забываем установить галочку на добавленном “устройстве” в списке. 4) На вкладке Параметры корректируем имена файлов (удаляем лишнее) 5) Ставим галку “Перезаписать существующую БД (WITH REPLACE)”, иначе будет ошибка: «Резервный набор данных содержит копию базы данных отличной от существующей»

Готово.

Итоговый запрос получился таким:

RESTORE DATABASE [TicketsTest] FROM DISK = N'C:\home\ivan\Tickets2008_26-01-2019_' WITH FILE = 1, MOVE N'Tickets' TO N'/var/opt/mssql/data/', MOVE N'Tickets_log' TO N'/var/opt/mssql/data/', NOUNLOAD, REPLACE, STATS = 10

1234567 RESTORE DATABASE [TicketsTest] FROM DISK = N'C:\home\ivan\Tickets2008_26-01-2019_' WITH FILE = 1, MOVE N'Tickets' TO N'/var/opt/mssql/data/', MOVE N'Tickets_log' TO N'/var/opt/mssql/data/', NOUNLOAD, REPLACE, STATS = 10

UPDATE:

Позже я все-таки обновил SSMS (установил версию 17.9.1 (2017)), который уже, естественно, работает с Linux без глюков.

UPDATE 2:

Кстати, судя по всему, 1С до сих пор не поддерживает СУБД MS SQL Server на Linux’е. Цитата:

Особенности рабочих серверов под управлением Linux

  • не могут взаимодействовать с СУБД Microsoft SQL Server

Жаль, хотел запилить сравнение PGSQL и MSSQL на Linux.

0 Просмотров: 3 134

Механизм заданий

Перейдем теперь к непосредственному механизму исполняющему Планы обслуживания. После сохранения плана обслуживания, на каждый из субпланов в ветке «Агент SQL Server» (SQL Server Agent) → «Задания» (Jobs) создаются элементы заданий.

Задачи в Обозреватели объектов

В свойствах Задания можно дополнительно настроить:

  1. Добавить/изменить шаги выполнения. При создании через Планы обслуживания задание состоит из одного шага — выполнение пакета служб SSIS
  2. Добавить дополнительные расписания в то же задание
  3. Настроить уведомления об успешном/ошибочном завершении
  4. Включить/отключить выполнение

Но главным удобством является то что задание можно запустить в ручном режиме в любой момент, для этого необходимо кликнуть правой клавишей мыши на нужном задании и в контекстном меню выбрать «Запустить задание на шаге» (Start Job at Step).

Реиндексация таблиц баз данных

Реиндексацией таблиц называется полное перестроение всех индексов таблиц базы, что влечет за собой существенную оптимизацию работы системы. Эту процедуру выполнять желательно регулярно. С целью реиндексации всех таблиц вашей базы данных выполняйте указанный ниже SQL запрос:

sp_msforeachtable N'DBCC DBREINDEX (''?'')'

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

Выполнения реиндексации исключает необходимость осуществления дефрагментации индексов.

Настройка сервера 1С

Вначале необходимо создать рабочую базу данных, это можно сделать двумя способами:

  1. Через консоль управления серверами «1С:Предприятие». Выбрать Console Root -> Central 1C:Enterprise 8.3 servers -> (*) hq-1c-app02-hw -> Кластеры -> Локальный кластер -> Информационная база, правый щелчок мыши -> Создать -> Информационная база. Задать имя на латинице, Защищенное соединение = выключено, Задать имя компьютера с СУБД, Тип СУБД = MS SQL Server, Пользователь и пароль БД, Разрешить выдачу лицензий = да, установить галочку «Создать базу в случае ее отсутствия», нажать «ОК». База создана.

Создание БД при помощи менеджера 1С

  1. Экспертный режим. Для создания базы 1С настройка SQL производится непосредственно через менеджер СУБД MSSQL, для этого необходимо создать копию существующей базы <model>. После этого проверить ее настройки в свойствах на вкладке Files, начальный размер файлов БД должен находиться в диапазоне от 1 до 10 Гб, файлов журналов от 1 до 2 Гб, инкрементирующее значение = 512 Мб.

Установка параметров скопированной базы

  1. Определить модель восстановления в режим полного функционала (Full), а параметр Auto update statistics asynchronously перевести в режим включено (True).

Установка дополнительных параметров БД

Созданную БД tempdb в разделе Files разбить на 4 части (tempdev, tempdev01, tempdev02, tempdev03), размер зависит от того, где находятся сами файлы (50 % от дискового пространства, если на отдельном диске, от 1 Гб если на диске с рабочей СУБД). Рабочую базу создать аналогичным образом, размер задавать в соответствии с потребностью.

Выделение квот объема памяти для БД

Также необходимо выставить флаги трассировки в соответствии с инструкциями:

-us/kb/974006

-us/kb/2154845

-us/library/

В настройках сетевых протоколов включить режим TCP/IP, отключить Named pipes, если сервера не разделены – включить Shared Memory

Настройка параметров для сети

Выполнить инструкции по настройке обратной связи с операторами БД:

-ru/library/hh245116 (v=).aspx

-us/library/

На этом экспертная настройка базы данных завершена.

После того, как база создана, необходимо запустить технологическую платформу и нажать кнопку «Добавить» – «Создание новой информационной базы». Указать наименование базы и местоположение на сервере 1С Предприятия. В открывшемся окне заполнить параметры, соответствующие созданной на прошлом этапе БД. Нажать «ОК» и приступить к работе по настройке необходимой конфигурации.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Adblock
detector