在 Windows Server 2016 上使用 SQL Server 2017 Standard CU8。我创建了一个Containment type: partial
类型为SQL user with password
(因此,不是基于 Windows 的用户帐户)的包含数据库用户(用户仅在具有 的数据库中定义)。在链接服务器定义中,在安全选项卡上,在Local Server login to remote server login
区域中,有没有办法将此用户指定为本地用户(以便专门将其映射到远程用户)?我只尝试了用户名,并以数据库名称为前缀(由 \ 和 . 分隔),但总是出现错误Error: ‘contained_user’ is not a valid login or you do not have permission
。
在某种程度上这是有道理的,因为链接服务器是一个实例级对象并且包含依赖于它的数据库在某种程度上与包含的想法相反,但我没有在任何地方看到这种限制(例如https:/ /learn.microsoft.com/en-us/sql/relational-databases/databases/contained-databases?view=sql-server-2017#Limitations或https://learn.microsoft.com/en-us/sql/relational -databases/system-stored-procedures/sp-addlinkedsrvlogin-transact-sql?view=sql-server-2017 ) 所以想知道我是否只是把语法弄错了。
顺便说一句,在包含的数据库中创建的基于 Windows 登录的用户可以与链接服务器相关联。
谢谢!
马丁
仅供参考,根据 Microsoft 支持,这是预期的行为 - 包含的数据库用户不能配置为链接服务器中本地到远程安全映射的本地登录。
谢谢
马丁