我有大约10个链接服务器,我需要从每个链接服务器获取GETDATE()日期时间并将其存储在表中。请帮我解决一下如何做到这一点。
答案 0 :(得分:3)
insert into table
(all_Dates)
SELECT *
FROM OPENQUERY(USLinkedServer, 'SELECT getdate()')
union
SELECT *
FROM OPENQUERY(UKLinkedServer, 'SELECT getdate()')
union
SELECT *
FROM OPENQUERY(AUSLinkedServer, 'SELECT getdate()')
.
.
.
请记住,OPENQUERY要求已设置链接服务器
答案 1 :(得分:1)
您可以使用 OPENQUERY 从远程服务器获取结果集,这些结果集已添加为链接服务器。
语法为 OPENQUERY(linked_server,'查询')
任何用户都可以执行 OPENQUERY 。用于连接远程服务器的权限是从为链接服务器定义的设置中获取的。
INSERT INTO table (DateColumn)
SELECT Date
FROM OPENQUERY(RemoteServerName1, 'SELECT GETDATE() AS Date')
UNION ALL
SELECT Date
FROM OPENQUERY(RemoteServerName2, 'SELECT GETDATE() AS Date')
UNION ALL
SELECT Date
FROM OPENQUERY(RemoteServerName3, 'SELECT GETDATE() AS Date')
答案 2 :(得分:0)
如果使用sp_addLinkServer将该服务器添加到链接服务器列表中,则可以使用OPENQUERY,根据我的理解,可访问列应为1.