SqlServer-dblink相关1

1:新建dblink

在目标sqlserver 执行以下语句:


IF NOT EXISTS ( SELECT  srv.name
                FROM    sys.servers srv
                WHERE   srv.server_id != 0
                        AND srv.name = N'Data_lnk' )
    BEGIN
--//创建linkServer
        EXEC sp_addlinkedserver 'Data_lnk', '', 'SQLOLEDB',
            'ip';
--//登陆linkServer
        EXEC sp_addlinkedsrvlogin 'Data_lnk', 'false', NULL, 'username',
            'password';
    END

即可创建名为 Data_lnk 的 dblink;

连接的远程数据库的 ip、username、password 即以上对应的  ip、username、password; 


2:连接 dblink 访问数据库

建dblink之后,就可以远程访问数据库了。

查询:

select * from Data_lnk.dbname.dbo.tablename

如果是执行存储过程:

execute Data_lnk.dbname.dbo.procedurename

会报错:

未将服务器‘Data_lnk’ 配置为用于 RPC。

需要配置RPC,执行以下语句:

exec sp_serveroption @server='Data_lnk',@optname = 'rpc',@optvalue = 'TRUE'
exec sp_serveroption @server='Data_lnk',@optname = 'rpc out',@optvalue = 'TRUE'

重新执行存储过程,ok~

posted @ 2017-01-16 16:31  Stepheng  阅读(54)  评论(0)    收藏  举报