Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从访问受限的远程数据库复制数据_Sql_Sql Server_Database_Replicate - Fatal编程技术网

Sql 从访问受限的远程数据库复制数据

Sql 从访问受限的远程数据库复制数据,sql,sql-server,database,replicate,Sql,Sql Server,Database,Replicate,我是一名为工程公司管理数据的“意外DBA”。我们的每个站点都有一个SQL Server 2000数据库中最近3个月(滚动)站点数据的本地存储 这些数据库(大约150个)由工厂制造商管理,我们只能对数据进行只读SELECT访问。无法获得管理访问权限或对这些远程数据库的表、架构、配置选项等进行任何更改 除此之外,我们在办公室的SQL Server 2012(标准版)数据库中保留所有数据的精确副本(相同的表、架构等)。它存储每个站点的所有历史数据,而不仅仅是远程存储的3个月的数据。目前,使用自定义第三

我是一名为工程公司管理数据的“意外DBA”。我们的每个站点都有一个SQL Server 2000数据库中最近3个月(滚动)站点数据的本地存储

这些数据库(大约150个)由工厂制造商管理,我们只能对数据进行只读
SELECT
访问。无法获得管理访问权限或对这些远程数据库的表、架构、配置选项等进行任何更改

除此之外,我们在办公室的SQL Server 2012(标准版)数据库中保留所有数据的精确副本(相同的表、架构等)。它存储每个站点的所有历史数据,而不仅仅是远程存储的3个月的数据。目前,使用自定义第三方工具检索远程数据并更新office数据库。但是,这是作为exe提供的,因此无法查看源代码

由于第三方传输工具上的配置选项有限,我被要求找到替换它的方法。显然,我可以编写自己的自定义应用程序,但我首先想探讨是否可以利用任何现有的SQL Server工具

到目前为止,我一直在尝试探索(注意:我不是SQL Server方面的专家,因此请原谅任何不准确之处):

  • :如果我理解正确,则必须在源数据库和目标数据库上配置此选项,遗憾的是,这不是一个选项(我还认为SQL Server 2000不支持复制)

  • :据我所知,这涉及到在源数据库中创建表/列以监视更改。这在我的情况下是不可能的

  • 链接服务器(我认为这本身不是一种复制技术,我只是尝试过):我尝试创建一个链接服务器,但由于远程数据库运行SQL server 2000,这是不可能的

  • 服务经纪人:比如1。这涉及到在远程数据库中创建队列

  • 因此,我的问题是:

  • 当您对远程数据库只有
    SELECT
    权限时,SQL Server中是否有任何工具可以在实例之间复制数据

  • 如果答案是1。是否,是否有执行上述操作的存储过程的良好示例

  • 在我的例子中,监视更改相对容易,因为每一行都包含一个信号时间戳。因此,有可能监测新数据。但是,某些列包含计数器信息,这些信息可能已更改(相同的时间戳,但另一列可能已更新),具体取决于检索数据的时间。处理这些案件的最佳方式是什么


  • PS-我将在7月29日星期二之前不在办公室,所以到时候我会尝试任何建议。谢谢你的帮助

    SSIS的工作怎么样?谢谢Dave,我想知道这是不是最好的方式。你的意思大概是写一个自定义包,而不是使用一些集成的过程?它应该很容易设置,只需从一侧选择并插入另一侧。您可以设置一个参数或变量,仅获取时间戳>X的记录。谢谢Dave。这是我对答案的期望。有没有简单的方法来处理更新计数器值?这只是一个单独比较每一列并寻找差异的例子吗?我不知道你的意思。什么计数器值?