Отдельный пользователь не может «Добавить таблицу» в базу данных, созданную им (или кем-либо еще). Другие пользователи могут добавлять таблицы.
Мы проверили разрешения, и они такие же, но, очевидно, мы что-то упустили. Может ли кто-нибудь подсказать, где мы должны искать решение этой проблемы?
подробности
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)
Мы заметили, что это напрямую связано с учетной записью пользователя:
Подключение к базе данных (в Management Studio) с использованием аутентификации Windows или пользователя SQL не имеет значения.
Другой пользователь (очевидно, с такими же разрешениями) может подключаться к RDC с того же главного компьютера и работать без проблем.
У пользователя с проблемами все еще есть проблемы, даже когда RDC с другого хост-компьютера.
Следовательно, проблема возникает у пользователя, у которого RDC находится в / запускает Mangement Studio.
Единственная подсказка, которую мы можем найти, - это https://technet.microsoft.com/en-au/library/cc739474(v=ws.10).aspx - но это предполагает, что делегирование предназначено для учетных записей служб, а не для учетных записей пользователей.
Какое разрешение / настройку мы упустили? Спасибо.
Отредактировано в январе 2016 г .: возможное решение ниже.
Оригинальный ответ
Для всех, кто ищет этот ответ, похоже, из-за "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 г.
Прочитав следующее, мы устранили проблему:
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
Исходя из этой информации, очевидно, что это необходимо сделать на каждом клиенте Windows 8.1, который был обновлен до версии KB2992611 или KB3000850.
Кажется, работает для студии управления SQL, но Visual Studio не может присоединить процесс или отладить.
Обязательно удалите IIS 6/7, если он установлен на вашем компьютере с SQL.