博客出处:http://www.bkjia.com/sjkqy/984843.html
1、临时使用方法 OpenRowset
A. 使用有 SELECT 的OPENROWSET 与 Microsoft OLE DB Provider for SQL Server
以下范例使用 Microsoft OLE DB Provider for SQL Server,以存取命名为 remote1 的远程数据服务器上 pubs 数据库的 authors 表。从 datasource、user_id 与 password 初始化提供者,且使用 SELECT 查询数据表。
SELECT * FROM OPENROWSET(‘SQLOLEDB‘,‘remote1‘;‘sa‘;‘MyPass‘, [pubs].dbo.authors) AS A
B. 使用 OPENROWSET 与 OLE DB Provider for ODBC
以下范例使用 OLE DB Provider for ODBC 与 SQL Server ODBC 驱动程序,来存取命名为 remote1 的远程数据服务器上 pubs 数据库的 authors 表。以 ODBC 提供者使用的 ODBC 语法指定 provider_string 初始化提供者,並使用 catalog.schema.object 语法来定义传回的数据库表。
select * from openrowset(‘MSDASQL‘,‘DRIVER={SQL Server};SERVER=remote1;UID=sa;PWD=MyPass‘, [pubs].dbo.pubs) As A
2、如果经常访问或数据量大,建议用链接服务器
--创建链接服务器
exec sp_addlinkedserver ‘srv_lnk‘,‘‘,‘SQLOLEDB‘,‘远程服务器名或ip地址‘
exec sp_addlinkedsrvlogin ‘srv_lnk‘,‘false‘,null,‘用户名‘,‘密码‘
--查询示例
select * from srv_lnk.数据库名.dbo.表名
--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名
--处理完成后删除链接服务器
exec sp_dropserver ‘srv_lnk‘,‘droplogins‘