Primavera переключение компьютеров master.mdf заменить не работает

Я использую primavera с базой данных SQL Server.

Я сменил компьютеры, поэтому взял с собой файлы primavera_DAT, primavera_LOG, затем установил primavera на другой компьютер и заменил вышеуказанные файлы.

Проблема в том, что всякий раз, когда я вхожу в primavera, я могу установить соединение, но не могу войти в систему, и мне сообщается, что имя пользователя и пароль неверны.

Я провел небольшое исследование и обнаружил, что имена пользователей и пароли хранятся в файле master.mdf.

У меня также есть master.mdf с другого компьютера, однако, когда я их заменяю, я получаю сообщение об ошибке всякий раз, когда запускаю службу SQL Server из служб.

Как мне пересоздать логин или пасс для юзеров (privuser, pubuser) то есть получить новый master.mdf как старый??


person tony9099    schedule 10.04.2014    source источник


Ответы (1)


Вы можете воссоздать необходимые логины от пользователей вашей базы данных, используя sp_change_users_login с «Auto_fix», который будет отображать существующие логины и создавать новые логины, если они не существуют. Пароль должен быть задан и изменен позже для несуществующих логинов.

Declare @Membername varchar(255)
Declare @SQl Varchar(8000)


Select @SQL=''
Create Table #tmp
(
DbRole varchar (255),
Membername varchar (255),
MemberSid uniqueIdentifier
)
insert into  #tmp exec sp_helprolemember
Delete from #tmp where Membername in ('sa','dbo','guest')
Delete from #tmp where Membername like ('db_%')


DECLARE P_cursor CURSOR FOR 
SELECT Distinct Membername from #tmp

OPEN P_cursor

FETCH NEXT FROM P_cursor 
INTO @Membername

WHILE @@FETCH_STATUS = 0
BEGIN
   Select @SQL=@SQL + 'exec sp_change_users_login ''Auto_Fix'',  ''' + @Membername +'''  ,   NULL, '+'''B3r12-3x$098f6''' +Char(13)+Char(10) 
   FETCH NEXT FROM P_cursor 
   INTO @Membername
END

CLOSE P_cursor
DEALLOCATE P_cursor
Drop Table #tmp
--Print @SQL
Exec (@SQL)
person bummi    schedule 10.04.2014
comment
где мне это сделать? - person tony9099; 14.04.2014
comment
после восстановления вашей базы данных на новом сервере, например. менеджер предприятия, подключенный к вашей базе данных. - person bummi; 14.04.2014