以“Sysadmin”不能登录SQL Server时怎么办?

Author: 刘君 Date: 2001年 43期

?牐牨嗾甙矗旱辈荒茏魑皊ysadmin”身份登录SQL Server时,首先不必考虑重新安装SQL Server,只需要修改SQL Server 2000或SQL Server 7.0决定SQL Server身份验证模式的注册表键值即可。
  ?牐犜赟QL Server 7.0中,该键为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode;
  ?牐犜赟QL Server 2000中,该键为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSQLServer\\MSSQLServer\LoginMode;
  ?牐牎癓oginMode”的值为0表示只进行Windows的身份验证,为1表示验证模式为混合模式。当不能作为“sysadmin”登录SQL Server时,只需把“LoginMode”改为1,重新启动SQL Server,然后以SA(System Administrator)身份登录,输入SA密码即可。
  ?牐犚韵鹿赜赟QL Server的角色成员的信息可能会帮助你理解这一过程。在你安装SQL Server 2000/7.0的时候,安装进程自动地为“BUILTIN\Administrators”创建一个登录账号,该账号为“sysadmin”角色成员。“BUILTIN\Administrators”登录账号代表了Microsoft Windows(r) 2000 或Microsoft Windows NT(r)Server上的系统管理员本地组。Windows 2000或Windows NT的“Administrator”账户是系统管理员本地组的成员。此外,如果你的服务器是一个域的成员(包括Windows 2000 的域和Windows NT 4.0的域),“Domain Admins”全局组也会成为本地系统管理员组的成员。这意味着系统管理员本地组的所有成员都会自动地获得SQL Server上的“sysadmin”权限。
  ?牐犖思忧磕愕腟QL Server的安全性,你可能更愿意创建你自己的组并授予它“sysadmin”权限,然后删除“BUILTIN\Administrators”登录账号。正确的顺序应该是:创建Windows 2000或者Windows NT用户组并为组分配成员。例如:创建一个叫做“SQLAdmins”的组。把“SQLAdmins”映射为SQL Server里的一个用Windows身份验证方式验证登录的账户,并把该账户分派到“sysadmin”服务器角色。删除“BUILTIN\Administrators”登录账户或者把它从“sysadmin”服务器角色中删除。把SQL Server的身份验证模式改为“仅进行Windows身份验证”。重新启动SQL Server以反映身份验证模式的变化。注意:如果你以下面的这种错误顺序实施这些步骤:删除“BUILTIN\Administrators”登录账户,改变SQL Server的身份验证模式为“仅进行Windows身份验证”,然后重新启动SQL Server,那么“SA”账户将被禁用,并且因为没有定义其它Windows身份验证登录账户而无法进入SQL Server。为了避免这种情况发生,请以正确的顺序实施这些安全措施。