Насправді мова про перенесення саме сервера 1С, тому що при перенесенні тільки бази даних, клієнти цього не помітять. Шлях на клієнтах вказується на сервер 1С, а де у нього база, це його особиста справа. Просто не хотілося каламбуру в заголовку. Знадобилося перенести сервер 1С на інше залізо. Зберігати імена серверів не хотілося з двох причин:
- від цих довгих імен (чортів «СБСістем») вже давно хотілося позбутися;
- перенесення планувалося поступовий, кілька БД в різний час. Обидва сервера (старий і новий) повинні працювати одночасно.
Версії платформи 1С при перенесенні не змінювалися і постало завдання тільки підмінити шляху до БД у всіх клієнтів одночасно, швидко і, не підходячи до кожного ПК окремо. Машин багато, для різних БД від 4 до 150. установки для перегляду базі зберігаються в текстових файлах в особистих профілях користувачів, але проблема не в цьому, бо шлях до профілю ще можна побудувати, але у кожної людини в загальному випадку свій власний унікальний набір підключених БД. Тому підміняти файл зі списком БД ніяк не можна, а шукати в ньому потрібні символи і замінювати на нові - занадто складно. Тут програмувати потрібно. Це довго і невиправдано. Вирішено було зробити по-простому: всі роботи по перенесенню виконувати без суєти і поспіху, а на ранок щоб люди відразу могли працювати в перенесеної базі.
підготовка
√ створюємо нову базу на новому сервері 1С (можна і з своєї машини) Srvr = "b4: тисячу п'ятсот сорок одна"; Ref = "Work"
√ в AD створюємо універсальну групу безпеки "ShortCut-1C-UPP"
√ в групових політиках домену в потрібному контейнері створюємо об'єкт групової політики "ShortCut" і відкриваємо його на редагування. У розділі "User Configuration - Preferences - Windows Settings - Shortcuts" створюємо новий об'єкт (правий клік - New - Shortcut). Дія (Action) = Update. У довідці з цього ж вікна нормально описано, чим вони відрізняються. З поля Name братиметься підпис до значка, саме її будуть бачити користувачі у себе на робочому столі. Вводимо рядок запуску 1С в Target path (без лапок, як на рис. Інакше значок НЕ створиться). В аргументах вказуємо новий шлях до БД після ключа / S. В поле Comment можна зробити підказку, яка з'являється при наведенні курсору на значок, тобто це hint. Значок краще вибрати зі штатних (наприклад, з system32 \ shell32.dll), інакше ще доведеться файл із позначкою копіювати клієнтам. Якщо ярлик не вказати, на екрані буде звичайний значок 1С з запускається файлу, а це не дуже добре, це погано для нашої задачі.
Тепер цікаве. На вкладці Common ставимо тільки нижню птицю і тиснемо кнопку Targeting. Нам потрібно, щоб новий значок для запуску певної бази з'явився не у всі користувачів (щоб вони потім не дзвонили і не питали, че за фигня), а тільки у тих, хто користується цією базою. У цьому вікні додаємо New Item для Security Group = ShortCut-1C-ZUP (перемикач в положенні User in Group)
Важливо. Якщо на ПК клієнта значення поля "Target path" виявиться некоректним, значок НЕ створиться, тому не зайвим буде додати ще фільтри. Справа в тому, що на 64-розрядної системі шлях до запускающему файлу буде відрізнятися від шляху на 32-розрядної ОС. Тому для мережі, в якій працюють і 32 і 64 ОС робимо різні значки. Потрібно врахувати всі операційки, з якими доводиться стикатися. Наприклад, в мережі можуть бути Windows XP - 32-розрядні і Windows 7 - 64-розрядні. Тоді робимо 2 значка. У одного шлях «C: \ Program Files (x86) \ 1cv81 \ bin \ 1cv8.exe» і в фільтрі ОС = Windows 7. А в іншого шлях «C: \ Program Files \ 1cv81 \ bin \ 1cv8.exe» і в фільтрі ОС = Windows XP. Якщо люди працюють і в терміналі на серверах, врахувати і їх. Якщо одна і та ж ОС представлена і в 32, і в 64 розрядах, то можна додатково фільтрувати по змінного оточуючого середовища:
Так, комбінуючи, можна врахувати всі варіанти (або майже все).
√ створюємо тестову учетку, додаємо її в групу "ShortCut-1C-UPP" і тестуємо на різний операционках
√ в AD створюємо універсальну групу безпеки "1C-Users-UPP"
√ Заздалегідь (не поспішаючи і поступово) додати в AD всі облікові записи користувачів даної бази даних 1С в групу "1C-Users-UPP"
√ створюємо групу розсилки і пов'язуємо її з групою безпеки "1C-Users-UPP". Саме тому група і створювалася універсальної. тому тільки з універсальної групою безпеки можна пов'язати групу розсилки.
виконання
√ в неробочий час (наприклад в ПТ ввечері) вигнати всіх з яку переносять бази 1С і зробити вивантаження в * .DT
√ завантажити * .DT з попереднього пункту в нову базу Srvr = "b4: тисячі п'ятсот сорок один"; Ref = "Work";
√ поки відбувається завантаження, відключити колишню базу 1С, щоб ніхто не намагався працювати в неактуальною системі. Для цього запустити в меню "Пуск-Всі програми-1C Підприємство 8.2-cервер 1С Підприємства" консоль управління. Знайти скопійоване інформаційну базу і видалити її через контекстне меню. При видаленні Інформаційної бази буде поставлено питання про те, що робити з Базою даних на SQL сервері. Можна поки "Залишити без змін" про всяк випадок (Третя кнопка)
√ в AD додати групу "1C-Users-UPP" в групу "ShortCut-1C-UPP". Саме заради цього дії група "ShortCut-1C-UPP" теж повинна бути універсальною. Оскільки універсальна група не може бути членом глобальної.
Тепер після перезавантаження (перелогініванія) у користувачів, що входять в групу "1C-UPP-Users", на робочому столі повинен бути значок "1С УПП", який запускає УПП на новому сервері.