Введение
r_keeper_7 можно связать только с MS SQL версии 2012 и выше.
Настройка связи с MS SQL 2012
Установка SQL сервера
-
Установить MS SQL Server 2012 или выше. Можно использовать выпуск Express.
Во время установки сервера следует использовать смешанный режим аутентификации и задать пароль для пользователя "sa". О процессе установки MS SQL Server 2008 R2 более подробно можно почитать здесь.
-
Запустить SQL Management Studio и создать новую базу, например с именем RK7.
-
В Диспетчере конфигурации SQL Server включить протокол TCP/IP. Перезапустить SQL Server.
- Перевести базу в режим версионности строк (Row Versioning)
По-умолчанию SQL Server работает в режиме "Read Commited", который подразумевает блокирование данных во время запроса. Это может сильно помешать в случае многопользовательской работы. Начиная с версии 2005 поддерживается режим "READ COMMITTED using row versioning", при котором блокировки могут помешать только в случае, когда разные пользователи пишут в одно и то же место, чтение же данных никогда не блокируется и никого не блокирует.
Для включения режима версионности строк надо выполнить скрипт:
ALTER DATABASE RK7 SET READ_COMMITTED_SNAPSHOT ON;
Подробнее смотрите здесь или здесь.
Настройка менеджерской станции
-
Зайти в справочник Сервис > Экспорт данных > Настройки Внешних БД и сделать копию предустановленной настройки «Microsoft SQL Server». Присвоить ей уникальное имя.
-
В поле Основное > Строка соединения (Base > Connection string) нажать на кнопку в конце строки.
Рис.1
- Нажать кнопку "Build..." и настроить связь с БД, созданной в пункте 1.
Рис.2
- Проверяем, что на вкладке "Поставщик данных" выбран провайдер Microsoft OLE DB Provider for SQL Server. На вкладке «Соединение» выбираем сервер из списка1, вводим имя пользователя и пароль , выбираем Базу данных и нажимаем кнопку «Проверить подключение». Если проверка соединения прошла успешно, то нажимаем «ОК». Потом опять жмем "ОК".
Имя сервера можно посмотреть при запуске SQL Server Management Studio (рис.ниже).

- В итоге "Строка соединения" примет вид "Provider=SQLOLEDB.1;Password=1;Persist Security Info=True;User ID=sa;Initial Catalog=RK7;Data Source=127.0.0.12"
Примечание: Data Source = имя или IP-адрес компьютера, на котором стоит SQL Server. Возможен вариант с именем экземпляра сервера, например 192.168.190.150\SQLEXPRESS.
-
Далее делаем выгрузку в БД SQL, используя созданную настройку.
-
Открываем справочник Сервис > Экспорт данных > Экспорт в другую БД, выбираем настройку, созданную в п.5. Прописываем «Имя пользователя» и «Пароль».
-
В блоке "Параметры экспорта" оставляем галочки по умолчанию, если выгрузка происходит в чистую БД SQL.
-
Нажимаем кнопку «Проверить». При удачном соединении кнопка "ОК" станет активной, нажимаем ее. Запуститься экспорт данных в БД SQL. В этот момент в SQL создаются таблицы.
-
При успешной выгрузке окно с "Настройками экспорта данных" закроется. Дополнительных сообщений не появится.
-
Далее необходимо настроить сервер справочников (или отчетов), пролицензировав его и выбрав настройку созданную в п.5.
-
Откройте справочник Настройки > OLAP Отчеты > Серверы Отчетов, выберите нужный сервер и настройте его согласно пунктам ниже.
-
Пролицензируйте сервер справочников/отчетов согласно описанию в статьях http://support.ucs.ru/ru/node/5237#header-2 и http://support.ucs.ru/ru/node/7161.
-
В группе Связь с внешней БД сделать следующее:
- В поле «Настройки связи с внешней БД» выбрать настройку, созданную в п.5 .
- В поле «Имя пользователя внешней БД» прописать имя пользователя БД SQL.
- В поле «Пароль пользователя внешней БД» прописать пароль пользователя БД SQL.
-
Укажите такие же настройке в группе Логи справочников:
-
В поле «Настройки связи с внешней БД» выбрать настройку, созданную в п.5 .
-
В поле «Имя пользователя внешней БД» прописать имя пользователя БД SQL.
-
В поле «Пароль пользователя внешней БД» прописать пароль пользователя БД SQL.
-
-
В группе «Основное» сделать следующее:
-
В поле «Источник данных кубов» выбрать параметр «БД SQL»
-
В поле «Протоколирование запросов» выбрать параметр «llErroneous»*
-
В поле
Режим базы данных UDB
выбрать один из режимов: большой, средний, маленький, ультра легкий. Данный режим относиться к накопительной базе Check.udb. Описание ниже.
- Большой (полная копия). Это режим по умолчанию. Использовался для простых ресторанов (не сетевых). Раньше это был единственный возможный вариант, если не использовалось подключение к внешней базе данных. Не меняйте параметр "Полная копия" на другое, пока не настроите соединение с внешней базой данных.
- Средний (частичная копия). Режим означает, что кроме данных заказов, все суммы будут сохраняется в check.udb.
- Маленький (только чеки). Режим используется, если вы уверены, что будет иметься достаточно много накопительных данных (несколько ресторанов). В большинстве случаев рекомендуется использовать этот режим, чтобы база не становилась слишком большой.
- Ультралегкий (только общие смены). В check.udb будет содержаться только информация об общих сменах и ссылки на них в базе SQL.
Примечание: в ветке 7.5.3 и выше рекомендуется использовать режим маленький или ультралегкий.
Примечание: Если вы решили изменить режим "базы данных UDB" с большого на маленький при настроенной связи с SQL (т.е. ресторан проработал в таком режиме уже продолжительное время) и выполнить ручной экспорт накопительных данных повторно, то размер файла Check.udb автоматически уменьшиться, в результате чего большая часть информации из этой базы будет удалена, и в базу SQL экспортируются не все данные. Поэтому никогда не делайте экспорт накопительных данных, если вы используете режим базы данных UDB Маленький или Средний.
-
В секции Обработка данных выбрать рестораны (ресторан представлен набором кассовых серверов), данные с которых мы хотим собирать и видеть в отчетах.
-
В файле конфигурационном файле сервера справочников rk7srv.INI / отчетов repsserv.ini прописать параметр
UseSQL=1
для сервера справочников прописывать в секции [RefServer], для сервера отчетов — в секции [Config]
-
Обязательно перезагрузить сервер справочников / отчетов.
Примечание: если необходимо поменять что-то в настройках какой-либо внешней БД, то первоначально нужно остановить все серверы отчётов, которые используют эту настройку и запустить их с параметром UseSQL=0, поменять настройки, вновь остановить сервер, потом вернуть параметру UseSQL значение 1 (UseSQL=1). Т.е. все изменения в настройках внешней БД происходят во время работы сервера при параметре UseSQL=0.
Примечание: при смене режима базы данных UDB с большого на средний или маленький и последующей выгрузке в SQL, произойдет удаление большинства накопленной информации в базе check.udb. Это критично, когда не используется внешняя накопительная БД в SQL.
Примечание: одновременно для нескольких ролей в РК7 нельзя сделать связь с БД в SQL Server используя одного и того же пользователя в БД SQL. В РК7 просто не сохраниться информация о пользователе в настройках связи с внешней БД.
Оптимизация производительности



Возможные проблемы
Проблема 1: Иногда может не идти экспорт в только что созданную БД сервера SQL Server 2008 при выбранном провайдете Native Client согласно п.3.1.3.
Решение: Выберите другой провайдер Microsoft OLE DB Provider for SQL Server, создайте заново чистую БД и повторите экспорт.
Проблема 2: Не строятся прямые отчёты
Решение: Для каждой роли, если у нее разные права на доступ на просмотр отчетов на разные объекты (например у одной роли разрешен просмотр для одного объекта, а у другой - на несколько), то для роли для построения прямых отчетов нужно заводить разных пользователей на SQL сервере и соответственно настроить роли с такими пользователями в SQL. Схематично показано на рисунке ниже.
Рис.4
* Вести протоколирование:
llAll - всех запросов
llErroneous - запросов с ошибками
llNone - не протоколировать