0

我将 primavera 与 SQL Server 数据库一起使用。

我换了电脑,所以我带了primavera_DAT,primavera_LOG文件,然后我在另一台电脑上安装了 primavera 并替换了上述文件。

问题是,每当我进入 primavera 时,我都可以建立连接,但无法登录,它告诉我用户名和密码错误。

我做了一些研究,发现用户名和密码存储在master.mdf文件中。

我也有master.mdf来自另一台计算机的,但是当我替换它们时,每当我从服务启动 SQL Server 服务时都会收到错误消息。

如何为用户(privuser、pubuser)重新创建用户名或传递,即master.mdf像旧用户一样获取新用户名?

4

1 回答 1

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 @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 回答