Sql数据库的sa密码忘记了怎么办?
时 间:2012-07-06 08:59:20
作 者:风行 ID:16058 城市:江阴
摘 要:情况一:只是忘记了密码
sp_password Null,'123','sa'
把sa的密码设为“123”
执行成功后有“Command(s) completed successfully.” OK!
正 文:
情况二:忘记了密码,而且从sysadmin中删除了builtin\Administrators帐号,现在没其他人是sysadmin了
A:
SQL Server 2005/2008提供了针对该情况的更好的灾难恢复方法,无需侵入master数据库,不会对master数据库中的对象和数据(例如登陆帐号,证书等)造成损坏。Windows管理员组的成员现在当SQL Server以单用户模式启动(另外一个名称为维护模式)的情况下对SQL Server有了访问权限。
通过使用单用户模式,SQL Server 2005/2008避免了Windows管理员以sysadmin的身份在不被发现的情况下滥用权限。Windows管理员帐号能进行部分维护任务,例如安装补丁等。
要将SQL Server以单用户模式启动,您可以在命令行模式下增加“-m”参数。您也可以使用SQL Server配置管理员工具。它提供了对文件访问和其他权限的合适控制。要是用配置管理工具来恢复您的系统,您可以根据如下步骤:
1. 从菜单->SQL Server 2005->配置,打开配置管理工具(SQL Server Configuration Manager)
2. 停止您想要恢复的SQL Server实例
3. 找到“高级”标签,“启动参数”选项文本框中增加“;–m”
4. 点击“是”按钮,重新启动SQL Server实例
请注意:请确保在“;”和“-m”之间没有空格。注册参数解析器对类似的输入错误非常敏感。您可以在SQL Server的ERRORLOG文件内看到显示“SQL Server started in single-user mode.”
5. 在SQL Server实例以单用户模式启动后,Windows管理员帐号就能使用sqlcmd工具在Windows验证模式下连接SQL Server。您可以使用T-SQL命令诸如“sp_addsrvrolemember”来在sysadmin服务器角色中添加现有登录帐号或新创建一个登录帐号。范例语句如下:
GO
6. 只要sysadmin访问权限被恢复,在配置管理中从启动参数中移除“;-m”参数,重新启动SQL Server实例
重要的安全提示:
a. 该过程应该只能被用于当没有其他方法使用特权帐号(例如sysadmin或等同角色)来访问系统的灾难恢复。
b. 该过程允许Windows管理员在SQL Server中有越权行为。它包含了可以被监测和检测出的明确的侵入行为,包含:
1. 在单用户模式下停止SQL Server并重启
2. 使用Windows帐号连接SQL Server。
看到了新知识要消化,一个一个来吧!
1、sp_password
查了下联机帮助:为Sql server 登录名添加或者更改密码。
里面包括了两个含义:一个是添加 一个是更改
添加的语法格式:(在不知道旧的密码的情况下更改密码,可以称之为添加密码)
sp_password null,'新密码','登录名'
更改的语法格式:
sp_password '旧密码','新密码'
不过联机帮助给我们的重要提示是,不要再次使用这种方法,在后续的版本中将删除这个功能。那么既然删除这个功能,就肯定有新的方法来代替了,微软给我们的新的解决办法是:
添加的语法格式:
Alert Login 登录名 with password='新密码'
更改的语法格式:
Alert Login 登录名 with password='新密码' old_password='旧密码'
2、Sysadmin
首先我们要知道sysadmin是什么?
sysadmin是个角色,是服务器固定角色,拥有的功能:在Sql server中进行任何活动,是所有的固定角色中拥有最大权利的角色。
我们在安装Sql server的时候,就会固定了8个服务器角色,这些角色是固定的。下面我们来做个整体分析。
sysadmin角色
sysadmin固定角色的成员可以在服务器中执行任何活动,默认情况下 windows BUILTIN\Administrators(又称之为本地管理员组,也就是我们平时登陆电脑的超级用户)组成员也是属于sysadmin角色的成员,可想而知sysadmin角色的权利有多大。
setupadmin角色
可以添加或者删除链接的服务器,并且可以执行某些系统存储过程(具体的是哪些,还没研究,如果大家知道可以补充下)
serveradmin角色
可以更改服务器范围内的配置选项以及关闭服务器。
securityadmin角色
可以管理Sql server的登录名以及属性,具体说是: 可以 GRANT(赋予) /DENY(阻止)/REVOKE(撤销) 数据库级权限;可以重置登录名的密码(就是我们上面所讲的Alter Login 登录名 with password='新密码')。
processadmin角色
可以终止数据库实例中运行的进程
diskadmin角色
可以管理磁盘文件
dbcreator角色
可以对数据库进行操作,包括创建、修改、删除、还原数据库。
bulkadmin角色
可以运行bulk insert语句(这个知识点以后再学习)
3、配置单用户模式
4、Sqlcmd工具链接sql server
5、角色中添加账户
6、如何禁用sa登录
错误的安全设置方法:删除“BUILTIN\Administrators”登录帐户,改变SQL Server 的身份验证模式为“仅进行Windows身份验证”,然后重新启动SQL Server,那么“sa” 帐户将被禁用,并且因为没有定义其它Windows身份验证登录帐户而无法进入SQL Server。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)