单个用户无法向他(或任何其他人)创建的数据库“添加表”。其他用户可以添加表。
我们已经检查了权限,发现它们是相同的 - 但显然我们漏掉了一些东西。有人能提示一下我们应该从哪里解决这个问题吗?
细节
SQL Server 2014、Windows Server 2012 R2、域身份验证远程桌面进入服务器;通过域进行 Windows 身份验证。启动 SQL Management Studio 添加数据库(或使用其他用户创建的现有数据库)添加表:失败并显示以下消息:
无法完成请求的操作。必须信任计算机才能进行委派,并且必须配置当前用户帐户以允许委派。(SQLEditors)
错误的完整堆栈跟踪是:
Program Location:
at Microsoft.SqlServer.Management.Data.DataProtection.EncryptString(String s)
at Microsoft.SqlServer.Management.DataTools.DataServices.DataConnection.SetConnectionStrings(DataConnectionProperties connectionProperties)
at Microsoft.SqlServer.Management.DataTools.DataServices.DataConnection.SetConnectionStrings(String connectionString)
at Microsoft.SqlServer.Management.DataTools.DataServices.DataConnection..ctor(DataProvider provider, String connectionString, Boolean encryptedString)
at Microsoft.SqlServer.Management.DataTools.DataServices.DataConnectionFactory.CreateDataConnectionImpl(Guid provider, String connectionString, Boolean encryptedString)
at Microsoft.SqlServer.Management.Data.DataConnectionFactory.CreateDataConnection(Guid provider, String connectionString, Boolean encryptedString)
at Microsoft.SqlServer.Management.DataTools.DataServices.DataConnectionManager.CreateDataConnection(Guid provider, String connectionString, Boolean encryptedString)
at Microsoft.SqlServer.Management.Data.DataConnectionManager.GetDataConnection(Guid provider, String connectionString, Boolean encryptedString, Boolean update)
at Microsoft.SqlServer.Management.DataTools.DataServices.DataConnectionManager.Microsoft.SqlServer.Management.Data.Interop.IVsDataConnectionManager.GetDataConnection(Guid& guidProvider, String bstrConnectionString, Boolean fEncryptedString)
at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDataDesignerNode.CreateDesigner()
at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDataDesignerNode.Open()
at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.CreateDesigner(Urn origUrn, DocumentType editorType, DocumentOptions aeOptions, IManagedConnection con, String fileName)
at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn, DocumentType editorType, DocumentOptions aeOptions, IManagedConnection con, String fileName)
at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn, DocumentType editorType, DocumentOptions aeOptions, IManagedConnection con, String fileName)
at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.CreateDesignerWindow(IManagedConnection mc, DocumentOptions options)
我们注意到它与用户账户直接相关:
使用 Windows 身份验证或 SQL 用户连接到数据库(在 Management Studio 中)没有区别。
另一个用户(显然具有相同的权限)可以从同一台主机进行 RDC 并且无问题地进行操作。
即使从另一台主机进行 RDC,有问题的用户仍然存在问题。
因此,存在问题的是 RDC 中的/启动了 Mangement Studio 的用户。
我们能找到的唯一线索是https://technet.microsoft.com/en-au/library/cc739474(v=ws.10).aspx - 但这表明委派是针对服务帐户,而不是用户帐户。
我们遗漏了什么权限/设置?谢谢。
答案1
2016 年 1 月编辑:下面是可能的解决方案。
原始回应
对于其他正在寻找这个问题的人来说,答案似乎是因为“SimpleAD”(http://docs.aws.amazon.com/directoryservice/latest/simple-ad/what_is.html)
SimpleAD 应该是 Windows Active Directory 的免费替代品,但看起来还是有些区别。通过这个论坛帖子找到:https://forums.aws.amazon.com/thread.jspa?messageID=633745
解决方案: - 用真实版本替换 SimpleAD(显然很贵而且工作量很大),或者 - 继续使用它。从其他评论来看,这似乎是一个老问题,不会很快得到修复。
虽然并不完美,但我希望对于那些遇到同样问题的人来说,这能够有所帮助。
更新时间:2016 年 1 月
读完下面的内容已经为我们解决了这个问题:
https://www.suse.com/support/kb/doc.php?id=7016786
您将在此 Microsoft 文档中找到他们建议的解决方法。 https://support.microsoft.com/en-us/kb/3000850
以下是该文件中的一些信息。
解决方法要解决此问题,请将 ProtectionPolicy 注册表项的值设置为 1,以启用 MasterKey 的本地备份,而不是要求在以下注册表子项中使用 RWDC:HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Protect\Providers\df9d8cd0-1501-11d1-8c7a-00c04fc297eb
根据该信息,显然需要在每个已使用 KB2992611 或 KB3000850 更新的 Windows 8.1 客户端上执行此操作。
似乎适用于 SQL 管理工作室,但 Visual Studio 无法附加进程或调试。
答案2
如果您的 SQL 计算机上安装了 IIS 6/7,请确保将其卸载。