swa*_*eck 5 sql-server sql-server-2008-r2 transactional-replication
我刚刚将我的 ERP 数据库服务器从 SQL Server 2000 迁移到 SQL Server 2008 R2(两个企业版),迁移过程相当顺利。
但是,现在我正在尝试重新创建从 ERP 到 Reporting 环境的复制,我有两个出版物试图创建一系列MSFixupNonUniqueIndex_{{datetimestamp}}非唯一索引。创建这些索引的进程都在休眠,但它们正在阻塞最终用户正在运行的其他 SQL 进程。
是什么导致了这个修复索引的创建,我可以避免它吗?
sp_whoisactivenowait_info用于索引创建任务。sysprocesses显示了试图创建索引的 spid 阻止的两个过程。spid 本身有一个waittypeof0x0000和一个lastwaittypeof MISCELLANEOUS。sys.locks显示有 777 个锁:7 个 Intent,761 个 Exclusive,6 个 Shared,2 Schema Mod,1 Schema Stability。资源是: 1 ALLOCATION_UNIT、 9 OBJECT、 3 DATABASE、 2 METADATA、 677 PAGE、 11 KEY、 1 HOBT、 73 EXTENT。select * from sysprocesses where open_tran > 0 确实通过一个打开的事务返回 spidDBCC OPENTRAN 没有未结交易。MAXDOP 未配置如果复制会自动创建索引,那么您可能无法避免它。唯一的方法可能是在订阅者上创建匹配的索引。
尝试使用更详细的日志记录级别从命令行运行合并代理,并查看它返回哪些信息。它可能会遇到一些没有作为错误返回的东西。
| 归档时间: |
|
| 查看次数: |
515 次 |
| 最近记录: |