原文:恢复SQLServer实例连接

译自:

http://www.mssqltips.com/sqlservertip/2682/recover-access-to-a-sql-server-instance/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=2012829

问题:

开启SQLServer2008之后,本地管理员组不再需要手动添加,因为在安装的时候已经默认添加。你甚至只需要把当前用户手动添加到本地管理员用户即可。这意味着,特别是如果你不使用混合认证模式(或者忘记了sa密码),你可能会被拒绝登录自己的SQLServer实例。我遇到过一个情景,一个职员离开,但是他的windows账号,只拥有SQLServer管理员权限,会完全阻塞系统。当然也只有这个人知道sa密码。作为本地管理员甚至域管理员将对你没有帮助。

典型的解决方案是以单用户模式重启SQLServer。但是,这将要求一定时间的停机。对于某些系统,这是不可接受的。并且依靠管理服务器的需要,可能没有切实可行的等待维护服务器的计划。

一个更加极端的方法是关闭SQLServer,复制所有MDF/LDF文件,安装新的SQLServer实例,并附加所有用户数据库。除了停机时间外,你还要面对重新创建系统数据库、登录名、连接服务器、作业和其他数据库以外的元素以使得系统能够重新使用。另外,除非你卸载旧的实例,不然新的实例需要使用命名实例,会导致所有客户端应用都需要跟着升级。

解决方案:

使用以下方法可以无痛、不停机解决上面问题:PsExec。但是这不是它的主要设计目标。它允许你以NT AUTHORITY\SYSTEM账号运行程序,和“常规”管理员账号不同——具有天生访问SQLServer的权限。

这个进程的使用非常简单。登录SQLServer运行的服务器,并要具有本地管理员权限的账号。下载并打开PsExec.exe。以管理员身份打开。执行下列命令,注意路劲填写你SQLServer Management Studio 的实际路径:

PsExec -s -i "C:\Program Files(x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"

命令告诉PsExec以管理员(-s)和交互式(-i)来运行SSMS。

如果你不是管理员,会返回一条错误信息。你必须同意许可条款才能继续操作。当登录SSMS后,会提示你连接的服务器。你需要注意要用windows认证模式登录,并且用户名是硬编码的,如:NT AUTHORITY\SYSTEM:

当你登录以后,展开【对象资源管理器】,可以看到你是以NT AUTHORITY\SYSTEM来连接:

现在,你可以进入【安全性】→【登录名】,然后把你的账号添加为sysadmin。添加其他管理账号,修改sa密码,和其他能使你的实例处于可控状态的事情。

警告:

你必须假装成NTAUTHORITY\SYSTEM 的本地管理员。你必须禁用UAC。必须可以远程操作,但是自从主要精力放到虚拟机之后,我没测试过。

如果你更改了sa密码。并且外部程序使用sa账号,你需要升级这些程序。可以参考:a tip for updating the password used in maintenance plans. 使用CTRL+C退出命令行。

结论:

PsExec可以解决很多让你头疼的问题。也希望在安装SQLServer的时候添加足够的管理员,以便减少上述问题的出现。扩展阅读:

恢复SQLServer实例连接的更多相关文章

  1. (转)SQLServer实例讲解

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  2. 恢复SQLSERVER被误删除的数据(转——收藏)

    恢复SQLSERVER被误删除的数据 摘自:http://www.cnblogs.com/lyhabc/p/3683147.html 曾经想实现Log Explorer for SQL Server的 ...

  3. SqlServer nvarchar中的中文字符匹配,更改SqlServer实例和数据库排序规则的办法

    我们都知道在SqlServer中的nvarchar类型可以完美的存储诸如中文这种unicode字符,但是我们会发现有时候查询语句去查询nvarchar列的时候查不出来. 为什么nvarchar类型有时 ...

  4. 第十七章——配置SQLServer(4)——优化SQLServer实例的配置

    原文:第十七章--配置SQLServer(4)--优化SQLServer实例的配置 前言: Sp_configure 可以用于管理和优化SQLServer资源,而且绝大部分配置都可以使用SQLServ ...

  5. 恢复SQLSERVER被误删除的数据

    原文:恢复SQLSERVER被误删除的数据 恢复SQLSERVER被误删除的数据 曾经想实现Log Explorer for SQL Server的功能,利用ldf里面的日志来还原误删除的数据 这里有 ...

  6. 恢复SQLSERVER被误删除的数据(转)

    恢复SQLSERVER被误删除的数据 曾经想实现Log Explorer for SQL Server的功能,利用ldf里面的日志来还原误删除的数据 这里有一篇文章做到了,不过似乎不是所有的数据类型都 ...

  7. c# 使用MS SqlServer,连接成功,但是还报异常A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0。。。。

    c# 使用MS SqlServer,连接成功,但是还报异常A connection was successfully established with the server, but then an ...

  8. 命令行下从bak文件恢复sqlserver数据库方法

    命令行下从bak文件恢复sqlserver数据库方法 注:本文所示访问从SqlServer 2000 - 2014版都是通用的 参考:http://blog.sina.com.cn/s/blog_5c ...

  9. C 语言实例 - 连接字符串

    C 语言实例 - 连接字符串 C 语言实例 C 语言实例 使用 strcat() 连接两个字符串. 实例 #include <stdio.h> int main() { ], s2[], ...

随机推荐

  1. 屏蔽DataGridView控件DataError 事件提示的异常信息

    DataGridView.DataError 事件简单介绍: 出现故障.则外部数据分析或验证操作引发异常,或者.当尝试提交数据写入数据源失败. 具体信息:參见MSDN this.dgvState.Da ...

  2. Android onTouch、OnLongClick、onClick和ScrollView滑动事件冲突

    为了实现近期录制的长按,松开手指,结束录制功能.在项目,难道你去走一走会头晕,书写demo为了下一个梳理. 顺便研究android事件调用机制. 先上效果界面: 布局: <RelativeLay ...

  3. 深入浅出KnockoutJS

    深入浅出KnockoutJS 写在前面,本文资料大多来源网上,属于自己的学习笔记整理. 其中主要内容来自learn.knockoutjs.com,源码解析部分资料来自司徒正美博文<knockou ...

  4. C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装

    原文:C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装 要求: JDK.Mysql.Tomcat三者制作成一个安装包, 不能单独安装,安装过程不显示三者的界面, 安装完成要配置 ...

  5. Xamarin Studio Android 配置

    原文:Xamarin Studio Android 配置 C#依托于mono平台可以实现Unix平台服务器端开发已经不是什么新鲜事了,而Xarmain公司(初始成员大多来自原Mono.MonoTouc ...

  6. HDU ACM 1071 The area 定积分计算

    分析: 1.求抛物线方程F(x)=a*x^2+b*x+c: 2.求直线方程f(x)=k*x+b. 3.利用定积分计算F(x)-f(x)在x2到x3之间的面积. #include<iostream ...

  7. Androidclient和server第一种方法端数据交换

    网上有一个非常不同的情况来证明Android客户端和server如何结束的数据,但这些实施例大多相互作用更复杂,对于那些谁刚开始学习它是有害的,现在介绍一些简单的代码.逻辑清晰的互动样本,首先介绍本博 ...

  8. 重新想象 Windows 8 Store Apps (2) - 控件之按钮控件: Button, HyperlinkButton, RepeatButton, ToggleButton, RadioButton, CheckBox, ToggleSwitch

    原文:重新想象 Windows 8 Store Apps (2) - 控件之按钮控件: Button, HyperlinkButton, RepeatButton, ToggleButton, Rad ...

  9. 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等(转)

    你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作.数据专家们,我是在对你们说.你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, ...

  10. 小米2S 中文和英文支持TWRP,真实双系统支持

    经过我几天的努力小米2S的TWRP 的功能已经完美了. 支持功能 : 中文和英文显示能相互切换 真实双系统功能已经完成95%. 刷入手机方法.由于时间原因我只制作了img文件.没有制作成卡刷包格式. ...