首页 > 解决方案 > 如何使用 SQLExpress2012 将数据从一个 sql 实例上的数据库发布到另一个 sql 实例上的数据库

问题描述

我有一个使用 SQL Server 2012 Express 的生产 SQL 实例和数据库。我需要从这个数据库存档(按需)到不同 SQL Server 2012 实例(在不同机器上)上的不同数据库。归档过程要求在归档成功后删除原始数据。

我需要实时执行,并让它对用户有意义地快速。真的没什么好问的!归档由用户从浏览器屏幕调用 .Net 服务(在 C# 中)执行。

我仅限于 Javascript 客户端 (Sencha ExtJS)、后端服务器上的 C# 和两个数据库服务器上的 SQLExpress2012。

我一直在从 .Net 服务(C#)调用的源数据库上使用存储过程。

要归档的源数据位于一个父表和 1 个或多个子表上。目标数据库包含相同格式的表。我目前正在使用链接服务器从源服务器指向目标服务器。我在源数据库上使用存储过程在两个数据库之间执行分布式事务,但事务可能需要 30 秒到 90 秒来传输 5000 父行和 10000 到 15000 子行。

有没有更好更快的方法来做到这一点?我曾考虑在两台服务器上使用表参数,但我读到我无法写入存储过程中的表参数,也无法在 SQL 实例之间传递它们。

标签: databaseprocedure

解决方案


推荐阅读