首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >恢复SA密码- PSTools -不工作

恢复SA密码- PSTools -不工作
EN

Database Administration用户
提问于 2015-12-10 12:20:02
回答 2查看 3.2K关注 0票数 5

我在一家新公司工作,我看到的第一件事是,他们甚至不知道他们有多少个例子。他们没有密码,老DBA也不知道他在做什么。

长话短说,我可以在几乎每台服务器上创建自己的sysadmin帐户(我只会将所有数据库移动到1到2个实例),但有些是我无法做到的。

在这个由mssqltips链接中有一个名为PsExec的工具。在本教程之后,我可以运行该程序并使用NT AUTHORITY\SYSTEM连接到Server。但这不管用。NT AUTHORITY\SYSTEMPublic,我不能用sysadmin添加我的帐户。这个程序只运行在SQL 2008中吗?

没有办法停止服务器,因为我们的数据库aew运行在整个巴西。

这里的帖子不计其数,但几乎每个人都需要重新启动Server。

如何重置sa密码?

当没有系统管理员帐户时如何在服务器2008中向用户添加系统管理员 (这篇文章提到了这个程序,但就像我说的,它不适合我(他正在使用2008年))。

在这个视频里他在用-M方法。有人已经在Server 2014上测试过了吗?我想知道,我会尽力的。

我可以与NT AUTHORITY\SYSTEM用户连接,但是当我尝试创建sysadmin登录或更改sa密码时,它说我无权这样做。然后,看看nt的权利,它是公开的。我可以在我的机器上用-m技巧更改sa登录,但是我想要的是不需要关闭SQL的东西。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2015-12-10 13:32:56

下面是一篇包含详细步骤的technet文章。

简而言之,您需要在单用户模式下启动SQL服务器,并使用sqlcmd进行连接以添加您的帐户。只要您在OS级别拥有管理权限,这将为您提供所需的服务。

一个注意事项是,如果sqlagent被配置为自动启动,那么在以单用户模式启动SQL server之前,您应该禁用它,这样sqlagent就不会获得连接。

票数 2
EN

Database Administration用户

发布于 2016-09-01 02:35:23

据我所知,如果没有SQL Server的一些停机时间,就无法做到这一点。如果服务器上没有已知的sysadmin用户,那么您必须至少把它取下来几分钟。

(我相信问题体中提到的psexec方法适用于较早版本的Server,但OP发现,至少在Server 2014中,即使是NT AUTHORITY\SYSTEM也不是系统管理员。)

如果您在正文中提到的-m方法(它确实需要重新启动SQL server )对您有效,那么由@Aaron链接的technet文章可能正是您所需要的。但是,如果未启用混合模式身份验证,则会遇到麻烦--否则,Sever将拒绝对您刚刚创建的SQL登录名进行身份验证。

下面的方法将授予Server上的Windows用户sysadmin特权,该权限将允许您连接关闭的混合模式身份验证。它刚刚在Server 2014上对我起了作用。与technet中提到的方法一样,它确实需要本地管理员访问Windows服务器。

  1. 启动Server配置管理器您可以直接启动MSC文件,就像我的例子一样,搜索“开始”菜单没有找到它:
    • Server 2016:C:\Windows\SysWOW64\SQLServerManager13.msc
    • Server 2014:C:\Windows\SysWOW64\SQLServerManager12.msc
    • Server 2012:C:\Windows\SysWOW64\SQLServerManager11.msc
    • Server 2008:C:\Windows\SysWOW64\SQLServerManager10.msc

  2. 单击“MSSQLSERVER服务”,然后停止“MSSQLSERVER (MSSQLSERVER)”服务。注意,“MSSQLSERVER (MSSQLSERVER)”是默认实例的名称。如果试图恢复已命名的实例,则该实例名称将位于括号中。还请注意,您可能还需要停止报告和集成服务(对于每个实例),因为我们即将将Server置于单用户模式,如果这些服务在此之前成功地重新连接到服务器,您将得到类似于Login failed for user ‘[user]’. Reason: Server is in single user mode. Only one administrator can connect at this time. (Microsoft SQL Server, Error: 18461).的错误消息。
  3. 将Server置于单用户模式中
    1. 右键单击“MSSQLSERVER (MSSQLSERVER)”服务并选择"Properties“
    2. 选择“启动参数”选项卡并添加-m标志,指示服务器在单用户模式下启动。
    3. 单击OK

  4. 启动Server (但不启动报表和集成服务)
  5. 运行sqlcmd,然后键入以下命令在Server实例中添加一个系统管理员帐户:使用主GO创建从Windows GO sp_addsrvrolemember 域名\用户名登录的域名\用户名,“sysadmin”GO注意,如果希望将本地用户添加为系统管理员,而不是域用户,请使用上面的计算机名称而不是domainname
  6. 退出sqlcmd,再次停止Server,从启动参数中删除-m标志,并启动Server
  7. 使用SSMS连接
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/123374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档