Связанный сервер - не может получить доступ к пользовательским базам данных - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть 2 экземпляра SQL Server 2016, оба исправлены на уровне SP1 CU8. Я создал связанный сервер между ними со следующим определением:

    USE [master]
GO

/****** Object:  LinkedServer [MyServer]    Script Date: 4/27/2018 12:58:24 PM ******/
EXEC master.dbo.sp_addlinkedserver @server = N'MyServer', @srvproduct=N'', @provider=N'SQLNCLI'
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'MyServer',@useself=N'False',@locallogin=NULL,@rmtuser=N'SA',@rmtpassword='########'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'MyServer', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO

После создания связанного сервера все работает нормально, если я запрашиваю таблицы в системных базах данных. Пользовательские базы данных, однако, не видны. Учетная запись sa, конечно, является членом sysadmin на целевом сервере. Я также попытался создать явного пользователя в целевой базе данных.

Я также пытался сделать базу данных пользователей базой данных по умолчанию.

...