我有两个MSSQL Server实例,其中一个在DMZ上,因此它无法访问内部网络。
因此,SERVER1 (在防火墙内部)将今天的数据推送到SERVER2 (在非军事区)。
如何在将大量行混洗到SERVER2上的表中获得更好的性能?今天做这个的时候。
INSERT INTO SERVER2.DB.DBO.TABLE SELECT something from SERVER1Table这是非常慢和耗时的,至少可以说它为外部用户锁定了表。
事实是,SERVER2是一个and服务器,是客户登录和检查某些信息的门户。
或者我几乎被迫选择使用拉式数据查询?所以我需要通过防火墙打开MSSQL端口,让非军事区SERVER2从SERVER1拉取数据?
发布于 2015-06-09 17:52:01
SQL Server Integration Services (SSIS)应该是合适的工具...
该工具的目的是传输和转换数据,所以他们真的很擅长这一点。
您可以轻松地扩展您的包并开发简单的任务,就像您在几分钟内提到的那样。
发布于 2015-06-09 18:23:17
Ssis可能会花费类似的时间。你应该优化你的架构。尝试再添加两个步骤以最大限度地减少锁定:
这样,最慢的步骤发生在两个完全与影响用户断开连接的表之间。
https://stackoverflow.com/questions/30728491
复制相似问题