• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
你和我
博客园    首页    新随笔    联系   管理    订阅  订阅

连接多个数据库sql

以连接3个数据库为例。

 IF(SELECT
    COUNT(SRVID)
FROM
    MASTER..SYSSERVERS
WHERE
    SRVNAME IN(  'srv_lnk0'   ,   'srv_lnk1'   ,   'srv_lnk2'   )
)<>0
  BEGIN
  exec   sp_dropserver   'srv_lnk0','droplogins'  

  exec   sp_dropserver   'srv_lnk1','droplogins' // droplogins:删除相关的远程服务器和链接服务器登录名
  exec   sp_dropserver   'srv_lnk2','droplogins'
  END
   exec   sp_addlinkedserver     'srv_lnk0','','SQLOLEDB','服务器名1\SQLEXPRESS'   

   exec   sp_addlinkedsrvlogin   'srv_lnk0','false',null,'user' , 'PASSWORD'          

   exec   sp_addlinkedserver     'srv_lnk1','','SQLOLEDB','服务器名2\SQLEXPRESS'   

   exec   sp_addlinkedsrvlogin   'srv_lnk1','false',null,'user' , 'PASSWORD'
   exec   sp_addlinkedserver     'srv_lnk2','','SQLOLEDB','服务器名3\SQLEXPRESS'
   exec   sp_addlinkedsrvlogin   'srv_lnk2','false',null,'user' , 'PASSWORD'

          SELECT     *

          FROM     

                         srv_lnk0.TKC.dbo.TABLE1 AS A1

          UNION(

          SELECT

                         *

          FROM

                         srv_lnk1.TKC.dbo.TABLE1 AS A1

          )

          UNION(

          SELECT

                         *

          FROM

                         srv_lnk2.TKC.dbo.TABLE1 AS A1

          )

 exec   sp_dropserver   'srv_lnk0','droplogins'

 exec   sp_dropserver   'srv_lnk1','droplogins'

 exec   sp_dropserver   'srv_lnk2','droplogins'

说明:

// 从本地 SQL Server 实例中的已知远程服务器和链接服务器的列表中删除服务器。

// sp_addlinkedserver:创建链接服务器

// srv_lnk0:要创建的链接服务器的名称。

// SQLOLEDB:要添加为链接服务器的 OLE DB 数据源的产品名称。

// sp_addlinkedsrvlogin:创建或更新 SQL Server 本地实例上的登录名与远程服务器中安全帐户之间的映射。

// srv_lnk0:应用登录映射的链接服务器的名称。

// false:确定是否通过模拟本地登录名或显式提交登录名和密码来连接到srv_lnk0。数据类型为 varchar(8),默认值为 TRUE。

// NULL :指定此项应用于连接到 srv_lnk0的所有本地登录。如果不为 NULL,则 locallogin 可以是 SQL Server 登录或 Windows 登录。对于 Windows 登录来说,必须以直接的方式或通过已被授权访问的 Windows 组成员身份授予其访问 SQL Server 的权限。

 

posted @ 2008-08-18 09:49  古道热肠  阅读(1275)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3