SQL Server 常用跨库查询

来源:互联网 发布:恢复备份数据 编辑:程序博客网 时间:2024/04/29 13:04

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'



0 0
原创粉丝点击