我正在使用带有SQL Server数据库的primavera。
我换了电脑,所以我带了primavera_DAT
,primavera_LOG
文件,然后我在另一台电脑上安装了primavera并替换了上面的文件。
问题是,每当我进入primavera时,我都可以建立连接,但无法登录,它告诉我用户名和密码错误。
我做了一些研究,发现用户名和密码存储在master.mdf
文件中。
我也有来自其他计算机的master.mdf
,但是当我替换它们时,每当我从服务启动SQL Server服务时,我都会收到错误。
如何重新为用户(privuser,pubuser)重新创建用户名或传递,即获取与旧版本一样的新master.mdf
?
答案 0 :(得分: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)