我正在使用SQL Server 2008 Management Studio。 当前login帐户属于机器本地pipe理员组。 我在SQL Server 2008中使用Windows集成安全模式。
我的问题是,在login到SQL Server Management Studio之后,我在安全/login下select我的login名,然后select服务器angular色选项卡,然后select最后一项 – sysadmin使我自己属于这个组/angular色,但它说我没有足够的权限。 任何想法有什么不对? 我认为本地pipe理员应该可以做任何事情。 🙂
您尝试设置权限的会话的login名必须具有权限。
那么,您使用的login是本地pipe理员? 这意味着本地pipe理员组没有足够的权限。
GUI也会运行这个sp_addsrvrolemember 。 虽然这说
需要join新成员的angular色的成员资格。
所以,本地pipe理员组不是sysadmin的成员。
编辑:
解决方法:使用具有权限的login名。 你可以find一个使用sp_helpsrvrolemember
SQL Server 2008不再将BUILTIN \ Administrators添加为sysadmin固定服务器angular色的成员
这是真的,但在这种情况下,你可以从这种情况下恢复单个用户模式(紧急模式)启动SQL Server服务,任何本地pipe理员将能够login。
请参阅MSDN 。
在另一篇好文章中疑难解答:连接到SQL Server当系统pipe理员被locking时 ,作者告诉我们,重新控制我们的SQL Server所需要做的就是
“通过使用-m或-f选项以单用户模式启动SQL Server实例,然后计算机本地pipe理员组的任何成员都可以作为sysadmin固定服务器angular色的成员连接到SQL Server实例。 “
不幸的是,在单用户模式下启动并不是一件直观的事情。 另外,至less根据我的经验,我的计算机本地pipe理员组中的成员资格没有将系统pipe理员身份授予我的“用户”帐户。
这个故事已经开始了,解决非DC服务器(改变ISP的后果)在我的域中的成员资格的问题,我从2008年重buildDC到Windows Server 2008 R2。这解决了一些小问题,但没有解决由错误的服务器成员的问题。 在ServerFault中提出了一个修正来完成(在我的情况下,这是一个重置winsock和tcpip的问题)。
SQL Server 2008驻留在第二台服务器上,现在是域的成员。 这是问题。 正如有人在ServerFault上指出的那样,在安装Server 2008时通常会推送“让当前用户成为系统pipe理员”。通用也不考虑其他人。 由于该单一用户标识是不再存在的域的域成员,因此没有人有权pipe理Sql Server。
我以安装Sql Server的本地服务器pipe理员的身份login,但尽pipe这允许我访问Management Studio,但我很快发现BUILTIN \ Administrators只具有“公共”服务器angular色。
经过大量的研究和实验,我发现一篇文章给出了单用户login的细节[ http://technet.microsoft.com/en-us/library/ms180965.aspx%5D :
C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn C:\...>sqlservr.exe -m
为了准备采取这一步,您必须closuresSql Server(在大多数情况下默认运行)。 使用SQLconfigurationpipe理器停止“Sql Server”。
然后,在命令提示符下,导航到该程序文件位置(或您计算机上的等效文件位置),然后发出“sqlservr.exe -m”命令。 如果您看到命令提示符中logging的活动stream,则说明您正在成功。 如果启动失败,那么你可能已经运行了SQL Server。 关掉它。
允许单用户实例附加其数据库。 当日志活动停止时,打开Management Studio。 您将自动处于单用户模式,因此您代表的任何帐户都将是系统pipe理员。 使用该function调整安全login和服务器angular色。
在我的情况下,我必须在新域中重新创build域帐户,然后删除它们在SQL Server中的名称,并重新构build它们(由于SID / GUID的情况),根据需要重新分配对特定数据库的权限。
默认情况下,SQL将BUILTIN \ Administrators组添加到sysadminangular色,这意味着任何本地NTpipe理员都会自动使用SQL系统pipe理员。 在Vista上,由于UAC,您必须以“pipe理员”模式运行才能从此权限中受益。
默认情况下,SQL Server 2008不再将BUILTIN \ Administrators添加为sysadmin固定服务器angular色的成员。 当您通过安装程序时,会询问哪些帐户应具有系统pipe理员权限。 有一个button,基本上说“让我成为一个系统pipe理员”,将添加用户进行安装的帐户作为系统pipe理员。
如果他们没有添加任何其他用户作为系统pipe理员,那么只有该用户目前是一个sysamdin。 您需要让该人员login到SQL Server并授予DBA系统pipe理员权限。
我在新的安装之后仔细考虑了同样的问题,直到我在SQL Server 2008上注册了服务器,然后所有事情都按照原样进行