Життя триває, а платформа 1С: Підприємство 8 – розвивається. Інструменти адміністрування сервера 1С нарешті отримали розвиток від вендора (см), що опосередковано підтверджує проблему недостатньої розвиненості цих інструментів.

Саме з DroidRAC згодом виникли такі проблеми

DroidRAC2 0.0.4

Переписаний повністю – стильно, модно, молодіжно (Kotlin, JetPack, Single-activity)

Нове api від 1С, сумісність із 8.3.11+

У першій версії за традицією read-only і трохи видалення (наприклад, видалення сеансів користувачів)

Додано розділ "Ключі". у ньому збираються дані про ліцензії всіх робочих процесів/сеансів користувачів для контролю кількості використаних ліцензій

Додавання/зміна адміністраторів сервера та кластерів

Перегляд властивостей значень лічильників продуктивності

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

DroidRAC2 0.0.7

Зміна всіх властивостей компонентів кластера (які не підтримувалися у попередніх версіях)

DroidRAC2 0.0.8

Додавання/видалення лічильників та лімітів продуктивності
+ додавання нових баз даних

DroidRAC2 0.1.0

Пошук RAS. Дозволяє знайти та додати адресу ras з локальної підмережі. Можливий пошук в інших підмережах та на нестандартному порту. Але! Залежно від вашої юрисдикції, сканування чужих підмереж може спричинити різні атата.
- множинне виділення рядків у списках
- у режимі виділення доступна загальна кількість рядків у списку та операції над виділеними елементами
- видалення сеансів та з'єднань у режимі множинного виділення. Видаляючи сеанси, не видаляйте сеанс RAS, щоб не перервати власне з'єднання. Видаляючи з'єднання, пам'ятайте, що можна видалити лише з'єднання, пов'язані з сеансом, але це робити безглуздо, т.к. 1С їх відновлює

DroidRAC2 0.1.2

Додавання/видалення кластерів

Додавання/видалення робочих серверів

Пошук у списках без урахування регістру

Виправлення помилок

Тестування виконувалось для платформи 8.3.13.1690

Для моральної підтримки можна також завантажувати файл за інфомані, якщо ви хочете підтримати проект. Швидкість розвитку інструменту пов'язана з його затребуваністю.

Зірки, коментарі, побажання щодо розвитку автору також будуть приємні.

З різних причин може бути втрачено доступ до сервера 1С:Підприємства, і тоді при спробі запуску консолі кластера ми побачимо запрошення до введення аутентифікаційних даних, але нічого не зможемо зробити:

Не обговорюватимемо причин, які призвели до цього. Почнемо вирішувати проблему. Нам потрібно відновити доступ до сервера у будь-який спосіб. Не важливо, чи зброєм пороль, чи підберемо автентифікаційні дані.

Підемо найшвидшим шляхом. Ми маємо права адміністратора на сервері, тому нам під силу обійтися найменшими трудовитратами.

Рішення

Насамперед зупинимо службу "Агент сервера 1С:Підприємства 8.2". Для цього в командному рядку виконаємо:

Sc stop " 1 C:Enterprise 8 . 2 Server Agent"

Те саме можна зробити через графічну утиліту "Служби":

За даними файлу можна судити про те, що на сервері було додано адміністратор "Adm" з деяким паролем. Ми можемо або замінити дані на потрібного нам користувача з "правильним" паролем, або видалити запис про адміністратора сервера. Виберемо останній спосіб. Ось так тепер виглядає вміст файлу:

Запустимо службу сервера. При наступному запуску консолі кластера сервера 1С:Підприємства програма не буде вимагати автентифікаційні дані.

Підсумок

У статті описано спосіб скидання облікового запису адміністратора для сервера 1С:Підприємства 8.2. При цьому варто враховувати, що облікові записи адміністраторів можуть бути додані окремо для кожної інформаційної бази. У цьому випадку дивіться файл "1CV8Reg.lst", який зазвичай знаходиться в каталозі:

C:Program Files (x86) 1 cv82srvinforeg_1541"

де "reg_1541" каталог налаштувань кластера, ім'я каталогу якого залежить від його налаштувань.

У цьому файлі зберігаються налаштування інформаційних баз, а також автентифікаційні дані адміністраторів кластера.

Аутентифікаційні дані кожної ІБ збігаються з відповідними автентифікаційними даними користувачів цієї інформаційної бази. Для того, щоб відкрити властивості бази в кластері, потрібно ввести логін і пароль користувача ІБ з адміністративними правами.

Тепер Ви вже знаєте, що Вам потрібно робити. У жодному разі не варто розглядати описаний спосіб скидання облікових записів адміністратора сервера 1С:Підприємства як злом, оскільки без прав адміністратора нічого подібного (зупинка служби сервера, доступ до каталогу налаштувань сервера тощо) зробити не вдасться.

Якщо цікаво, то ось деякі статті з близької тематики, а саме щодо підбору/відновлення паролів користувачів інформаційної бази 1С:Підприємства 8.2:

  1. "Чим легший пароль, тим простіше"

  2. "Вхід без запрошення"

  3. "Скидання облікових записів. Пишемо універсальну програму на .NET Framework"

Друк (Ctrl+P)

Ця стаття містить опис деяких елементів адміністрування системи «1С:Підприємство», характерних для клієнт-серверного варіанта роботи системи з Microsoft SQL Server 2012:

Створення резервної копії у клієнт-серверному варіанті

Адміністрація кластера серверів

Консоль або утиліта адміністрування кластерів 1cv8 servers.msc являє собою модуль MMC (Microsoft Management Console), що підключається, і може бути використана на комп'ютерах, на яких встановлено відповідне програмне забезпечення. За промовчанням встановлюється в папці C:\Program Files (x86)\1cv8\common

Утиліта адміністрування кластерівпризначена для вирішення наступних завдань:

  • створення, зміна та видалення кластерів серверів;
  • модифікація існуючих кластерів: створення, зміна параметрів та видалення робочих серверів, призначення вимог функціональності до робочих серверів;
  • встановлення рівня стійкості до відмови кластера;
  • ручне коригування навантаження на окремі робочі сервери;
  • управління списками адміністраторів центральних серверів кластерів та списками адміністраторів кластерів;
  • моніторинг з'єднань користувачів з інформаційними базами та службових з'єднань;
  • відключення користувачів від інформаційної бази;
  • моніторинг об'єктних блокувань 1С:Підприємства 8 та блокувань клієнтського з'єднання;
  • оперативний аналіз транзакційних блокувань системи управління базами даних;
  • керування блокуванням установки з'єднань користувачів з інформаційною базою;
  • керування блокуванням виконання регламентних завдань.

У цій статті я тільки розглядатиму реєстрацію нової інформаційної бази

Реєстрація нової інформаційної бази

Для реєстрації нової інформаційної бази за допомогою утиліти адміністрування кластера серверів слід вибрати у дереві центральних серверів потрібний центральний сервер, потрібний кластер, зареєстрований на цьому сервері, гілку Інформаційні бази та виконати команду контекстного меню Створити – Інформаційна база або аналогічну команду головного меню утиліти.

Внаслідок виконання команди на екрані з'явиться діалог властивостей інформаційної бази.

Параметри інформаційної бази еквівалентні параметрам нової інформаційної бази, яка створюється за допомогою вікна запуску «1С:Підприємства».

Тип СУБД: Microsoft SQL Server

Сервер баз даних: ім'я сервера. Може задаватися ім'ям комп'ютера (якщо на комп'ютері встановлено один екземпляр сервера) або ім'ям конкретного екземпляра (якщо встановлено кілька екземплярів). Наприклад, Server/instance. Якщо сервер «1С:Підприємства» і Microsoft SQL Server розташовані одному комп'ютері, й у Microsoft SQL Server встановлено Native Client (власний клієнт), є можливість використовувати зв'язку серверів протокол SHARED MEMORY. Для цього перед ім'ям Microsoft SQL Server необхідно вказати префікс lpc:. У цьому випадку ім'я сервера СУБД буде виглядати так: lpc:Server/instance

Ім'я бази даних: першим символом імені бази даних може бути буква латинського алфавіту, а також символ _. Наступними символами можуть бути літери латинського алфавіту, цифри, а також символи "_", "$". Довжина імені обмежена 63 символами. В імені неприпустимі прогалини. Ім'я може бути зарезервованим словом мови запитів сервера баз даних. В імені бази даних не можна використовувати такі символи: «<», «>», «#», «%», «”», «(», «)», «[»,«]»,«|»,«\»,«^»,«`», а також символи з кодами від 0 до 31 та 127

Користувач бази даних: ім'я користувача сервера баз даних, від якого буде здійснюватися доступ до бази даних. Істотно, щоб зазначений користувач був або адміністратором сервера баз даних (sa), або власником бази даних (якщо вона вже існує), щоб безперешкодно модифікувати структуру обраної бази даних. В останньому випадку цей користувач повинен мати доступ до читання до бази даних master і повний доступ до бази даних tempdb. Крім перерахованого, вказаний користувач має бути членом фіксованої серверної ролі processadmin або sysadmin.

Пароль користувача: пароль користувача, від якого буде виконуватися доступ до бази даних.

Зміщення дат– 0 або 2000. Даний параметр визначає кількість років, що додаватиметься до дат при їх збереженні в базі даних Microsoft SQL Server і відніматиметься під час їх вилучення. Наявність цього параметра визначається особливостями зберігання дат у Microsoft SQL Server. Тип DATETIME, що використовується в Microsoft SQL Server, дозволяє зберігати дати в діапазоні з 1 січня 1753 по 31 грудня 9999 року. І якщо при роботі з інформаційною базою може виникнути необхідність зберігання дат, що передують нижній межі даного діапазону, то як значення параметра слід вибрати 2000. Якщо ж такі дати зустрічатися не будуть, то як зміщення дат можна вибрати 0. Після створення інформаційної бази значення даного параметра неможе бути змінено.

УВАГА!Якщо в прикладному рішенні використовуються регістри накопичення або регістри бухгалтерії, то в полі Зміщення дат необхідно встановити значення 2000. Якщо при створенні бази даних у це поле було введено значення 0, слід вивантажити інформаційну базу у файл, заново створити базу даних із зазначенням у полі Зміщення дат значення 2000 та виконати завантаження інформаційної бази

УВАГА!Імена інформаційних баз мають бути унікальними в межах одного кластера. У процесі реєстрації нової інформаційної бази система перевіряє, чи існує на вказаному сервері баз даних база з такою назвою. Якщо база існує, буде встановлено з'єднання з нею. Якщо існуюча база даних містить дані інформаційної бази «1С:Підприємства», то буде встановлено зв'язок з вже існуючою інформаційною базою. А якщо база даних не містить даних інформаційної бази, то в ній буде проініціалізовано нову інформаційну базу «1С:Підприємства».

Помилка під час операції з інформаційною базою

Під час підключення до БД SQL можуть вилітати різні помилки створення або з'єднання. Наприклад, якщо виходить така помилка:

У цьому випадку була спроба створення інформаційної бази і сервер підприємства не міг встановити з'єднання з Microsoft SQL Server. Треба перевірити:

  • Параметри аутентифікації користувача (Ім'я пароль та права на створення БД);
  • Чи дотримується ім'я бази даних правила імен;
  • Чи правильно задано ім'я сервера бази даних;
  • Відповідає тип автентифікації користувача. Можливо, користувач увійшов під ім'ям користувача SQL Server, а в налаштуваннях SQL стоїть не той тип аутентифікації користувача.

У цій статті познайомимося з сервером адміністрування кластера серверів, а саме з утилітами rac.exeі ras.exe, а також програми deploykaза допомогою яких стає можливим адміністрування кластера серверів 1С:Підприємство з командного рядка.

За традицією, всім кому ліньки читати, пропоную подивитися вебінар на вказану тему

Ну а решті ласкаво просимо під кат:

1. Загальні відомості

Керувати кластером серверів 1С:Підприємство версії 8.3 можливо, як за допомогою консолі адміністрування серверів 1С, так і з командного рядка. Для цих цілей служить Сервер адміністрування кластера серверів, що складається з двох утиліт: безпосередньо самого сервера — програми rac.exeта утиліти командного рядка rac.exe, яка звертаючись до запущеного раніше серверу ras дозволяє виконувати різні операції з кластером серверів 1С:Підприємства.

Детально про даний механізм можна прочитати в книзі «Керівництво адміністратора, що поставляється разом з платформою». Клієнт-серверний варіант» (або, відповідно, на сайті ІТС).

А загальна схема роботи даної зв'язки виглядає так:

Сервер адміністрування має бути тієї ж версії, що і версія кластера серверів 1С:Підприємства, причому одночасно до одного кластера серверів можуть бути підключені кількасерверів адміністрування, але конкретний сервер адміністрування може взаємодіяти тільки з однимагентом сервера.

І сервер адміністрування та утиліта командного рядка можуть працювати у будь-якій підтримуваній платформою 1С:Підприємства ОС. Але в цій статті ми обмежимося лише ОС сімейства Windows.

2. Встановлення компонентів сервера адміністрування

І сам сервер та утиліта адміністрування входять до складу компонентів сервера 1С:Підприємства. Відповідно, на комп'ютері із запущеною службою агента сервера 1С:Підприємства вони вже мають бути встановленіза замовчуванням.

Щоб переконатися в цьому, достатньо перейти в каталог з файлами сервера 1С:Підприємства і знайти відповідні утиліти (для зручності файли можна згрупувати за типом).

Докладно про встановлення сервера 1С:Підприємства я писав.

Для встановлення сервера адміністрування на комп'ютері, де раніше не буввстановлений сервер 1С: Підприємства, необхідно запустити дистрибутив установки сервера 1С та у складі компонент вибрати пункт «Сервер 1С:Підприємства 8».

При цьому, при вибраній даній компоненті на наступному етапі майстер установки запропонує встановити сервер 1С:Підприємства як службу Windows. Від цього пункту звичайно ж слід відмовитисязнявши відповідний прапор.

Після встановлення необхідно переконатися у наявності всіх необхідних компонент описаним вище способом.

3. Запуск сервера адміністрування

Для отримання докладної інформації про утиліту ras.exe можна викликати довідку, виконавши команду

З довідки видно, що сервер адміністрування може працювати як у режимі програми, так і як служба Windows(параметр service ). Також ми можемо задати мережевий порт, на якому буде працювати сервер адміністрування (параметр port , за замовчуванням використовується порт 1545 ), а для режиму адміністрування кластера використовується режим claster . Викликати довідку до цього режиму можна командою:

rac help cluster

Після цього побачимо, що з даного режиму як аргумент вказується адреса агента кластера серверів 1С:Предприятия. За умовчанням це localhost:1540.

Таким чином, якщо сервер адміністрування запускається на тій же машині, де запущений агент сервера 1С:Підприємства, достатньо виконати команду

Ну а якщо необхідно підключитися до агента сервера, запущеного, наприклад, на комп'ютері з мережевим ім'ям Server1C, причому агент працює на нестандартному порту 2540 , то команда буде наступною:

rac cluster server1c:2540

4. Запуск сервера адміністрування як служба Windows

Звичайно ж, щоб не запускати сервер адміністрування щоразу руками, зручно запустити його одного разу як службу Windows. Але, на жаль, розробники платформи не реалізували можливість автоматичної реєстрації відповідної служби у системі, як, наприклад, це зроблено. Для додавання служби пропонується скористатися системною утилітою sc. Давайте розглянемо цей процес більш детально.

Нехай це буде локальний користувач з ім'ям USR1CV8_RASта паролем Pass123

Файл register-ras.bat:

@ echo off rem %1 - повний номер версії 1С:Підприємства set SrvUserName=.\USR1CV8_RAS set SrvUserPwd="Pass123" set CtrlPort=1540 set AgentName=localhost set RASPort=1545 set SrvcName="1C:Enterprise 8.3 Remote Server" set BinPath="\"C:\Program 1 \bin\ras.exe\" cluster --service --port=% RASPort % % AgentName % :% CtrlPort % " set Desctiption="1C:Enterprise 8.3 Remote Server" sc stop % SrvcName % sc delete % SrvcName % sc create % SrvcName % binPath = % BinPath % start = auto obj = % SrvUserName % password = % SrvUserPwd % displayname = % Desctiption %

У файлі вказуємо:

  • ім'я користувача та пароль з-під якого запускатиметься служба — змінні SrvUserName і SrvUserPwd
  • адресу та порт агента сервера, який ми збираємося адмініструвати — змінні AgentName і CtrlPort
  • А також ім'я служби та мережевий порт на якому працюватиме сервер адміністрування — змінні RASPort і SrvcName . Має сенс змінювати ці параметри тільки якщо ви хочете запустити паралельно кілька серверів адміністрування, наприклад обслуговування різних серверів 1С.

Як єдиний параметр bat-файлу виступає поточна версія платформи 1С:Підприємства. Таким чином, для створення служби запускаємо командний рядок з правами адміністратора та запускаємо створений раніше файл register-ras.bat, не забувши вказати потрібну версію платформи

Перевіряємо, що у системі з'явилася служба із зазначеним ім'ям. І одразу запускаємо її, вибравши відповідний пункт у контекстному меню.

На цьому установка сервера адміністрування як служба завершена.

5. Адміністрація кластера серверів за допомогою утиліти rac.exe

Отже, сервер адміністрування ми встановили. Взаємодія з сервером здійснюється за допомогою спеціальної консольної утиліти rac.exe. Виконаємо команду

щоб отримати довідку цієї програми.

Як видно з довідки, утиліта має один загальний аргумент, що задає адресу сервера адміністрування (за умовчанням localhost:1545) і безліч режимів роботи: для адміністрування агента кластера серверів, самого кластера, менеджера кластера, робочих процесів і т. д. Довідку щодо кожного режиму можна викликати відповідною командою.

Описувати всі режими роботи, очевидно, немає сенсу. Наведу лише кілька прикладів роботи.

Отримання списку інформації про кластери:

Отримання списку інформаційних баз на заданому кластері серверів:

Отримання списку з'єднань із зазначеною інформаційною базою:

Утиліта адміністрування дозволяє виконати весь обсяг робіт, необхідний адміністрування кластера серверів, крім автентифікація ОС для адміністраторів кластера серверів, робочого сервера та інформаційної бази.

6. Програмні обгортки для роботи із сервером адміністрування

Як видно з прикладів, працювати з командного рядка з утилітою rac то ще задоволення. Але цей механізм і створювався для ручного управління. Наприклад, на сайті ІТС є Java-архівів, який дозволяє взаємодіяти з сервером адміністрування із програми мовою Java, без допомоги консольної утиліти адміністрування. Завантажити цей пакет можна.

Головне, ми маємо можливість виконувати різні інструкції на кластері серверів 1С із командного рядка. А це означає, що можна додавати необхідні функції по взаємодії з кластером серверів 1С: Підприємства в різні програми, обробки або скрипти.

Наприклад, серед іншого, працювати з сервером адміністрування може написана мовою OneScriptпрограма deployka.

Про скіптовий движок OneScript я вже розповідав.

Про програму deployka можна докладніше дізнатися.

Ну а максимально повний огляд всіх наявних бібліотек та програм написаних на OneScript наведено в цій статті.

7. Встановлення та налаштування з програмою deployka

Алгоритм установки OneScript і deployka досить докладно розібраний у статтях за посиланнями, що вказані в попередньому пункті. Ну а якщо коротко, він складається з наступних пунктів:

1. Завантажуємо дистрибутив OneScript з офіційного сайту.

2. Встановлюємо, дотримуючись інструкцій майстра.

3. Перелогінюємося в системі, щоб застосували нові змінні середовища.

4. Запускаємо командний рядок із правами адміністратора, перевіряємо, що попередні пункти виконані коректно командним

5. Встановлюємо програму deployka за допомогою пакетного менеджера opm, виконавши команду

opm install deployka

6. Перевіряємо, що все працює, викликавши довідку «деплойки» командою

7. Ось загалом і все. Усі режими роботи програми помітні на екрані. Далі читаємо довідку на сайті або консолі, викликавши підказку для кожного режиму відповідною командою:

Ось так, наприклад, можна завершити всі сеанси у зазначеній інформаційній базі з наступним встановленням блокування початку сеансів.

deployka session kill -db Accounting_Demo -rac "C:\Program Files\1cv8\8.3.11.2867\bin\rac.exe" -db-user "АбрамовГС (директор)"

8. Тепер можна використовувати "деплойку" у своїх скриптах. Наприклад, скрипт оновлення інформаційної бази зі сховища, з відключенням користувачів та оновленням бази даних може виглядати так:

@echo on rem Встановлюємо значення змінних set ServerName="1CAPP:2541" set RacPath="C:\Program Files\1cv8\8.3.11.2954\bin\rac.exe" set uccode="123" set BaseName="ERP_Test" set UserName="Admin" set UserPass ="Pass123" set ConStr="/1CAPP:2541\ERP_Test" set RepoPath="tcp://1CAPP/ERP_DEV" set RepoUserName="test" set RepoUserPass="123" rem Завершуємо роботу користувачів call deployka session kill -db % BaseName % -db-user % UserName % -db-pwd % UserPass % -rac % RacPath % -lockuccode % uccode % rem Оновлюємо конфігурацію бази зі сховища call deployka loadrepo % ConStr % % RepoPath % -db-user % UserName % -db-pwd % UserPass % -storage-user % RepoUserName % -storage-pwd % RepoUserPass % -uccode % uccode % rem Оновлюємо конфігурацію бази даних call deployka dbupdate % ConStr % -db-user % UserName % -db-pwd % UserPass % -uccode % uccode % rem Знімаємо блокування сеансів call deployka session unlock -db % BaseName % -db-user % UserName % -db-pwd % UserPass % -rac % RacPath % -lockuccode % uccode %

Дякую всім, хто дочитав до кінця. Пишіть, якщо у вас залишилися запитання.

Чи допомогла вам ця стаття?

Найчастіше для установки 1C:Підприємства 8.х у варіанті “клієнт-сервер” достатньо запуску програми установки 1С:Підприємства 8.х. У цьому сервер 1С:Підприємства отримує стандартні значення параметрів, необхідні його нормального функціонування.

Розглянемо встановлення сервера 1С:Підприємства більш детально. У процесі встановлення сервера 1С:Підприємства 8.х програма установки 1С:Підприємства 8.х виконує такі дії:

* Копіює завантажувальні модулі сервера 1С:Підприємства в каталог, вказаний програмі установки 1С:Підприємства як кінцева папка.
* Якщо в процесі установки вибрано "Створити користувача USR1CV81", створює користувача USR1CV81. Від імені цього користувача працює сервер 1С:Підприємства 8.1, якщо він запускається як сервіс. Йому доступні ті ресурси, які необхідні серверу 1С:Предприятия. Важливо, що серверу 1С:Підприємства для роботи необхідні два каталоги: загальний каталог з даними сервера (зазвичай "C: Program Files 1cv81 server") і каталог тимчасових файлів (звичайно C: Documents and Settings usr1cv81 Local Settings \Temp" або "C:\WINNT\Temp"). Користувач USR1CV81 отримує права на загальний каталог із даними сервера. Каталог тимчасових файлів зазвичай доступний для всіх користувачів.
* Якщо в процесі установки включено "Встановити сервер 1С:Підприємства 8.1 як сервіс Windows", то реєструє в Windows сервіс агента сервера 1С:Підприємства та запускає його. При першому запуску створюється кластер серверів 1С:Підприємства з стандартними налаштуваннями. У ньому один робочий сервер та один робочий процес. Адреса робочого сервера збігається з ім'ям комп'ютера, на якому встановлена ​​установка.

Користувач USR1CV81 або USR1CV82 та його права

Сервер 1С:Підприємства є серверним додатком робота якого не повинна залежати від того, який користувач увійшов до серверного комп'ютера в інтерактивному режимі, якщо взагалі хтось увійшов. Тому при встановленні сервера 1С:Підприємства бажано створити спеціального користувача USR1CV81, наділеного правами, мінімально необхідними для сервера 1С:Підприємства, та не призначеного для інтерактивного входу. Сервер 1С:Підприємства представляється системі Windows користувачем USR1CV81.

Розглянемо докладніше права, які встановлюють користувач USR1CV81. Сервер 1С:Підприємства використовує такі каталоги:

* Каталог завантажувальних модулів знаходиться в каталозі, заданому програмі установки 1С: Підприємства як кінцева папка. У ньому розташовані завантажувальні модулі сервера 1С:Підприємства. Користувач USR1CV81 необхідні права на читання даних та запуск програм з цього каталогу та його підкаталогів. Він отримує ці права неявно завдяки включенню до групи Users.
* Каталог даних сервера зазвичай має ім'я "C: Program Files 1cv81 server". Користувачеві USR1CV81 необхідні повні права на цей каталог. Програма встановлення 1С:Підприємства при створенні користувача USR1CV81 наділяє його правами на цей каталог.
* Каталог тимчасових файлів зазвичай має ім'я "C:\Documents and Settings\usr1cv81\Local Settings\Temp" або "C:\WINNT\Temp", яке визначається значенням змінної TEMP оточення користувача або змінної TEMP системного оточення. Подивитися значення цієї змінної можна в діалозі System Properties (Start -> Settings -> Control Panel -> System -> Advanced -> Environment Variables). Програма установки 1С:Підприємства задає користувачу USR1CV81 повні права на цей каталог. Зазвичай при інсталяції Windows каталог тимчасових файлів доступний всім користувачам за допомогою включення до списку доступу групи CREATOR OWNER. Однак це доступ не повний. Зокрема, всім користувачам не доступна операція пошуку файлів у цьому каталозі. Установка користувачу USR1CV81 повних прав на каталог тимчасових файлів дозволяє серверу 1С:Підприємства виконувати всі необхідні йому операції. Подивитися список доступу можна у діалозі властивостей каталогу на закладці Security. Наявність групи CREATOR OWNER дозволяє звертатися до каталогу будь-якому користувачеві, який створює файли в цьому каталозі або володіє якими-небудь файлами в цьому каталозі. При цьому в списку доступу створеного файлу замість групи CREATOR OWNER буде записаний користувач, який створив файл. Серед користувачів, яким дозволено доступ до цього каталогу, має бути і користувач USR1CV81, наділений повними правами на цей каталог.
Важливо пам'ятати, що каталог тимчасових файлів певного користувача (зокрема і користувача USR1CV81) визначається комбінацією змінних оточення цього користувача та системних змінних оточення. Щоб дізнатися цей каталог, програма встановлення 1С:Підприємства запитує контекст користувача USR1CV81. Для цього в Windows 2000 користувачу, від імені якого запускається програма установки 1С:Підприємства, можуть знадобитися привілеї: Act as part of the operating system і Bypass traverse checking. Перевірити привілеї користувача можна утилітою Local Sequrity Settings у гілці Local Policies -> User Rights Assignment. У процесі встановлення нового програмного забезпечення програма установки зазвичай отримує ці привілеї автоматично.

Реєстрація сервера 1С:Підприємства як сервісу Windows


Сервер 1С: Підприємства є простим додатком Windows і може бути запущений інтерактивно. Однак для постійного використання це незручно, оскільки ставить запуск сервера 1С: Підприємства від входу користувача в серверний комп'ютер. Щоб унеможливити цю залежність, сервер 1С:Підприємства може запускатися як сервіс Windows. Для цього він має бути зареєстрований у менеджері сервісів Windows.

Для перегляду списку сервісів Windows та їх параметрів призначена утиліта Component Services (Start -> Settings -> Control Panel -> Administrative Tools -> Services). Сервер 1С:Підприємства представлений у списку сервісів сервісом "Агент сервера 1С:Підприємства 8.1". Параметри сервісу визначають запуск процесу "Агент сервера 1С:Підприємства" (ragent), користувача, від якого він запускається, а також спосіб перезапуску в аварійних ситуаціях.

У діалозі властивостей сервісу "Агент сервера 1С:Підприємства 8.1" на закладці General показано рядок запуску процесу ragent, який є Агентом сервера 1С:Підприємства. Зазвичай цей рядок має вигляд:


У ній зазначено, що:

* процесом Агента сервера є завантажувальний модуль "C: Program Files 1cv81 bin ragent.exe";
* процес ragent запускається як сервіс Windows і має управлятися менеджером сервісів (-srvc);
* використовується як Агент сервера 1С:Підприємства (-agent);
* при першому запуску сервісу повинен бути створений кластер з параметрами за промовчанням та головним IP-портом номер 1541 (-regport 1541). У цьому порту клієнтські додатки повинні з'єднуватися з інформаційними базами, зареєстрованими у кластері;
* IP-порт агента сервера повинен мати номер 1540 (port 1540). У цьому порту Консоль кластера має з'єднуватися з центральним сервером для виконання адміністративних функцій;
* при запуску процесів кластера на даному сервері їм динамічно призначатимуться IP-порти з діапазону 1560-1591 (-range 1560:1591).
* загальні дані кластера будуть розміщені в каталозі "C: Program Files 1cv81 server" (-d "C: Program Files 1cv81 server").

Сервіс "Агент сервера 1С:Підприємства 8.1" може бути доданий або видалений не тільки при встановленні або видаленні 1С:Підприємства програмою встановлення 1С:Підприємства 8.1, але й вручну. Для цього можна виконати з командного рядка утиліту ragent, вказавши відповідні параметри.

Для створення сервісу потрібно вказати параметр -instsrvc та параметри: -usr - ім'я користувача, від імені якого має бути запущено сервіс, -pwd - пароль цього користувача. При цьому решта параметрів стане параметрами рядка запуску Агента сервера 1С:Підприємства як сервісу. Наприклад, для стандартної реєстрації сервісу Агента сервера 1С:Підприємства у налагоджувальному режимі набір параметрів повинен бути таким:

"C:\Program Files\1cv81\bin\ragent.exe" -instsrvc -usr .\USR1CV81 -pwd Password -regport 1541 -port 1540 -range 1560:1591 -d "C:Program Files\1cv81\server" - debug

Для видалення сервісу необхідно вказати параметр -rmsrvc. Наприклад:
"C:\Program Files\1cv81\bin\ragent.exe" -rmsrvc

Іноді буває поліно змінити рядок запуску Агента сервера або інші параметри сервісу Агента, наприклад, увімкнути режим налагодження або створити кілька сервісів різних версій. Діалог властивостей сервісу не дозволяє редагувати рядок запуску сервісної програми та деякі інші параметри, наприклад, ідентифікатор сервісу. Для редагування потрібна утиліта regedit, призначена для перегляду та редагування реєстру Windows.

Увага!
Редагування системного реєстру Windows потребує надзвичайної обережності, оскільки помилкові зміни в ньому можуть призвести операційну систему до непрацездатного стану.

Запустіть утиліту regedit (відкрийте Start -> Run і наберіть regedit) і оберіть гілку:


Серед її параметрів є параметр ImagePath, значенням якого є рядок запуску Агента сервера 1С:Підприємства. Тут можна додати нові параметри запуску або змінити значення існуючих. Повний список можливих параметрів наведено у книзі "1С:Підприємство 8.1 Клієнт-сервер" документації.

При необхідності реєстрації кількох незалежних сервісів Агента сервера 1С:Підприємства потрібно вказати їм різні модулі завантаження, різні порти і різні каталоги даних кластера. Також потрібно зареєструвати їх з різними ідентифікаторами сервісів. Це можна зробити так:

* Створити перший сервіс:
"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:Program Files\1cv81\server"

* За допомогою утиліти regedit змінити ідентифікатор зареєстрованого сервісу. Для цього: вибрати гілку
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent First
* Створити другий сервіс:
"C:\Program Files\1cv81_10\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:Program Files\1cv81_10\server"

* Можливо, його ідентифікатор теж змінити. Для цього: вибрати гілку
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent
і змінити її ім'я, наприклад:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent Second

Що не може зробити програма встановлення 1С:Підприємства?

Як уже говорилося, програма установки 1С:Підприємства копіює завантажувальні модулі 1С:Підприємства та виконує необхідну реєстрацію в COM та в менеджері сервісів Windows. Вище наведено інформацію, необхідну розуміння внутрішніх механізмів цієї реєстрації. Якщо серверному комп'ютері встановлений як сервер, а й клієнтська частина 1С:Підприємства, вона готова до роботи відразу після установки (і підключення ключів захисту).

Щоб сервер 1С:Підприємства був доступний з інших комп'ютерів у локальній мережі, необхідно перевірити налаштування мережі на серверному та клієнтському комп'ютері, а також для мережі в цілому. Для передачі даних між клієнтськими програмами та сервером 1С:Підприємства, а також між процесами кластера серверів використовується TCP/IP. Від правильності його налаштування залежить робота 1С:Підприємства у варіанті клієнт-сервер.

Процеси кластера серверів 1С:Підприємства з'єднуються один з одним за адресами, визначеними як значення властивості "Комп'ютер" діалогу властивостей робочих серверів. Для кластера необхідно, щоб значенням властивості "Комп'ютер" була або IP-адреса в точковій нотації, або така символічна адреса, за якою може бути визначена IP-адреса за допомогою функції gethostbyname, визначеної в програмному інтерфейсі протоколу TCP. Визначення IP-адреси виконується або на підставі локальної таблиці символічних адрес (C:WINNTsystem32driversetchosts), або за таблицями адрес у доступних DNS серверах. Якщо за символічною адресою робочого сервера його IP-адреса не визначається або визначається неправильно (наприклад, IP-адреса не збігається з фактичною IP-адресою даного комп'ютера), то кластер не працюватиме. Важливо, щоб імена комп'ютерів та їх адреси, визначені у Windows кожному з робочих серверів кластера, не суперечили їх іменам в DNS.

На кожному робочому сервері процеси кластера використовують такі порти: IP порт робочого сервера (зазвичай 1540); IP порти з діапазонів IP портів робочого процесу (зазвичай 1560-1591). Крім того, на центральному сервері кластера використовується порт кластера (зазвичай 1541). Якщо в системі використовуються мережні екрани, то передача даних по цих портах має бути дозволена. Замість дозволу портів із наведеного списку можна дозволити передачу даних процесам кластера (ragent, rmngr, rphost).

З'єднання клієнтського додатка 1С: Підприємства із сервером виконується у 2 етапи. Спершу воно встановлює з'єднання з менеджером кластера. При цьому використовується адреса центрального сервера (символічний або числовий) та порт кластера (зазвичай 1541). Далі клієнтська програма встановлює з'єднання з одним із робочих процесів. Як його адреса використовується значення властивості "Комп'ютер" відповідного робочого сервера та порт робочого процесу, який вибирається з діапазону IP портів робочого сервера. Передача даних на ці порти має бути дозволена у всіх мережевих екранах на маршруті від комп'ютера клієнтської програми до комп'ютерів кластера серверів 1С:Підприємства. Визначення IP-адреси серверних процесів виконується за допомогою функції gethostbyname на комп'ютері клієнта. Важливо, щоб імена центрального та робочих серверів та їх адреси, визначені в Windows на кожному із серверів кластера, не суперечили їхнім іменам у DNS, доступному комп'ютеру клієнта.

І останнє. Очевидно, що для успішного доступу до сервера 1С:Підприємства з інших комп'ютерів він повинен бути в мережі та повинні бути виконані необхідні для цього налаштування. Підключення до мережі та методика налаштування належать до адміністрування мереж на базі Microsoft Windows та описані у відповідних інструкціях.

Особливості налаштування SQL-сервера

1С:Підприємство у варіанті «клієнт-сервер» використовує для зберігання даних SQL-сервер. При цьому до SQL-сервера звертається лише Сервер 1С:Підприємства. Клієнти 1С: Підприємства безпосереднього доступу до SQL-сервера не мають. Встановлення та налаштування SQL-сервера детально описано в документації Microsoft SQL Server. Для успішної роботи сервера 1С:Підприємства з SQL-сервером необхідно звернути особливу увагу на наступні налаштування.

* Необхідні компоненти SQL-сервера. Для доступу до SQL-сервера з боку Сервера 1С:Підприємства на комп'ютері Сервера 1С:Підприємства повинні бути встановлені компоненти Microsoft Data Access 2.6 або пізніший.
* Аутентифікація користувача SQL-сервером. Права доступу до баз даних SQL-сервера визначаються користувачем, від імені якого відбувається звернення до баз даних. З комп'ютера, на якому встановлено SQL-сервер, запустимо утиліту SQL Server Enterprise Manager, знайдемо вузол Local (Console Root -> Microsoft SQL Servers -> SQL Server Group -> (Local)) та відкриємо його властивості. На закладці Sequrity можна бачити, що SQL-сервер підтримує два способи автентифікації користувачів: SQL Server і Windows та Windows лише. Аутентифікація Windows дозволить Серверу 1С:Підприємства звертатися до SQL-серверу тільки від імені користувача USR1CV81, що не дозволяє розрізняти права доступу до різних інформаційних баз, які обслуговує один сервер 1С:Підприємства. Рекомендовано вибирати режим SQL Server та Windows. У цьому випадку звернення до конкретної інформаційної бази виконуватиметься від імені користувача, який заданий як користувача SQL-сервера під час створення даної інформаційної бази. Важливо, що цей користувач повинен мати не лише повні права на базу даних інформаційної бази, але й права на створення баз даних у SQL-сервері та читання таблиць бази даних Master.
* Мережеві протоколи для доступу до SQL-сервера. Якщо сервер 1С:Підприємства та SQL-сервер розміщені на різних комп'ютерах, то необхідно виконати налаштування мережевих протоколів доступу до SQL-сервера. Це можна зробити за допомогою утиліти SQL Server Client Network Utility. На закладці General можна вибрати список протоколів мережі, які використовуються для доступу до SQL-сервера. Найбільш швидким та універсальним є використання протоколу TCP/IP. При використанні інших протоколів необхідно мати на увазі, що деякі з них, наприклад Named Pipes, виконують додаткову аутентифікацію засобами Windows під час обміну даними із SQL-сервером. У цьому випадку для успішної роботи з SQL-сервером на комп'ютері з SQL-сервером повинен бути зареєстрований користувач USR1CV81, який має відповідні права. Протокол доступу до цього SQL-сервера може бути змінений на закладці Alias.

На додаток до статті

Немає сумніву, що зв'язка MS SQL Server + сервер "1С: Підприємство 8" - у своїй ніші найбільш затребувана і зв'язка, що часто застосовується. Для її якісної підтримки бажане розуміння обох продуктів. У той же час, на практиці спеціаліст підтримки зазвичай або спеціалізується на адмініструванні MS SQL Server і не орієнтується в особливостях сервера "1С: Підприємство 8", або, навпаки, спеціалізується на адмініструванні сервера "1С: Підприємство 8" і не орієнтується в особливостях MS SQL Server.

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

Для полегшення сприйняття інформації наводяться випадки з практики, примітки та поради (виділені курсивом).

Триланкова схема

Як, можливо, вже відомо читачеві, база даних у цьому випадку має триланкову архітектуру:

Ланка 1: СУБД MS SQL Server. "Зберігає" та обслуговує базу даних, в кінцевому рахунку виконує всі види операцій з базою даних. Таким чином, продуктивність роботи бази даних, швидкість і паралельність читання-запису даних багато в чому визначаються продуктивністю MS SQL Server.

Ланка 2: Сервер "1С: Підприємство 8". Служить посередником у взаємодії між клієнтами (користувачами) та MS SQL Server. Всі клієнтські запити надсилаються на сервер, який "переводить" їх на мову запитів MS SQL Server, отримує результати виконання цих запитів, надсилає результати клієнту.

Є лише мала частина операцій, що виконуються на рівні сервера "1С: Підприємство 8", без звернення до MS SQL - це, зокрема, відстеження так званих "керованих блокувань", читання-запис "параметрів сеансу". Звернення до СУБД у разі не потрібно, оскільки ці операції проводяться з даними бази, і з допоміжною інформацією сервера.

Ланка 3: Клієнтська частина "1С: Підприємство 8". Звертається до сервера "1С: Підприємство 8", отримує від нього результати (тобто, наприклад, вибірки даних), відповідає за інтерфейс користувача.

"Хотів якнайкраще".

Після переустановки сервера "1С: Підприємство 8" користувачі скаржаться на різке падіння продуктивності. Фахівець із впровадження ПП "1С: Підприємство", який робив переустановку – лише дивується – мовляв, хотів як краще, система мала почати працювати швидше... Аналіз ситуації показав, що серверу "1С: підприємство 8" було виділено надто багато ресурсів: його Процеси (див. пункт 3) rphost зайняли 15.5 Гб з 16Гб оперативної пам'яті сервера, в результаті для поступливого MS SQL Server практично не залишилося доступної оперативної пам'яті.

Як результат - постійний "своп", непотрібне навантаження на дискову підсистему, і вкрай повільне виконання операцій із базою даних - внаслідок того, що MS SQL Server не встигає обробляти запити, що надходять від "розігнаного" сервера "1С: Підприємство 8".

Сумісність продуктів

Актуальні дані про версії MS SQL Server, що рекомендуються до використання у зв'язку з "1С: Підприємство 8", слід з'ясовувати за посиланням http://v8.1c.ru/requirements/.

На момент підготовки статті розробники фірми "1С" рекомендують такі варіанти:

      1. SQL Server 2008 R2.
      2. SQL Server 2008, потрібно інсталювати пакет оновлень 1 (SP1).
    3. SQL Server 2005, потрібно інсталювати пакет оновлень 3 (SP3).



Технічно можливо, але не рекомендується застосування MS SQL Server 2000, для нього потрібна установка пакета оновлень 2 (SP2) і бажана установка пакета оновлень 4 (SP4).

Слід враховувати, що зараз цю версію знято з підтримки, а також немає 64-розрядної версії для архітектури x86-64.

Зверніть увагу:

Необхідно звертати увагу на налаштування операційної системи: наприклад, для ефективної роботи M SQL Server 2008 під ОС Server 2008R2 потрібно вимкнення збалансованого режиму енергопостачання та переведення в режим максимальної продуктивності.

Установка клієнт-серверної версії "1С: Підприємство 8"

"1C встановив"

В одного із замовників установку "1С:Підприємства 8" зробив системний адміністратор, який не має досвіду в роботі з "1С:Підприємством 8". І хоча, за його словами, він "встановив 1С" - на комп'ютерах користувача була відсутня клієнтська частина, а на сервері - серверна. Розбір ситуації прояснив картину - в комплекті "1С: Підприємства 8" було 2 диски - установка платформи та встановлення шаблонів баз даних. Адміністратор не став вникати в порядок встановлення - і встановив шаблони баз даних, а не файли, що виконуються, компоненти платформи.

Звісно, ​​це нетиповий приклад виключно неуважного ставлення до роботи.

При встановленні "1С: Підприємства 8" слід враховувати, що окремо встановлюються:

      Платформа "1С: Підприємство 8" - додаток, що виконується, інтегроване середовище розробки та експлуатації баз даних. При його запуску вибирається один з двох режимів роботи - "Підприємство" (оболонка баз даних) або "Конфігуратор" (інтегроване середовище розробки). Більше повний опис можна прочитати за посиланням
      Шаблони конфігурацій "1С: Підприємство" - це файл внутрішнього формату платформи, за допомогою якого платформа може створити чисту або демонстраційну базу даних структури, яка закладена в шаблоні. Також за допомогою шаблону оновлення можна оновити структуру існуючої бази даних, яка вже наповнена даними.
      При встановленні платформи слід приділити увагу вибору компонентів:





Компонента "1С: Підприємство" може не встановлюватись на сервері (серверах).

У цьому випадку сервер надаватиме клієнтським комп'ютерам доступ до баз даних "1С: Підприємство", але робота з БД в режимі користувача безпосередньо з сервера буде неможлива.

Зверніть увагу:

64-бітна версія платформи не містить клієнтської частини. Тому при встановленні на сервер окремо встановлюються 64-бітові серверні компоненти, і окремо – 32-бітові компоненти клієнтської програми.

Компонента "Сервер 1C: Підприємства" потрібна для підключення до MS SQL Server - це сервер додатків, що зв'язує ланку між платформою на клієнтських робочих місцях та MS SQL Server.

Можливе встановлення компоненти в режимі простої програми або системного сервісу, і рекомендується, звичайно, другий варіант.

При встановленні "як сервіс" ця компонента буде запускатися та виконуватися від імені обраного користувача:




Після завантаження компонента породжує кілька процесів, як-от: "агент сервера", "менеджер кластера серверів", "робочі процеси сервера".

Запити до бази даних виконують робочі процеси, а навантаження з-поміж них розподіляє менеджер кластера серверів.

Робочими процесами сервера можна буде керувати (додавати, видаляти, ставити обмеження на використання ОЗП, оголошувати основним або резервним), якщо буде встановлено компонент "Адміністрування сервера 1С: Підприємства".



Зверніть увагу:

Для 32-бітної версії сервера рекомендується встановлення робочих процесів у такій кількості, щоб не залишати оперативну пам'ять незадіяною – кожен з них має помітне обмеження на використання оперативної пам'яті від 2 до 4Гб залежно від конфігурації системи.

Для 64-бітної версії сервера теоретично достатньо двох робочих процесів – одного робітника та одного резервного. Однак на практиці для забезпечення надійності та стабільності підключень на суттєвій (кілька сотень) кількості користувачів потрібна більша кількість, вона залежить багатьох факторів - від кількості користувачів, наповнення бази даних та обсягу запитів, тому автори вважають, що кількість процесів у цьому випадку слід підбирати експериментально.

"Уроборос"

Після невдалої оптимізації налаштувань сервера "1С: Підприємство 8", користувачі просигналізували про вкрай повільну роботу системи, а системний адміністратор відзначив постійне 100% завантаження процесора на сервері.

Аналіз ситуації показав джерело проблеми - при налаштуванні було встановлено дуже маленьке обмеження використання оперативної пам'яті робочими процесами.

А річ у тому, що це обмеження працює наступним чином:

Коли менеджер кластера серверів бачить, що робочий процес перевищив ліміт оперативної пам'яті – робота цього процесу припиняється, він відключається, створюється новий робочий процес, а підключення та запити користувачів перерозподіляються між робочими процесами.

Встановлене обмеження було настільки маленьким (300Мб), що робочий процес було повністю обслужити навіть одного інтенсивно працюючого користувача - у результаті менеджер кластера серверів безперервно перезапускав робочі процеси і перепідключав користувачів. Як тільки створювався новий процес і користувачі до нього підключалися – ліміт оперативної пам'яті майже миттєво досягався та викликав наступний перезапуск. На це і витрачалося 100% завантаження процесора.

Компонента "Сервер 1C: Підприємства" не потрібна на клієнтських робочих місцях, та й не зможе там запуститись, оскільки вимагає фізичної наявності ключа захисту.

У випадку, якщо кількість користувачів, що підключаються, невелика (менше 50) - сервер додатків зазвичай встановлюють на тому ж комп'ютері, де працює MS SQL Server.

Для систем з великою кількістю користувачів та/або великим обсягом інформаційних потоків рекомендується роздільне встановлення, а також застосування кластера серверів.

Компонента "Адміністрування сервера 1С: Підприємства" може бути корисною і на клієнтах – наприклад, за її допомогою можна побачити список інформаційних баз, підключених до заданого сервера "1С: Підприємства".

На самому сервері її рекомендується встановити.

Доступ

Зверніть увагу:

Для перевірки того, що доступ забезпечений, недостатньо використання утиліти адміністрування серверів 1C: Підприємства, а тим більше недостатньо присутності сервера в "Мережевому оточенні"!

Необхідно на кожному клієнті виконати вхід до бази даних, встановлену на сервері – тільки це дасть 100% впевненість, що доступ забезпечений.

1. Залежно від політик безпеки, для MS SQL Server застосовується автентифікація облікового запису Windows або автентифікація облікового запису MS SQL Server.




У разі створення бази даних "1С: Підприємства" система буде запитувати логін і пароль облікового запису MS SQL Server (наприклад, sa), у першому випадку логін і пароль слід залишати порожніми:



і тому користувачеві системи, від імені якого запущено сервер 1С: Підприємства, необхідно надати права в MS SQL Server, а саме:

      повні права на базу даних, в якій міститься інформаційна база
      доступ до бази даних master (роль public)
      рекомендується – права створення бази даних, інакше кожну нову базу даних потрібно спочатку створювати засобами MS SQL Sever, а потім підключати до серверу 1С: Підприємства
      рекомендується - право видалити свою базу даних



Наприклад, можна призначити розглянутому користувачеві певну роль processadmin або sysadmin.

Порада.

Якщо у всіх користувачів одночасно зник доступ до робочої бази даних – потрібно перевірити ще раз права та ролі користувача в MS SQL Server, у тому числі встановлені для конкретної бази даних, тобто User mapping:




2. Сервер 1С: Підприємства звертається до MS SQL Server через механізм Microsoft Data Access, тому його компоненти мають бути встановлені, а користувача сервера 1С: Підприємства (див. попередній пункт) мають права їх запуск.

3. Зв'язок між клієнтами та сервером підтримується протоколом TCP, тому необхідно, щоб цей протокол підтримувався обома сторонами. Можливі проблеми зі зіставленням імені сервера та його IP адреси, наприклад, якщо використовується однорангова мережа. У такому випадку слід записати відповідність у файлі [С: WINDOWS] system32driversetchosts .

Порада.

Якщо мережа однорангова – для забезпечення постійного підключення до сервера створіть мережний диск, який звертається до будь-якої папки цього сервера.

4. У разі використання протоколу Named Pipes, і якщо MS SQL Server та сервер 1С: Підприємства встановлені на різних комп'ютерах – користувач, від імені якого працює сервер 1С: Підприємства, має бути зареєстрований у списку користувачів комп'ютера, на якому запущено MS SQL Server.

5. У деяких випадках може знадобитися додаткове налаштування брендмауера Windows, тобто додавання винятків.

6. Деякі антивіруси можуть блокувати "небажаний" мережевий трафік, тому може знадобитися доповнення їх списків винятків.

7. Реліз платформи "1С: Підприємства 8" має бути абсолютно однаковим на клієнті та на сервері.

"Близнюки"

"У одного із замовників застосовувалося два сервери баз даних, на кожному з яких розташовувалась одна робоча база. Користувачі працювали - кожен одночасно з обома базами. Служби підтримки виконала оновлення платформи "1С: Підприємства 8" на серверах та клієнтах…. І тут посипалися скарги на неможливість підключення - то до однієї, то до іншої бази.Аналіз ситуації показав - оновлення на клієнтах і серверах робили кілька людей, і встановлювальні фахівці не перевіряли ще раз, що встановлюють один і той же реліз.Тому на одному сервері був один реліз платформи, на другий – інший, на половині клієнтів – перший із цих релізів, на іншій половині – інший, вийшло, що кожен користувач має доступ лише до однієї з баз даних.

Для швидкого вирішення проблеми довелося встановлювати кожному користувачеві обидва релізи платформи та створювати окремі ярлики для входу до кожної бази даних.

Початкові налаштування MS SQL Server та бази даних

"І так працює"

MS SQL Server відрізняється простотою початкової установки, тому не всі адміністратори спантеличуються його додатковим налаштуванням – після виконання установки за замовчуванням база запрацювала, користувачі до неї увійшли – робота виконана. Такий підхід майже завжди спричиняє виникнення проблем приблизно через місяць чи два – причому, звичайно ж, раптово і в найнезручніший момент.

Наприклад, якщо база призначена для ведення обліку – перед складанням податкової звітності найчастіше виникає необхідність терміново перерахувати ті чи інші дані, причому перерахувати масово, скажімо "всі надходження основних засобів з початку року". Причому протягом робочого дня, без зупинки роботи решти користувачів бази даних.

І, звичайно, саме в цей момент виявиться, що база за такого перерахунку "зависає", або "вилітає", або не дає працювати іншим користувачам.

Цей свого роду "закон Мерфі" стосується кожного з наведених нижче пунктів.

Перед початком використання MS SQL Server як СУБД для "1С:Підприємство" рекомендується:

1. Встановити значення параметра max degree of parallelism рівним 1.

Тобто:

      після під'єднання до сервера увійти до властивостей сервера через контекстне меню, пункт Properties
      далі вибрати сторінку Advanced та відредагувати параметр max degree of parallelism






В іншому випадку деякі запити, що формуються сервером 1С: Підприємства, можуть викликати помилку "Intra-query parallelism caused your server command (process ID #XX) to deadlock. Rerun the query without intra-query parallelism by using the query hint option (maxdop 1 )". Після цієї помилки клієнтська частина найчастіше аварійно завершується.

Помилка не виявлятиметься стабільно, оскільки план запиту формується по-різному залежно від накопичених статистик – вона виявить себе на об'ємних і складних запитах, тобто в найневдаліший момент.

2. Створити План обслуговування (Maintance Plan), що обрізає (shrink) базу даних тимчасових таблиць tempdb. Автоматично база тимчасових таблиць сервером 1С: Підприємства очищається який завжди, котрий іноді, внаслідок невдало написаного запиту, може бути сформована і очищена тимчасова таблиця розміром, наприклад, 50 Гб. Внаслідок цього може закінчитися місце на диску, внаслідок цього можливе аварійне завершення і клієнтської, і серверної частини, також є невеликий ризик порушення цілісності даних.

Тобто потрібно:

      зайти до MS SQL Management Studio
      після під'єднання до сервера розкрити розділ "Maintance plans"
      створити новий (або доповнити наявний) План обслуговування,
      додати до нього пункт "Execute T-SQL Statement task" (оскільки завдання "Shrink database" не можна вибрати базу tempdb) з кодом




1.USE
2.
3.GO
4.
5.DBCC SHRINKFILE (N"tempdev", 0, TRUNCATEONLY)
6.
7.GO
8.
9.DBCC SHRINKFILE (N"templog", 0, TRUNCATEONLY)
10.
11.GO

Слід врахувати, що ім'я файлу бази даних тимчасових таблиць може бути рівним " tempdev " . Для перевірки цього імені можна використовувати скрипт

1.USE tempdb
2.
3.GO
4.
5.EXEC sp_helpfile
6.
7.GO




"Горщик, не вари"

Найпоширеніший на практиці спосіб переповнити tempdb і тим самим "упустити" сервер - це забути вказати умову при з'єднанні таблиць.

А саме, скажімо, у нас в базі є дві таблиці, розміром по 20 тисяч записів кожна. Допустимо, між їхніми записами можна встановити однозначну відповідність, і ми пишемо запит, який створює тимчасову таблицю, яка містить 20 тисяч записів з полями обох вихідних таблиць. Але якщо ми забудемо вказати умову з'єднання – кожен запис першої таблиці з'єднається з кожним другий записом! Тобто вийде результуюча таблиця з 20 000 * 20 000 = 400 млн. записів. І так далі.

3. Для зниження навантаження на дискову підсистему рекомендується по можливості розносити по різних фізичних дисках робочу базу і tempdb, логи, файл підкачування системи.

Потрібний шлях для зберігання файлів робочої бази краще задати при її створенні, відредагувавши стовпчик Path (Шлях):




Для зміни фізичного розташування файлів бази часових таблиць використовується команда ALTER DATABASE, тобто в MS SQL Management Studio потрібно виконати наступний скрипт (команда "New query")

1.USE master
2.
3.GO
4.
5.ALTER DATABASE tempdb
6.
7.MODIFY FILE (NAME = tempdev, FILENAME = "Новий_Диск:\Новий_Каталог\tempdb.mdf")
8.
9.GO
10.
11.ALTER DATABASE tempdb

12.
13.MODIFY FILE (NAME = templog, FILENAME = "Новий_Диск:\Новий_Каталог\templog.ldf")
14.
15.GO

4. Не слід ускладнювати "зростання" робочої бази даних та її лога - обмеження на розмір бути не повинно, властивість "Autogrowth" має бути встановлена ​​у відсотках, рекомендоване значення 10%. В іншому випадку додавання даних до бази, відновлення з архіву та інші операції можуть виконуватися невиправдано довго.

Для встановлення цієї властивості потрібно через контекстне меню зайти до властивостей бази, вибрати розділ Files, відкрити редагування властивостей файлу:



5. Рекомендується включити в MS SQL Server підтримку мережного протоколу TCP/IP і вимкнути решту, інакше спільна робота MS SQL Server і сервера 1С: Підприємства буде менш стабільною.




6. Там - очистити розділ Alias, т.к. її встановлення призводить до помилок взаємодії MS SQL Server та сервера 1С: Підприємства.

Перед початком експлуатації бази даних рекомендується:

1. При створенні бази даних з "1С:Підприємства" встановити "зміщення дат" 2000, в протилежному спроба запису дати раніше 01.01.1753 (що можливо через людський фактор) - буде викликати збої в роботі бази даних.

Увага! Усунення дат не можна буде змінити у існуючої бази даних!



2. Встановити Режим відновлення (Recovery model) у значення Простий (Simple), або створити План обслуговування (Maintance Plan), який щодня створюватиме резервну копію (backup) бази даних та обрізатиме журнал транзакцій (log-файл). В іншому випадку при деяких операціях журнал транзакцій (log-файл) дуже швидко зростатиме: наприклад, при реструктуризації бази даних зростання розміру log-файлу може в кілька разів перевищити розмір самої бази даних.




3. Створити План обслуговування (Maintance Plan), що виконує такі регламентні завдання щонайменше раз на тиждень:

      Створення резервної копії (backup) бази даних.
      Оновлення статистик бази даних та очищення процедурного кешу (слід зазначити, що властивість autoupdate statistics не передбачає очищення процедурного кешу).
      Очищення процедурного КЕШу – не входить до стандартних операцій Планів обслуговування, цей крок потрібно визначати як виконання скрипту (Execute T-SQL Statement) з таким вмістом:
      DBCC FREEPROCCACHE
      Реіндексація таблиць бази даних.






Звичайно ж, при цьому є сенс налаштувати автоматичне надсилання електронних листів про успішне/неуспішне виконання завдань.




Висновок

Розглянуто питання, які найчастіше викликають складнощі у системних адміністраторів та впроваджувачів "1С: Підприємство 8", у зв'язку із спільним використанням MS SQL Server та клієнт-серверної версії "1С: Підприємство 8".

Автор сподівається, що досить послідовно та доступно висвітлив "обидві сторони медалі".

P.S. Найчастіше робіть бекапи!