linkserver用法

来源:互联网 发布:js鼠标移动线条汇聚 编辑:程序博客网 时间:2024/04/29 19:08

为了解决跨服的问题,要用linkserver

 

新建linkserver,先在sms里新建个linkserver,然后create到文本框

--先建linkserver
EXEC master.dbo.sp_addlinkedserver @server = N'TEST1', @srvproduct=N'192.168.9.61',@provider=N'SQLNCLI',@datasrc=N'192.168.9.61', @catalog=N'bdg'
--再建登陆
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST1',@useself=N'False',@locallogin=N'ben.zhao',@rmtuser=N'ben.zhao',@rmtpassword=N'123.abc'

GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'TEST1', @optname=N'use remote collation', @optvalue=N'true'

 

用户名很重要,很多无权限,比如我这个ben.zhao,只能用ben.zhao.[表]

 

然后,你就可以用

select * from TEST1.bdg.[ben.zhao].HotelExpiredInfo

SELECT * FROM OPENQUERY(TEST1,'select * from HotelExpiredInfo')

 

如果用同义词

CREATE SYNONYM [dbo].[HotelExpiredInfo] FOR [TEST1].bdg.[ben.zhao].HotelExpiredInfo