Установка ПО «Альта-ГТД» состоит из двух этапов:
Серверная часть представляет собой базу данных (далее БД) под управлением СУБД (Система Управления Базами Данных) Microsoft SQL Server 2005/2008/2012/2014 и обычно размещается на выделенном сервере, подключенном к локальной сети организации.
При отсутствии в локальной сети организации установленной СУБД MS SQL Server необходимо приобрести ее у корпорации Microsoft (или скачать бесплатную версию с сайта корпорации Microsoft) и выполнить ее установку – см. установка SQL2005, установка SQL2008 или установка SQL2012, установка SQL2014 (рекомендуется).
Клиентские рабочие места представляют собой собственно программу «Альта-ГТД» (устанавливается как обычно), которая обеспечивает интерфейс пользователям для работы с общей БД. Размещаются они на рабочих станциях пользователей, также подключенных к локальной сети организации.
Примечание. Связь между клиентскими рабочими местами и сервером происходит по протоколу TCP/IP, порт 1433 (может быть настроен – см. справочную систему MS SQL Server).
Перед началом установки необходимо определиться со способом авторизации пользователей для доступа к SQL Server.
Существует два варианта авторизации пользователей для доступа к MS SQL Server:
Для этого необходимо:
a) Запустить утилиту SQL Server Management Studio (из состава MS SQL Server).
b) Подключиться к серверу под учетной записью администратора (можно использовать встроенную учетную запись «sa», пароль для которой задавался при установке SQL Server, либо выбрать вариант «Проверка подлинности Windows» в случае, если текущий пользователь сеанса Windows обладает правами администратора в SQL Server):
c) С помощью меню «Файл/Открыть/Файл» открыть файл «gtd.sql», который поставляется вместе с ПО «Альта-ГТД» (в папке C:\ALTA\UTILS):
d) Выполнить меню «Запрос/Выполнить», в результате чего в нижней строке окна должна появиться надпись «Запрос успешно выполнен»:
Примечание. Если появится что-то другое, например, «Запрос завершен с ошибками», то сохраните сообщения об ошибках в текстовый файл и обратитесь в тех. поддержку компании «Альта-Софт».
Последовательность действий по настройке доступа к SQL Server практически одинакова для обоих вариантов авторизации пользователей (см. «Подготовка к установке»):
a) Запустить утилиту SQL Server Management Studio и подключиться к серверу под учетной записью администратора – см. шаги 1.a) и 1.b).
b) В левой части окна нажать правой кнопкой мыши на разделе «Безопасность/Имена входа» и в контекстном меню выбрать пункт «Создать имя входа»:
c) Для создания учетной записи SQL Server – ввести имя в поле «Имя входа», выбрать вариант «Проверка подлинности SQL Server», дважды ввести пароль в поля «Пароль» и «Подтверждение пароля» и снять галочку «Требовать использование политики паролей»:
Для предоставления прав доступа к SQL Server пользователю или группе домена Windows – выбрать вариант «Проверка подлинности Windows», нажать кнопку «Найти» рядом с полем «Имя входа» и выбрать нужного пользователя/группу, либо просто ввести его полное имя (включая домен) в поле «Имя входа»:
d) На странице «Серверные роли» для обычного пользователя не требуется устанавливать какие-либо галки, кроме включенной по умолчанию «public»:
Примечание. Если требуется, чтобы пользователь имел возможность создавать дополнительные базы для вынесения ЭД-сообщений из основной (полезно для бесплатных версий SQL Server, имеющих ограничение на максимальный размер базы), то на этой странице ему необходимо включить галочку «dbcreator».
e) На странице «Сопоставление пользователей» надо установить галочку возле базы «gtd» и, поставив курсор на этой строке, в нижней части окна установить галочку «db_owner»:
f) На странице «Защищаемые объекты» нажать кнопку «Добавить», в появившемся окне выбрать пункт «Сервер …» и нажать «ОК»:
g) В нижней части окна в строке «View server state» («Просмотр состояния сервера») установить галочку в столбце «Предоставить»:
Примечание. Шаги f) и g) можно НЕ выполнять для каждого вновь создаваемого пользователя в отдельности, а выполнить один раз для серверной роли «public», в которую по определению входят ВСЕ пользователи, подключающиеся к SQL Server. Для этого в разделе «Безопасность/Серверные роли» надо дважды щелкнуть на пункте «public» и выполнить вышеописанные действия (страница «Защищаемые объекты» там будет называться «Разрешения»), либо выполнить SQL-запрос (в базе «master»):
GRANT VIEW SERVER STATE TO [public]
h) На странице «Состояние» все параметры должны соответствовать рисунку:
Рекомендуется настроить регулярное резервное копирование базы данных (на случай аппаратных или программных сбоев), причем лучше всего с сохранением резервных копий за последние несколько дней, например семь (за последнюю неделю).
Для этого можно использовать либо встроенный в SQL Server планировщик заданий – «SQL Server Agent» (в бесплатную версию не входит), либо стандартный «Планировщик Windows» в сочетании с утилитой SQLCMD.EXE, которая позволяет выполнять запросы к SQL Server из командной строки. В планировщике необходимо создать как минимум семь заданий (по одному на каждый день недели), каждое из которых будет (раз в неделю) заменять один из семи файлов, содержащих соответствующую резервную копию базы данных.
Кроме того, файлы резервных копий рекомендуется хранить не только на жестком диске компьютера, где установлен SQL Server, но и дублировать их на ленту или жесткий диск другого компьютера в сети. Для этого можно использовать либо специальное ПО, которое позволяет делать резервные копии всего диска, либо с помощью того же планировщика копировать файлы на ленту или другой компьютер (вторым шагом).
Чтобы создать задание в «Планировщике Windows» надо:
a) Запустить программу «Блокнот» (Пуск→Все программы→Стандартные→Блокнот) и ввести следующие две строки, после чего сохранить их в виде командного файла (*.BAT):
SQLCMD -S (local) -E -Q "BACKUP DATABASE gtd TO DISK = 'D:\BACKUP\gtd_monday.bak' WITH INIT, NOFORMAT, SKIP, NOUNLOAD"
XCOPY D:\BACKUP\gtd_monday.bak \\BACKUP_SERVER\Folder\*.* /Y
где «(local)» – имя сервера (в случае установки именованного экземпляра SQL Server надо указать имя полностью: «ИМЯ_КОМПА\SQLEXPRESS»), «gtd» – имя базы данных, «D:\BACKUP\gtd_monday.bak» – имя файла для создания в нем резервной копии (будет различаться по дням недели), «BACKUP_SERVER» – имя компьютера, на который будет выполняться дополнительное копирование, «Folder» – папка на этом компьютере (к ней должен быть предоставлен общий доступ).
b) Запустить мастер планирования заданий (Панель управления→Назначенные задания→Добавить задание) и нажать кнопку «Далее»:
c) Нажать кнопку «Обзор» и указать путь к командному файлу (*.BAT), созданному на шаге a):
d) Указать имя для задания, выбрать вариант запуска «еженедельно» и нажать кнопку «Далее»:
e) Поставить галочку возле нужного дня недели, а в поле «Время начала» указать время, когда должен запускаться процесс резервного копирования (обычно это делается ночью), затем нажать кнопку «Далее»:
f) Ввести имя пользователя и пароль (дважды) учетной записи ОС, от имени которой будет выполняться задание, и нажать кнопку «Далее»:
Внимание! Чтобы задание успешно выполнялось необходимо предоставить указанной здесь учетной записи (домена или локального компьютера) права записи в вышеупомянутую папку «\\BACKUP_SERVER\Folder», а также настроить доступ к самому SQL Server (см. раздел «Настройка прав доступа к БД», включить эту учетную запись надо в роль «sysadmin» на странице «Серверные роли», а на страницах «Сопоставление пользователей» и «Защищаемые объекты» ничего не делать).
g) Нажать кнопку «Готово»:
Примечание. Чтобы проверить работоспособность созданного задания необходимо в списке заданий (Панель управления→Назначенные задания) нажать правой кнопкой мыши на интересующем задании и в контекстном меню выбрать пункт «Выполнить», затем убедиться, что файл резервной копии БД успешно создался по тем путям, которые были указаны на шаге a).
Чтобы создать задание в SQL Server Agent надо:
a) Запустить утилиту SQL Server Management Studio и подключиться к серверу под учетной записью администратора – см. шаги 1.a) и 1.b).
b) В левой части окна нажать правой кнопкой мыши на разделе «Объекты сервера/Устройства резервного копирования» и в контекстном меню выбрать пункт «Создать устройство резервного копирования»:
c) В поле «Имя устройства» ввести имя, которое будет ассоциироваться с файлом резервной копии БД, при необходимости изменить путь в поле «Файл» и нажать «ОК»:
d) В левой части окна нажать правой кнопкой мыши на разделе «Агент SQL Server/Задания» и в контекстном меню выбрать пункт «Создать задание»:
e) В поле «Имя» ввести имя задания:
f) На странице «Шаги» нажать кнопку «Создать»:
g) В появившемся окне ввести имя в поле «Имя шага», проверить, что в поле «Тип» выбрано «Сценарий Transact-SQL (T-SQL)», а в поле «Команда» ввести строку:
BACKUP DATABASE gtd TO gtd_monday
WITH INIT, NOFORMAT, SKIP, NOUNLOAD
где «gtd» – имя базы данных, «gtd_monday» – имя устройства резервного копирования, созданного на шаге c) (будет различаться по дням недели):
h) В предыдущем окне нажать кнопку «ОК», в результате на странице «Шаги» должна появиться строка:
i) Чтобы файл резервной копии БД сразу копировался на другой компьютер в сети необходимо повторить пункты f) – h), в окне «Создание шага задания» выбрав в поле «Тип» значение «Операционная система (CmdExec)», а в поле «Команда» указав строку:
XCOPY D:\MSSQL\BACKUP\gtd_monday.bak \\BACKUP_SERVER\Folder\*.* /Y
где «D:\MSSQL\BACKUP\gtd_monday.bak» – путь, указанный на шаге c) (будет различаться по дням недели), «BACKUP_SERVER» – имя компьютера, на который будет выполняться копирование, «Folder» – папка на этом компьютере (к ней должен быть предоставлен общий доступ):
Примечание. Чтобы копирование файла успешно выполнялось необходимо запускать SQL Server Agent под учетной записью домена Windows, для которой предоставлены права записи в вышеупомянутую папку (см. также «Установка SQL2005», «Установка SQL2008» или «Установка SQL2012»), а также настроен доступ к самому SQL Server (см. раздел «Настройка прав доступа к БД», включить эту учетную запись надо в роль «sysadmin» на странице «Серверные роли», а на страницах «Сопоставление пользователей» и «Защищаемые объекты» ничего не делать).
j) На странице «Расписания» нажать кнопку «Создать»:
k) Ввести имя в поле «Имя», проверить, что в поле «Тип расписания» выбрано значение «Повторяющееся задание», а в поле «Выполняется» – «Еженедельно». Поставить галочку возле нужного дня недели (остальные снять), а в поле «Однократное задание» указать время, когда должен запускаться процесс резервного копирования (обычно это делается ночью):
l) В предыдущем окне нажать кнопку «ОК», в результате на странице «Расписания» должна появиться строка:
m) Нажать кнопку «ОК».
Примечание. Чтобы проверить работоспособность созданного задания необходимо в разделе «Агент SQL Server/Задания» нажать правой кнопкой мыши на интересующем задании и в контекстном меню выбрать пункт «Запустить задание на шаге», в появившемся окне выбрать первый шаг данного задания и нажать «ОК». Далее появится окно отображающее ход выполнения задания. Если выполнение задания закончится с ошибкой, то подробное описание ошибки можно увидеть вызвав пункт «Просмотр журнала» того же контекстного меню.
Клиентские рабочие места (сама программа Альта-ГТД) устанавливается как обычно инсталлятором фирмы Альта (setup.exe) с использованием файла лицензии и привязкой к компьютеру пользователя.
Чтобы перевести программу Альта-ГТД в режим работы с SQL-базой данных (SQL-режим) необходимо:
1. В настройках программы Альта-ГТД (меню Настройка/Сервер и сетевые настройки/Общая база ГТД (SQL)) указать имя компьютера, на котором установлен SQL Server и выбрать тип авторизации и базу данных:
2. Выполнить меню Список/Переключиться в SQL-режим.
Примечания:
1) Переключаться между SQL-режимом работы и обычным (файловым) можно в любой момент и сколько угодно раз (меню Список/Переключиться в …).
2) Чтобы загрузить документы из файлов в SQL-базу данных необходимо выполнить меню Каталог/Загрузка из формата Альта-Windows (находясь в SQL-режиме). Чтобы сохранить документ из базы данных в файл – Каталог/Выгрузка в формате Альта-Windows (находясь в SQL-режиме).
3) Если возникнет проблема с подключением к SQL Server с компьютера пользователя (кнопка «Проверить соединение» выдаст ошибку типа «SQL-сервер не существует или отсутствует доступ», «Ошибка входа пользователя …», «Не удается открыть базу данных …» и т.п.), то необходимо проверить следующее:
4) Если проблема подключения к SQL Server не решается предыдущим пунктом - см. Восстановление компонентов MDAC (ADO, OLEDB) на компьютере