将数据从ODBC连接复制到本地数据库

时间:2013-07-10 14:49:58

标签: sql-server caching connection copy odbc

我想从MS SQL服务器上的ODBC连接数据库创建表的缓存副本。我们目前直接从几个excel表连接到ODBC连接并运行查询。它们需要大约1-2分钟才能完成,并且每天运行几次可以快速加起来。因此,为了尝试解决这个问题,我从ODBC连接复制了几个表并运行了一个查询,大约需要11秒。我想创建一个表的副本,并每小时更新一次。但我只想更新更改的表和行,以尝试并保持服务器负载。我想这样做作为存储过程。我对SQL不是很了解,并且想知道是否有一种半简单的方法来执行此操作

1 个答案:

答案 0 :(得分:0)

您可以编写一个运行查询的存储过程,并稍微修改它以输出到物理表。

例如:

select a.FirstName, a.LastName, b.City, b.State, b.zip into _temp_report
from customers a join addresses b on a.customer_id = b.customer_id

在上面的示例中, into _temp_report 部分是重要的部分。它将创建一个包含查询结果的新物理表。

然后,您只需将报告指向该表即可。

您可以使用SQL Server代理创建按计划运行存储过程的作业。

显然,您需要添加一些逻辑来在每次运行存储过程时删除_temp_report表,这样您就不会在每次运行作业时都尝试重新创建它。