学习网考试学习资料

Gzu521.com

我被SQL关到门外的解决之道

SQL Server教程   点击:次   发布时间:2006-7-6   【字体: 】   来源:Gzu521.com
GZU521.COM学习网
    有朋友打电话找笔者,求救说自己被sql server关到了门外,问有没有办法解决,朋友之事不敢怠慢,赶紧跑去查看,顺带了些资料过去,以备查看,毕竟,这种事不才也是第一次遇到,呵呵。 
  跑过去看了一下,果然"sysadmin"无法登录,真的是被关到门外,这可有些麻烦了,朋友又不想重装sql,只好翻资料了,最终,在某某资料某某部分查到某某文章如下:

  要想重新访问sql server,您需要修改sql server 2000 和 sql server 7.0决定sql server身份验证模式的注册表键值。 vB4yZ+uD.d$#k\d [ 本 资 料 来 源 于 贵 州 学 习 网 网络编程SQL Server教程 http://Www.gzU521.com ] vB4yZ+uD.d$#k\d

在sql server 7.0中,该键为: 
hkey_local_machine\software\microsoft\mssqlserver
\mssqlserver\loginmode 
在sql server 2000中,该键为: 
hkey_local_machine\software\microsoft\microsoftsqlserver
\mssqlserver\loginmode 
“loginmode”的值为0表示只进行windows 的身份验证,为1表示验证模式为混合模式。在您把自己关在外面之后,您可以把“loginmode”改为1,重新启动sql server,然后以sa(system administrator)身份登录,输入您知道的sa密码即可。 

  以下关于sql server的角色成员的信息可能会帮助您理解为什么您会把自己关在sqlserver外面。在您安装sql server 2000 或 7.0的时候,安装进程自动地为“builtin\administrators”创建一个登录帐号,该帐号为“sysadmin”角色成员。“builtin\administrators”登录帐号代表了microsoft windows® 2000 或microsoft windows nt® server 上的系统管理员本地组。 windows 2000 或 windows nt的 “administrator”帐户是系统管理员本地组的成员。此外,如果您的服务器是一个域的成员(包括windows 2000 的域和windows nt 4.0的域),“domain admins”全局组也会成为本地系统管理员组的成员。这意味着系统管理员本地组的所有成员都会自动地获得sql server上的“sysadmin”权限。 

  为了加强您的sql server的安全性,您可能更愿意创建您自己的组并授予它“sysadmin”权限,然后删除“builtin\administrators”登录帐号,或者至少从“sysadmin”服务器角色中删除它。使用这种方法,您可以较好地对谁可以访问您的sql server进行控制。这种方法也断开了sql server 系统管理员和windows 2000 或 windows nt 管理员之间的联系, 因为他们通常有不同的任务,并且需要不同的权限。为了加强安全性,您可能想把sql server配置成只支持windows身份验证。但是,必须要记住:这种配置会禁用您的“sa”帐户。(这个方法可能是禁用“sa”帐户的唯一方法,因为您不能删除“sa”帐户。)如果您以错误的顺序实施了这个安全措施,您将不能再以>“sysadmin”的身份登录到sql server上,除非按照我上面所说的方法修改注册表键值。正确的顺序是: 

创建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。为了避免这种情况发生,请以正确的顺序实施这些安全措施。 

责任编辑:gzu521

网络编程分类
ASP教程
.Net教程
Java教程
PHP教程
数据库基础
ACCESS教程
SQL Server教程
MySQL教程
Oracle教程
分类推荐信息
更多...
大类最新文章
更多...