我安装了 2005 sqlexpress 以及 express manager studio。我在登录下添加了一个登录名,将用户与我的数据库关联,并在用户映射下为其赋予 db_owner 角色。
现在我右键单击服务器,在属性下从 Windows 身份验证更改为 SQL Server 身份验证,输入登录名和密码,单击测试,然后出现错误:
用户登录失败...用户未关联..错误:18452。
答案1
您是否还将服务器更改为使用混合模式而不是仅使用 Windows 身份验证?如果是这样,您需要重新启动服务器才能使此设置生效。
答案2
我进一步研究了 CodeByMoonlight 建议的混合模式,发现我必须更改注册表项,因为混合模式未启用,尽管我在属性选项卡中将 windows 和 sql 身份验证作为登录方法。要更改为混合模式,请从命令行运行 regedit 并更改此条目:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL 服务器\MSSQL.1\MSSQLServer
登录模式 =2
如果您需要具有系统管理员访问权限,并且不知道“sa”密码,您可以像这样添加新密码:
SQLCMD-S.\SQLEXPRESS-E
sp_addLogin '用户名','密码' GO sp_addsrvrolemember '用户名','系统管理员' GO