sql server 数据库忘记sa账户密码/ 无管理员账户解决办法

一、计算机超级管理员账户有数据库的管理员权限

  用管理员账户登录数据库,直接修改sa账户密码即可。

二、数据库中没有管理员权限的账户

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服务器角色中添加现有登录帐号或新创建一个登录帐号。范例语句如下:

EXEC sp_addsrvrolemember ‘CONTOSO\Buck‘, ‘sysadmin‘;

GO

6.如此就恢复了计算机超级管理员的数据库管理员权限。 只要sysadmin访问权限被恢复,在配置管理中从启动参数中移除“;-m”参数,重新启动SQL Server实例

重要的安全提示:

a. 该过程应该只能被用于当没有其他方法使用特权帐号(例如sysadmin或等同角色)来访问系统的灾难恢复。

b. 该过程允许Windows管理员在SQL Server中有越权行为。它包含了可以被监测和检测出的明确的侵入行为,包含:

1. 在单用户模式下停止SQL Server并重启

2. 使用Windows帐号连接SQL Server。

时间: 2024-10-18 16:54:51

sql server 数据库忘记sa账户密码/ 无管理员账户解决办法的相关文章

SQL Server 数据库没有有效所有者的三种解决办法

问题:     开发的过程中,操作系统出了问题,决定重装系统.但是没有将SQL Server中的数据库文件分离出来,直接将系统格了.在新系统数据库中附加了数据库文件,一切还算正常,但当打开数据库关系图的时候出现了问题,如下图所示: 解决办法:(三种) 1.右键你的数据库名→属性→文件→所有者→sa;(该方法是从网上找到的,可能不成功) 2.设置兼容级别为90(2005为90,2000为80) (1)代码: USE [master] GO EXEC dbo.sp_dbcmptlevel @dbna

SQL Server 2008 R2评估期已过的解决办法

某天打开SQL Server 2008 R2数据库,弹出如图一所示窗口. 图一 在网上查找了一些方法(链接1.链接2)结果都没有成功.这些方法都是通过图二的方式进入SQL2008配置工具中的安装中心. 图二 后面,我尝试着从安装程序进入SQL2008配置工具中的安装中心再进入维护界面,选择版本升级,如图三所示. 图三 检查升级规则,出现如图四所示的提示,重启计算机.此时安装提示重启计算机并重复上述操作即可.尽量不要只重启SQLServer服务 图四 在如图五中选择企业版并输入企业版序列号Ente

关于sql server 代理(已禁用代理xp)解决办法

关于sql server 代理(已禁用代理xp)解决办法 sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO sp_configure 'Agent XPs', 1; GO RECONFIGURE WITH OVERRIDE GO sp_configure 'show advanced options', 1;GORECONFIGURE WITH OVERRIDE; GOsp_configure 'A

SQL Server数据库查询速度慢的原因和解决方法

问 SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没

sql server 2012提示:评估期已过 的解决办法 附序列号

sql server 2012提示评估期已过的解决方法: 第一步:进入SQL2012配置工具中的安装中心. 第二步:再进入左侧维护选项界面,然后选择选择版本升级. 第三步:进入输入产品密钥界面,输入相应版本密钥. 第四步:按照默认一直点下一步,遇到升级按钮,点升级直到升级完毕. sql server 2012 版本序列号如下: MICROSOFT SQL SERVER 2012 企业核心版激活码序列号: FH666-Y346V-7XFQ3-V69JM-RHW28 MICROSOFT SQL SE

sql server 2012提示评估期已过的解决办法 附序列号

sql server 2012提示评估期已过的解决方法: 第一步:进入SQL2012配置工具中的安装中心. 第二步:再进入左侧维护选项界面,然后选择选择版本升级. 第三步:进入输入产品密钥界面,输入相应版本密钥. 第四步:按照默认一直点下一步,遇到升级按钮,点升级直到升级完毕. sql server 2012 版本序列号如下: MICROSOFT SQL SERVER 2012 标准版激活码序列号: YFC4R-BRRWB-TVP9Y-6WJQ9-MCJQ7 MICROSOFT SQL SERV

SQL Server 2008 忘记sa密码的解决办法

由于某些原因,sa和windows验证都不能登录 sql server,可以用独占模式,修改sa密码先在服务管理器停止Sql Server服务,然后打开命令行,进入 SQL Server安装目录,进入 Binn执行命令 sqlservr.exe -m启动完成后 再打开一个命令行窗口 输入命令 sqlcmd执行命令使sa账号可用ALTER LOGIN sa ENABLE;GO修改sa密码(UNLOCK 需要2008以上版本)ALTER LOGIN sa WITH password='新密码' UN

关于sql server 2012日志变得超大的删除解决办法

首先说说,这个sql server机制其实挺严谨,他的原意是---如果你不做日志备份,就不给你删日志,然后也有脚本给你回收日志空间,算是挺安全也方便实用了. 看起来是挺合理的,但是碰到缺心眼的开发或使用者,日志一天天的胀大,而又忘记回收的话,那就悲催了,这个时候你就不可能备份了,因为硬盘空间不够用啊,不能备份也就不能删日志,就成了个死循环了. 我这边就遇到这种事,日志被撑到170G了,硬盘总共才200G空间,怎么搞好呢? 最后经过百度和google两位幕后大师傅的指点,得到了下面的方法,仅供参考

sql server数据库的部署

http://xiaorenwutest.blog.51cto.com               SQL Server数据库部署   概述:数据库在企业中现在是必不可少的存储工具,用来会员登录,网站,动态的网页内容调动,现在在企业中多用于关系型数据库那么接下来介绍下数据库的必要性: (1)可以结构化存储大量的数据信息:方便用户进行有效的检索和访问 (2)可以有效的保持数据信息的一致性.完整性.降低数据冗余(避免数据重复) (3)可以满足应用的共享和安全方面的要求   1.数据库基本概念 数据: