我有一台拥有MSSQL数据库的PC,每秒都会填充800个变量。我需要该数据库至少每10分钟合并/备份到另一台服务器PC上的第二个数据库。此外,第一个数据库需要每周擦除一次,以节省本地驱动器空间,以便在任何给定时间只有1周的数据存储在第一个数据库上;同时,第二个数据库保持一切完整,永远不会被清除,只是每10分钟发生一次合并。
据我所知,这意味着我不能依赖数据库镜像,因为第一个将每周擦除。所以从我收集的内容来看,这意味着我必须每10分钟进行一次预定的合并。
我很乐意承认我对SQL几乎一无所知。所以我的两个问题是:
(注意:两个数据库都在 MS SQL Server 2012 Standard 上运行。)
答案 0 :(得分:0)
假设您可以在服务器A上创建连接到服务器B的链接服务器(Here's a guide)
然后在桌面上创建一个触发器,例如table1:
CREATE TRIGGER trigger1
ON table1
AFTER INSERT
AS
INSERT INTO ServerB.databaseB.dbo.table1
select *
from inserted
更多关于触发器here。
对于第2部分,您可以安排作业在您希望的任何计划中截断表。 How to create a scheduled job。
触发器仅在插入时触发,因此删除行不会对服务器B上的表执行任何操作。
答案 1 :(得分:0)
如何通过存储过程清除/删除数据?如果是这样,您还可以尝试事务复制,并复制该特定存储过程的执行,但在订阅服务器上伪造proc,因此当在订阅服务器上复制并执行proc时,不会删除/清除任何内容。