我正在将primavera与SQL Server数据库一起使用。
我更换了计算机,所以我随身携带了primavera_DAT和primavera_LOG文件,然后我在另一台计算机上安装了primavera,并替换了上面的文件。
问题是,每当我进入primavera,我可以建立连接,但无法登录,它告诉我用户名和密码是错误的。
我做了一些研究,发现用户名和密码存储在master.mdf文件中。
我也有来自另一台计算机的master.mdf,但是当我更换它们时,每当我从服务启动SQL Server服务时都会收到错误。
如何为用户(privuser、pubuser)重新创建用户名或pass,即获得与旧master.mdf一样的新pass?
发布于 2014-04-10 19:39:30
您可以使用带有'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)https://stackoverflow.com/questions/22985511
复制相似问题