sql2005和sql2000在同一台电脑里面数据库db1是sql2005里面的,里面有个表m1;数据库db2是sql2000里面的,里面有个表m2,和表m1结构相同;SELECT [mobile],[province],[city] FROM [m1] WHERE [city]<>'' AND NOT EXISTS(select 1 from [1DDE5C66C5F5679].db2.dbo.m2 where m2.mobile=m.mobile)[1DDE5C66C5F5679]是机器名,执行以上sql却提示在 sysservers 中找不到服务器 '1DDE5C66C5F5679'。请执行 sp_addlinkedserver 将该服务器添加到 sysservers。该怎么修改呢?

解决方案 »

  1.   

    --创建链接服务器
    exec sp_addlinkedserver
    @server ='link_server_name',--链接服务器名
    @srvproduct = '',
    @provider = N'SQLOLEDB',
    @datasrc = N'server_name_2000',--远程服务器名称
    @catalog = N'master'
    go--创建远程登录
    exec sp_addlinkedsrvlogin
    @rmtsrvname = 'link_server_name',
    @useself='true',
      @rmtuser =  'sa', --远程服务器登录名称
    @rmtpassword = '***'
    go
      

  2.   

    SELECT [mobile],[province],[city] FROM [m1] WHERE [city] <>'' AND NOT EXISTS(select 1 from link_server_name.db2.dbo.m2 where m2.mobile=m.mobile)