通过IP访问第三方mssql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
-- ip 访问 其他 链接 数据库

CREATE VIEW Vabcd
as
SELECT TOP 10 * from [192.168.100.35\lplp].[yxhis].dbo.tbczy


exec sp_addlinkedserver YMM,'','SQLOLEDB','192.168.200.69'
exec sp_addlinkedsrvlogin YMM,'false',NULL,'sa','123'

利用sp_addlinkedserver实现远程数据库链接

--查看当前链接情况:
select * from sys.servers;

--使用 sp_helpserver 来显示可用的服务器
Exec sp_helpserver

--删除已经存在的某个链接
Exec sp_droplinkedsrvlogin 服务器别名,Null
Exec sp_dropserver 服务器别名

-- 关键是执行此处两行SQL-------------------- ----------------

--使用sp_addlinkedserver来增加链接(两个ip填一样)
EXEC sp_addlinkedserver
@server='192.168.2.66',
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='192.168.2.66'

--使用sp_addlinkedsrvlogin 来增加用户登录链接
EXEC sp_addlinkedsrvlogin
'192.168.2.66',
'false',
NULL,
'sa', --帐号
'123123' --密码

---------------------------------------- ------------------

使用举例(访问目标服务器上的数据库Music,查看其中表test的内容):
如果建立链接时的别名是目标服务器IP,即192.168.2.66
则:
select * from [192.168.2.66].[Music].dbo.test
如果建立链接时的别名是JOY,
则:
select * from [JOY].[Music].dbo.test

可能会遇到的问题:
exec sp_dropserver 'JOY'执行失败,
报错信息:仍有对服务器 'JOY' 的远程登录或链接登录。
解决方法:
exec sp_droplinkedsrvlogin 'JOY',null
exec sp_dropserver 'JOY'