繁体   English   中英

MSSQL自动合并数据库

[英]MSSQL Automatic Merge Database

我有一台装有MSSQL数据库的PC,该数据库每秒填充800个变量。 我需要该数据库至少每10分钟将其合并/备份到另一台服务器PC上的另一个数据库中。 另外,为了节省本地驱动器空间,每周必须擦除一次第一个数据库,以便在任何给定时间仅将1周的数据存储在该第一个数据库上。 同时,第二个数据库使所有内容保持不变,并且永远不会被清除,只有每10分钟进行一次合并时才会添加。

据我所知,这意味着我不能依赖数据库镜像,因为第一个数据库将每周擦除一次。 因此,从我收集到的信息来看,这意味着我必须每10分钟进行一次预定的合并。

我会很容易地承认我对SQL几乎一无所知。 所以我的两个问题是:

  1. 如何设置计划的合并,使其以10分钟的频率从一个数据库发生到另一个数据库?
  2. 如何设置一个计划/脚本化的数据库,以便每周清除一次?

(注意:两个数据库都在MS SQL Server 2012 Standard上运行。)

假设您可以在连接到服务器B的服务器A上创建一个链接服务器( 这是指南

然后在您的表上创建一个触发器,例如table1:

CREATE TRIGGER trigger1
ON table1
AFTER INSERT
AS
    INSERT INTO ServerB.databaseB.dbo.table1
    select *
    from inserted

更多有关触发器的信息

对于第2部分,您可以安排作业以所需的时间表截断表。 如何创建计划的工作
触发器仅在插入上触发,因此删除行对服务器B上的表没有任何作用。

如何通过存储的proc清除/删除数据? 如果是这样,您还可以尝试事务复制,并复制该特定存储的proc的执行,但是在订阅服务器上虚拟该proc,因此,当在订阅服务器上复制并执行proc时,不会删除/清除任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM