SQL 2014:添加表给出“无法完成请求的操作。计算机必须受信任”

Rob*_*bie 2 sql-server

单个用户无法向他(或其他任何人)创建的数据库“添加表”。其他用户可以添加表。

我们已经检查了权限,它们是相同的 - 但显然我们错过了一些东西。任何人都可以提供有关我们应该在哪里解决这个问题的提示吗?

细节

SQL Server 2014、Windows Server 2012 R2、Domain Auth 远程桌面到服务器;通过域进行 Windows 身份验证。启动 SQL Management Studio 添加数据库(或使用其他用户创建的现有数据库)添加表:失败并显示以下消息:

请求的操作无法完成。必须信任计算机才能进行委派,并且必须将当前用户帐户配置为允许委派。(SQL 编辑器)

错误的完整堆栈跟踪是:

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)
Run Code Online (Sandbox Code Playgroud)

我们注意到它与用户帐户直接相关:

  • 使用 Windows 身份验证或 SQL 用户连接到数据库(在 Management Studio 中)没有任何区别。

  • 另一个用户(具有明显相同的权限)可以从同一台主机进入 RDC 并正常运行。

  • 即使当来自另一台主机的 RDC 时,有问题的用户仍然有问题。

因此,存在问题的是 RDC 在/启动了管理工作室的用户。

我们能找到的唯一线索是在https://technet.microsoft.com/en-au/library/cc739474(v=ws.10).aspx - 但这表明委托是针对服务帐户的,而不是用户帐户。

我们错过了什么许可/设置?谢谢。

Rob*_*bie 7

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 management studio,但 Visual Studio 无法附加进程或调试。