13.03.2013, 21:59 | #1 |
Участник
|
Даже не знаю к кому мой вопрос адресован больше: к спецам по НАВ или по SQL. Надеюсь, тут народ опытный и владеющий знаниями из обеих областей. />/>
Мы собрались переносить нашу навижнскую базу с 32-битного на 64-битный MS SQL Server 2008. Имеем: тестовый MS SQL Server 2008 R2 64bit. (старая база крутится на таком же только 32 бит) Первым делом следуя инструкции MS Support 918992 перенесли имена входа и пароли. Потом с помощью Ассистента копирования базы данных перенесли навижнскую БД на новый сервер. Проверили. Работает. Под разными именами заходили. Всё ОК. Пока тестировали на новом сервере, прошло несколько дней. За это время на старом добавили нового пользователя. Встала задача: перенести и его на новый. На новом я создала имя входа для него, потом восстановила бекап базы. "Старые" имена входа рабочие, новый - нет ;( Выполнила sp_change_users_login 'update_one', 'NewUser', 'NewUser' Юзер перестал быть потерянным, но при попытке зайти под этим именем в НАВ имеем следующее: 1) если пароль (умышленно) вводим неверно, тогда НАВ пишет ошибку: неверное имя пользователя/пароль 2) если пароль вводим верным, тогда ...происхоит самое интересное: НАВ на пару секунд задумывается, потом ругается: "Microsoft Dynamics NAV больше не функционирует. По какой-то причине программа была выполнена неверно и будет закрыта." Вопрос извечный: кто виноват и что делать? |
|
14.03.2013, 00:55 | #2 |
Участник
|
А провести синхронизацию логинов а НАВ'e не пробовали?
Т.е. по идее последовательность всегда такая: заводите логин юзера на SQL-сервере(обычно public/dbowner) -> добавляете логин в НАВ'e -> даёте юзеру требуемые права в НАВ'e -> если опция для сиинхронизации в НАВ'е "Enhanced", то запускаете ещё и синхронизацию логинов. И ещё: на новом серверe правильную (xp_ndo.dll 64-бит) зарегистрировали? |
|
14.03.2013, 11:46 | #3 |
Участник
|
Цитата:
Сообщение от AlexB
А провести синхронизацию логинов а НАВ'e не пробовали?
Т.е. по идее последовательность всегда такая: заводите логин юзера на SQL-сервере(обычно public/dbowner) -> добавляете логин в НАВ'e -> даёте юзеру требуемые права в НАВ'e -> если опция для сиинхронизации в НАВ'е "Enhanced", то запускаете ещё и синхронизацию логинов. И ещё: на новом серверe правильную (xp_ndo.dll 64-бит) зарегистрировали? В случае с новым юзером последовательность, вами указанная, вроде соблюдена: сначала завели имя входа на SQL сервере, потом юзер появился в НАВе, потом сделали синхронизацию Насчет dll: пока сказать не могу, т.к. не я сервер ставила и настраивала. Но если допустить, что библиотечка не та, тогда почему с остальными юзерами проблем нет? |
|
14.03.2013, 12:38 | #4 |
Участник
|
Цитата:
Сообщение от Kadawrik
2) если пароль вводим верным, тогда ...происхоит самое интересное: НАВ на пару секунд задумывается, потом ругается: "Microsoft Dynamics NAV больше не функционирует. По какой-то причине программа была выполнена неверно и будет закрыта." Вопрос извечный: кто виноват и что делать? Попробуйте пользователю дать права dbo - пройдет логин или нет? |
|
14.03.2013, 13:10 | #5 |
Участник
|
Как я поняла, эта dll-ка нужна для Windowы-авторизации?
Но мы используем SQL-авторизацию. На сервере я нашла этот файлик в каталоге с НАВ-клиентом. В БД Master в расширенных ХП xp_ndo_enumusersids и xp_ndo_enumusergroups не обнаружены. Но нужны ли они нам, если у нас авторизация не виндосовская? |
|
14.03.2013, 19:06 | #6 |
Участник
|
попробуйте GRANT VIEW SERVER STATE TO [myname]
ибо http://forum.mazzy.ru/index.php?show...ndpost&p=56136 P.S. не зная ваших подробностей, тяжело лечить проблему. |
|
14.03.2013, 20:57 | #7 |
Участник
|
Проблему решили.
Решила я удалить нафих этого пользователя отовсюду и создать его заново. Удалила сначала в НАВе. Потом имя входа на SQL сервере. Потом решила убедиться, что от него действительно следа не осталось. Но он, оказывается, еще в одном месте "наследил", а именно в ДБ master он тоже был зарегистрирован как юзер. Удалила и там. После этого восстановила еще раз базу из бекапа. затем EXEC sp_change_users_login 'Report' выявила "потерянных" и ею же "починила". Терь все работает! По ходу еще один вопрос: заглавные и строчные буквы в SQL-логинах и именах юзеров базы данных - насколько SQL Server к этому чувствителен? Есть у нас один юзер: его SQL-логин abc_D. В базе данных каким-то образом существуют пользователи: abc_D и ABC_d, причемв свойствах первого (на закладке General) стоит: SQL-Login abc_D, а у второго: without Login Прим.: [OurDB].[sys].[database_principals] показывает ABC_d [master].[sys].[database_principals] показывает ABC_D Что мне с этим юзверями сделать? в каком виде оставить? Или убрать всё совсем и завести нормального (полностью заглавными буквами... как у нас все остальные логины-юзеры заведены)? |
|
15.03.2013, 15:28 | #8 |
Участник
|
Цитата:
Сообщение от Kadawrik
По ходу еще один вопрос: заглавные и строчные буквы в SQL-логинах и именах юзеров базы данных - насколько SQL Server к этому чувствителен?
Есть у нас один юзер: его SQL-логин abc_D. В базе данных каким-то образом существуют пользователи: abc_D и ABC_d, причемв свойствах первого (на закладке General) стоит: SQL-Login abc_D, а у второго: without Login Прим.: [OurDB].[sys].[database_principals] показывает ABC_d [master].[sys].[database_principals] показывает ABC_D Что мне с этим юзверями сделать? в каком виде оставить? Или убрать всё совсем и завести нормального (полностью заглавными буквами... как у нас все остальные логины-юзеры заведены)? |
|