如何将自己添加到本地 SQL 服务器的 Windows 身份验证中?

如何将自己添加到本地 SQL 服务器的 Windows 身份验证中?

IT 部门最近重新设置了我的笔记本电脑,使用的是 64 位 Windows。他为我安装了 Sql Server dev 版本,并设置了用户名和密码。我登录后尝试将 Sql Server 更改为 Windows 身份验证,重新启动了 SQL Server,现在它不允许我使用域帐户登录。

我尝试将自己添加到本地系统上的 SQLServerSQLAgentUser 和 SQLServerMSSQLUser 组,但 ​​SQL Server 仍然提示我的域帐户未获得授权。我的帐户是本地系统管理员。

我如何让 Sql Server 允许我登录?

答案1

不幸的是,我认为你要么必须:

  1. 让您当地的亲密 IT 朋友登录数据库并正确设置您的帐户。
  2. 在您的帐户下重新安装 SQL Server,以便自动授予您登录权限。

如果您无权访问数据库,则您无法更新安全性来授予自己权限。

为了登录到你的 SQL服务器(可能仍然缺少单独的数据库权限)需要创建Windows authentication选择的安全登录,然后域帐户名就是Login name

在此处输入图片描述

答案2

而且,由于您是本地管理员。

按照微软的分步说明进行操作:http://msdn.microsoft.com/en-us/library/dd207004.aspx或如下所示:

停止 SQL Server 服务。

以管理员身份打开命令提示符并浏览到 SQL Server binn 文件夹(默认为 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn)

使用控制台输出以单用户模式启动 SQL Server

sqlservr.exe-c-m

然后以管理员身份启动 SSMS 或 SQLCMD,连接并运行以下查询:

从 Windows 创建登录 [域\用户]

EXEC master..sp_addsrvrolemember @loginame = N'DOMAIN\USER',@rolename = N'sysadmin'

答案3

由于您是本地管理员,您可以使用 SQL Server 实例的后门来获取访问权限。

从 TechNet 下载 psexec.exe (PSTools这里)。

转到命令提示符并转到您提取文件 (psexec.exe) 的目录。运行命令psexec.exe -i -s ssms.exepsexec.exe -i -s sqlwb.exe(对于 SQL 2005)。

这将以 NT AUTHORITY\SYSTEM 帐户打开 SSMS,默认情况下,该帐户被授予实例的 SYSADMIN 权限。然后您应该能够将您的登录名添加到实例。如果这不起作用,则可能是系统帐户权限已被删除。

注意:如果您使用的是 Vista 或 Windows 7,您可能需要以管理员身份运行命令提示符(右键单击“以管理员身份运行”)。

第二点:这在 SQL Server 2012 或更高版本上不起作用,因为内置管理员组不再默认添加为系统管理员。例外情况是,如果您正在使用就地升级。

答案4

在将 Windows 帐户更改为 Windows Auth 之前,您是否应该确保您的 Windows 帐户具有足够的登录权限?

相关内容