SQL Server 链接服务配置

A、链接SQL Server服务器:

1、使用 ODBC 的 Microsoft OLE DB 提供程序

EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server}; SERVER=远程名; UID=用户; PWD=密码; '
go
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
2、使用SQL Server 的 Microsoft OLE DB 提供程序

exec sp_addlinkedserver @server='别名',@provider='sqloledb',@srvproduct='',@datasrc='远程服务器名'
exec sp_addlinkedsrvlogin @rmtsrvname='wzb',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'

3、操作数据
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go

例1、此示例在 SQL Server 的实例上创建一台名为 S1_instance1 的链接服务器,该服务器使用 SQL Server 的 Microsoft OLE DB 提供程序。

EXEC sp_addlinkedserver @server='S1_instance1', @srvproduct='',@provider='SQLOLEDB', datasrc='S1\instance1'

例2、建立链接服务器
EXEC sp_addlinkedserver 'xiaoming','','MSDASQL',NULL,NULL,'DRIVER={SQL Server}; SERVER=192.168.0.1; UID=sa; PWD=123; '
建立链接服务器登录映射
exec sp_addlinkedsrvlogin @rmtsrvname='xiaoming',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='123'
go
--查询数据
select * from xiaoming.schooladmin.dbo.agent

--删除链接服务器登录映射和链接服务器:
exec sp_droplinkedsrvlogin 'xiaoming' ,'sa'
exec sp_dropserver 'xiaoming'

注意事项:

SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF } 所以不能通过连接服务器设置此属性
into 也存在这样的问题select * into xiaoming.northwind.dbo.tt from xiaoming.northwind.dbo.tt

B、设置链接服务器以访问Access数据库

使用用于 Jet 的 Microsoft OLE DB 提供程序此示例创建一台名为 test的链接服务器。

说明 本示例假设已经安装 Microsoft Access 和示例 Northwind 数据库,且 Northwind 数据库驻留在 C:\。
USE master
GO
-- To use named parameters:
EXEC sp_addlinkedserver @server = 'test', @provider = 'Microsoft.Jet.OLEDB.4.0', @srvproduct = 'OLE DB Provider for Jet',
@datasrc = 'C:\Northwind.mdb'
GO
-- OR to use no named parameters:
USE master
GO
EXEC sp_addlinkedserver 'test', 'OLE DB Provider for Jet','Microsoft.Jet.OLEDB.4.0', 'C:\Northwind.mdb'
GO
数据查询
select * from test...表名

原文地址:https://www.cnblogs.com/snlfq2000/p/1743493.html