为2个链接服务器执行多个SQL Server查询

时间:2017-06-06 21:10:08

标签: sql-server

我有2个链接服务器“NewDump”和“OldDump”(来自不同日期的转储)。我有查询来比较这些转储中的表(如FTM $,FSF $等)。每个查询都比较这些链接服务器之间的表。有没有办法可以使用批处理文件一起运行所有这些“.SQL”查询(FTM.SQL和FSF.SQL)进行自动化

例如查询:FTM.SQL

FROM (
SELECT  *
FROM NewDump...FTM$) t1

FULL OUTER JOIN (
SELECT *
FROM OldDump...FTM$) t2

ON t1.id = t2.id
WHERE

t1.id IS NULL OR
t2.id IS NULL

例如FSF.SQL查询

FROM (
SELECT  *
FROM NewDump...FSF$) t1

FULL OUTER JOIN (
SELECT *
FROM OldDump...FSF$) t2

ON t1.id = t2.id
WHERE

t1.id IS NULL OR
t2.id IS NULL 

查询FSF.SQL和FTM.SQL存储在C:\ Users \ user \ Documents \ SQL Server Management Studio \ Queries

2 个答案:

答案 0 :(得分:0)

您可以使用SQL Agent来安排任何SQL语句。如果您从上述查询中创建存储过程并安排那些存储过程,那将更加简洁。

答案 1 :(得分:0)

这个查询对我来说可以运行多个.SQL文件。

ProcessBuilder p = new ProcessBuilder(command);
before=Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory();
Process pp = p.start();
after=Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory();
System.out.println("Used : "+before-after);