SQL Server 2008 R2 分布式分区视图更新/删除问题
我有一个用于存储文章的大数据表(有超过5亿条记录),因此我在3台服务器上使用SQL Server 2008的分布式分区视图功能。
选择和插入操作工作正常。但删除或更新操作需要很长时间并且永远无法完成。
在“活动监视器”的“进程”选项卡中,我看到更新命令的“等待类型”字段为“PREEMPTIVE_OLEDBOPS”。
知道有什么问题吗?
注意:我认为 MSDTC 存在问题,因为更新命令未显示在第二台服务器的 SQL Profiler 中。但当检查同一服务器上的 MSDTC 状态时,状态列为 Update(active)。
I have a big data table for store articles(has more than 500 million record), therefore I use distributed partition view feature of SQL Server 2008 across 3 servers.
Select and Insert operations work fine. But Delete or Update action take long time and never complete.
In Processes tab of Activity Monitor, I see Wait Type field is "PREEMPTIVE_OLEDBOPS" for Update command.
Any idea what's the problem?
Note: I think problem with MSDTC, because Update command not shown in SQL Profiler of second server. but when check MSDTC status on the same server, status column is Update(active).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最有可能发生的情况是,在应用更新语句的过滤器之前,来自其他服务器的所有数据都被拉到运行查询的计算机上。当您使用 4 部分命名时,可能会发生这种情况。可能的解决方案是:
要提供 5 亿条记录,您的服务器似乎就足够了。使用带有滑动窗口的表分区进行设置可能更具成本效益处理音量的方式。
What is most likely happening is that all the data from the other server is pulled over to the machine where the query is running before the filter of your update statement is applied. This can happen when you use 4-part naming. Possible solutions are:
To serve 500 million records your server seems to be adequate. A setup with Table Partitioning with a sliding window is probably a more cost effective way of handling the volume.