日期:2014-05-18  浏览次数:20560 次

求助:跨机房导数据阻塞的问题
我在A机房用
SQL code

exec sp_addlinkedserver   '10.0.10.64', '', 'SQLOLEDB', 'XXX.xxx.xxx.xxx'  
exec sp_addlinkedsrvlogin '10.0.10.64', 'false ',null, 'ETL', 'ETL20120101'  

select top 1000 *  
into Temp
from [10.0.10.64].STAT_Tran.dbo.VisitLog120401



方式从B机房,获取数据,
前一段时间还是正常的,最近网站流量大了,就不能正常获取数据了

查看B机房的数据库进程显示 ASYNC_Network_IO 点详细显示 sys.sp_getschemalock;1
一直在等待。
以前每次传10万条没有问题,只要2分钟即可
现在传100条就要10分钟了。
请问这是什么原因,需要怎么改进?
目前机房带宽使用达到了95%了



------解决方案--------------------
数据量大是很占带宽的。
------解决方案--------------------
检查你的网络
------解决方案--------------------
ASYNC_Network_IO 点详细显示 sys.sp_getschemalock;1
这个已经很明白了,lz还是赶紧检查你的网络吧,看下主光纤线路,再检查下水晶头是否氧化生绣。

还有第3种可能哦,中招了,有病毒在使用网络带宽。
------解决方案--------------------
1.找供应商加大带宽

2.在B机房SQL Server对应数据库上创建一个暂存表,用于存储未传输到A机房的数据,一旦传输完成,清除已传输的数据。当有新的数据修改写入到暂存表中,等待下次的传输。