使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

尝试在 Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) 或 Microsoft Dynamics NAV 5.0 SP1 中向复制表添加字段时,会收到如下所示的错误消息:

访问 Table_Name 表时发生以下 SQL Server 错误
:650,"42000",[Microsoft][ODBC SQL Server 驱动程序][SQL Server]只能在 READ COMMITTED 或 REPEATABLE READ 隔离级别中指定 READPAST 锁。 SQL:ALTER TABLE "NAVDB"。dbo"."CRONUS International Ltd_$MyTable" ADD "field4" VARCHAR (10) NOT NULL CONSTRAINT "$ndodefault$625437302$4" DEFAULT ''

备注

  • Table_Name 是要用于添加字段的表的实际名称的占位符。

  • 此问题发生在运行 2008 Microsoft SQL Server且安装了 Microsoft Dynamics NAV 环境的计算机上。 此外,只有在 Microsoft Dynamics NAV 表Microsoft SQL Server启用复制时,才出现此问题。

原因

发生此问题的原因是,如果相关事务设置为使用 SERIALIZABLE 隔离级别,则不能在 Microsoft SQL Server 2008 中更改复制表的架构。 这是 2008 Microsoft SQL Server的新约束,在早期版本的 Microsoft SQL Server 中不存在。 但是,Microsoft Dynamics NAV 的默认配置使用 SERIALIZABLE 隔离级别更改表。

解决方法

若要解决此问题,请配置 Microsoft Dynamics NAV 5.0 SP1 和 Microsoft Dynamics NAV 2009 SP1,以使用 Microsoft SQL Server 中的可重复读取隔离级别,而不是 SERIALIZABLE 隔离级别。

若要详细了解如何更改 Microsoft Dynamics NAV 使用的隔离级别,请访问以下知识库 (KB) 文章和关联的修补程序:

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×