0

SQL Server データベースで primavera を使用しています。

コンピューターを切り替えたのでprimavera_DATprimavera_LOGファイルを持って行き、別のコンピューターにプリマベーラをインストールして、上記のファイルを置き換えました。

問題は、primavera に入るたびに接続を確立できますが、ログインできず、ユーザー名とパスワードが間違っていると表示されることです。

調査を行ったところ、ユーザー名とパスワードがmaster.mdfファイルに保存されていることがわかりました。

他のコンピューターからも持っていますが、master.mdfそれらを交換すると、サービスから SQL Server サービスを開始するたびにエラーが発生します。

ユーザー(privuser、pubuser)のユーザー名またはパスを再作成するにはどうすればよいですか。つまりmaster.mdf、古いものと同じように新しいものを取得できますか??

4

1 に答える 1

0

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)
于 2014-04-10T11:39:29.710 に答える