我有两个MSSQL Server实例,一个在DMZ上,因此无法访问内部网络。
所以SERVER1(在防火墙内部)将今天的数据推送到SERVER2(在DMZ上)。
如何在将大量行移动到SERVER2上的表时获得更好的性能?今天这样做。
INSERT INTO SERVER2.DB.DBO.TABLE SELECT something from SERVER1Table
它非常缓慢且耗时,并且至少它不会为外部用户锁定表格。
问题在于SERVER2是一个网络服务器,是客户登录和检查某些信息的门户。
或者我几乎被推入使用拉数据查询的选择?所以我需要通过防火墙打开MSSQL端口,让DMZ SERVER2从SERVER1中提取数据?
答案 0 :(得分:0)
SQL Server Integration Services(SSIS)应该是工作的正确工具......
该工具的目的是传输和转换数据,因此他们非常擅长这一点。
您可以轻松扩展您的软件包并开发简单的任务,例如您在几分钟内提到的任务。
答案 1 :(得分:0)
Ssis可能会花费相似的时间。您应该优化您的架构。尝试添加两个步骤以最小化锁定:
这样,两个表之间的最慢步骤就会完全与影响用户断开连接。