2014-04-10 7 views
0

나는 primavera를 SQL Server 데이터베이스와 함께 사용하고 있습니다.프리마 베라 스위칭 컴퓨터 master.mdf replace not working

컴퓨터를 전환 했으므로 primavera_DAT, primavera_LOG 개의 파일을 가져 와서 다른 컴퓨터에 primavera를 설치하고 위의 파일을 바꿨습니다.

내가 primavera에 들어갈 때마다 연결을 설정할 수 있지만 로그인 할 수없고 사용자 이름과 암호가 잘못되었다는 것이 문제입니다.

나는 약간의 연구를했는데 사용자 이름과 암호가 master.mdf 파일에 저장되어 있다는 것을 알았습니다.

나는 또한 다른 컴퓨터에서 master.mdf을 가지고 있지만 교체 할 때 서비스에서 SQL Server 서비스를 시작할 때마다 오류가 발생합니다.

사용자 (privuser, pubuser)의 사용자 이름을 다시 만들거나 이전 할 사람과 같은 새로운 master.mdf을 얻으려면 어떻게해야합니까 ??

답변

0

기존 로그인을 매핑하고 존재하지 않는 경우 새 로그인을 생성하는 'Auto_fix'를 사용하여 sp_change_users_login을 사용하여 데이터베이스 사용자로부터 필요한 로그인을 다시 만들 수 있습니다. 암호는 기존 로그인이 아닌 경우 나중에 지정하고 변경해야합니다.

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 @[email protected] + '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) 
+0

여기서 어떻게해야합니까? – tony9099

+0

새 서버에서 데이터베이스를 복원 한 후 예 : 엔터프라이즈 관리자는 데이터베이스에 연결됩니다. – bummi