Posted @ 4:53 pm February 12th, 2009
新导入的数据库由于sysusers系统表缺失而导致数据库用户无法匹配到login user, 从而原有的账号无法使用, 重新创建也会因user name重名而报错.
查了一下MSDN, 可以用sp_change_users_login系统存储过程来修改, 但是直接对着一个刚刚restore的数据库用命令:
sp_change_users_login 'AUTO_FIX', 'USERNAME'
报错
Msg 15600, Level 15, State 1, Procedure sp_change_users_login, Line 207
An invalid parameter or option was specified for procedure 'sys.sp_change_users_login'.
存储过程207行是这样的:
if @Password IS Null
begin
raiserror(15600,-1,-1,'sys.sp_change_users_login')
deallocate ms_crs_110_Users
return (1)
end
嗯, 仔细想想也不对, 再AUTO的命令, 系统里的用户也没法凭空创建出来, 再回头往下翻MSDN, 解了:
EXEC sp_change_users_login 'AUTO_FIX', 'USERNAME', NULL, 'PASSWORD'
Leave a Reply



