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


8

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

我尝试将自己添加到本地系统上的SQLServerSQLAgentUser和SQLServerMSSQLUser组中,但是Sql Server仍然说我的域帐户未被授权。我的帐户是本地系统管理员。

我怎样才能让Sql Server登录?


您应该发布确切的错误消息。
贾斯汀·赫尔格森2012年

错误消息只是“用户“ DOMAIN \ user”的登录失败”
KallDrexx 2012年

您正在使用哪个版本的SQL Server?
贾斯汀·赫尔格森2012年

sql server 2008 R2
KallDrexx 2012年

1
我之所以问是因为,在2008年之前,默认情况下,我授予本地管理员帐户对数据库的访问权限。但是,这种行为在2008年发生了变化(msdn.microsoft.com/en-us/library/cc280562.aspx)。
贾斯汀·赫尔格森2012年

Answers:


2

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

  1. 让您的本地和挚爱的IT朋友登录数据库并正确设置您的帐户。
  2. 在您的帐户下重新安装SQL Server,以便自动获得登录权限。

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

为了登录到您的SQL Server(可能仍然缺少单个数据库权限),需要使用Windows authentication选定的内容创建安全性登录名,然后域帐户名是Login name

在此处输入图片说明


我认为情况就是如此。我去了IT部门,并得到了他设置SQL Server的本地管理员用户,重置了sa密码。我一直在想,因为我是本地管理员,所以可以进行设置,但我想不是。虽然无法弄清楚如何识别Windows身份验证的我的域帐户。
KallDrexx 2012年

您正在查看正确的服务器登录名,而不是数据库登录名?我添加了一张图片,以显示您应该在哪里配置服务器登录名。
贾斯汀·赫尔格森2012年

啊,我在看服务器属性,而不是新的登录屏幕!谢谢!
KallDrexx 2012年

18

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

按照Microsoft的分步说明进行操作:http : //msdn.microsoft.com/zh-cn/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创建登录[DOMAIN \ USER]

EXEC master..sp_addsrvrolemember @登录名= N'DOMAIN \ USER',@rolename = N'sysadmin'


1
肖恩的答案对我不起作用。这个做了。+1
安东尼·科赫

1
正确答案 !
AnujKu

8

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

下载psexec.exe(从的TechNet 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或更高版本上不起作用,因为默认情况下不再将内置管理员组添加为sys admin。如果您正在就地升级就餐,则可能是例外。


2
这是坏屁股!以前没有人投票给您吗?@KallDrexx,您确实应该将此标记为答案。
克里斯,

@克里斯是正确的,这真的很好!
CLJ 2013年

如果您使用的是2008R2或更低版本,则NT AUTHORITY \ SYSTEM效果很好。2012年及更高版本中的默认安装不会授予系统帐户对数据库引擎的访问权限。
Spörri

0

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


是的,我应该有,但是我认为所有本地管理员都可以访问,所以我没有考虑过。
KallDrexx 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.