Добрый день.
Настроил репликацию для двух точек.
База велась на одной территории, потом поставил базу на другую.
Базу переносил при помощи той же репликации.
Т.е. на точке создал пустую базу и сказал - реплицируй.
Пользователи конечно ни какие не перенеслись.
Завел логины поключил их к базе... Все работает... Видят все кому чего положено...
Eсть три человека, которые могут управлять проектами. Они могут редактировать проекты, но не могут добавить файл в проект. Вылезает ошибка
На основной точке они в эти проекты добавлять файлы могут.
Права в SQL я сравнил - все одинаково.
Я посмотрел, на эту таблицу в SQL-у явные права даны в группе "Все пользователи" (если смотреть из интефейса Террасофта, то у группы "Все пользователи" нет вообще ни одной галочки !!!???). Эти три пользователя в эту группу входят...
Помогите пожалуйста в этой ситуации.
Нравится
Зашел под именем одного из проблемных пользователей в SQL Query Analyzer. Запись в таблицу добавилась без всяких проблем.
Кирилл, какие лицензии у "проблемного" пользователя?
Не очень понял вопрос...
Как у всех. У нас у всех лицензии одинаковые...
А они разные бывают?
Я думаю, что там все кроме администратора не смогут в проект файл добавить, просто остальным и нельзя этого делать, поэтому никто и не пробовал.
Да, они бывают не только конкурентные и именные, но еще на разные продукты. Например: SD Agent и SD User. У "проблемного" пользователя какие?
А как это посмотреть?
Но наверное не в лицензии дело, т.к. на основной точке этот пользователь файлы к проекту цепляет без проблем.
Да, с лицензиями все ок.
Выполните под "проблемным" пользователем запрос на центральной точке и на удаленной:
SELECT * FROM [dbo].[fn_CurrentUserTableGroupRoleList] () WHERE [SQLObjectName] = 'TG_OPPORTUNITY' GO
Какие результаты?
Кирилл, есть ли у Вас документ "TSCRM MSSQL Руководство по репликации.doc"? Если есть посмотрите пункт 5.2. Использование утилиты репликации.
на основной
read 1; insert 1; update 1; delete 0
на второй
read 1; insert 0; update 1; delete 0
???
Ну как бы все понятно:)
На основной разрешено добавление, на второй нет.
Да не очень понятно...
Права то стоят, я даже ему явные давал без групп на добавление и изменение файлов и проектов ничего не помогает.
Сейчас сравнил права в террасофте сделал точно все одинаково
Все равно не работает.
Причем результат запроса остался прежним. Т.е. прав не хватает.
Как Вы проверяете что права в SQL на основной точке и удаленной совпадают для таблицы tbl_FileInOpportunity?
В базе данных существует роль TG_OPPORTUNITY_CI, этой роли разрешена вставка в таблицы tbl_Opportunity и tbl_FileInOpportunity. Так ли это на удаленной точке?
Когда Вы разрешаете через раздел Администрирование роли или пользователю вствку в группу таблиц "Проекты", пользователь или роль становится членом роли и получает возможность вставки записи. Так ли это на удаленной точке?
в SQL EM -> Tables -> tbl_FileInOpportunity -> Permission -> List only ...
Там остается 5 групп TG_..._CD, ..CI ..CR ..CD и Все пользователи у групп TG права на свою функцию у "Все пользователи" на все кроме удаления.
Ну да так и есть
TG_OPPORTUNITY_CI права есть
в эту группу включены все нужные группы и пользователь там такой есть.
Один из трех человек вообще включен в группу администрация, которая потенциально может делат все...
Откройте на удаленной точке в Администраторе таблицу tbl_FileInOpportunity. Указана ли там группа таблиц "Проекты"?
Создал новые проект проверил добавление файлов у всех трех пользователей.
Ситуация такая: у двоих работает, у одного (собственно самого нужного) - нет.
Отличаются они тем, что последний пользователь самый новый.
Я его заводил в террасофт, когда базы были уже разделены.
Т.е. он не реплицировался со всеми вместе в начале, а заведен потом...
Есть ли у Вас документ "TSCRM MSSQL Руководство по репликации.doc"? Если есть посмотрите пункт 5.2. Использование утилиты репликации.
Руководство есть. Репликация работает, все передается, все принимается.
Да указана
Кирилл, не может все передаваться и приниматься.
В п.5.2. описаны ограничения, которые появились в версии 3.2:
В версии Terrasoft CRM 3.2 по репликации не передаются таблицы логирования, пользователи, роли, права на группы таблиц, права на поля таблиц, а также вхождения пользователя в роль и роли в роль на сервере.
"Хомутов Кирилл" написал:Т.е. на точке создал пустую базу и сказал - реплицируй.
Пользователи конечно ни какие не перенеслись.
"Хомутов Кирилл" написал:Завел логины поключил их к базе... Все работает... Видят все кому чего положено...
Я имел ввиду, что данные переносятся.
Объясню более подробно. Репликация может передавать только данные, которые храняться в пользовательский таблицах, таких как tbl_Account, tbl_Contact и т.п. Пользователи и роли храняться в таблице tbl_AdminUnit, и данные этой таблицы передаются, но(!) начиная с версии 3.1.0 мы создаем еще пользователей и на стороне сервера: логины, пользователи и роли. Эти объекты уже не данные, а обьекты базы данных и сервера и репликация их не "видит". Для того чтобы и они передавались Вам необходимо написать sql скрипты по созданию пользователя(не как записи в таблице tbl_AdminUnit, а через конструкции sp_adduser или create user - зависит от версии sql сервера), логина(sp_addlogin или create login), ролей и опять же запросом раздать права инструкциями GRANT, REVOKE и DENY. И эти запросы добавить в таблицу rep_ExecutedSQL(см. п. "5.3.1. Отправка SQL-скриптов" все того же руководства)
Спасибо Вам, Александр, за помощь!
Получилось у меня все!!!
Я переподключил пользователей в группы в террасофте...
До этого я делал это только с группой "Все пользователи", поскольку только она фигурировала в правах на таблицу. Сейчас сделал просто по всем имеющимся...
По поводу переноса пользователей я понял, но мне и не нужно, чтобы у меня пользователи реплицировлись.