【问题标题】:Microsoft Dynamics NAV 2009 How to remove objects outside of license?Microsoft Dynamics NAV 2009 如何删除许可证之外的对象?
【发布时间】:2016-12-30 10:02:36
【问题描述】:

在 2009 年到 2016 年的升级过程中,我试图删除与旧的停产产品相关的对象。对象不在许可范围内,由表格、表格和报告组成。删除时我遇到了众所周知的错误:

“您无权删除 '[object name]' 表。”

我已尝试使用我的开发人员许可证和客户许可证,但没有成功。由于该产品不再存在,因此保留这些对象是没有用的,我需要它们在升级过程中消失。

删除不在许可中的对象时,最好的方法或技术是什么?

更新:这个问题是如何解决的? 我联系了产品负责人并解释了我的问题。他们给我发了一个简洁的 PowerShell 脚本来运行。这就像一个魅力。通读脚本,我可以看到它使用 SQL cmdlet 从以下 SQL 表中选择和删除相关数据:

对象、对象元数据、对象元数据快照、对象跟踪、对象转换、权限。

这是曾经开发此产品的产品所有者的首选方法。它应该适用于所有 NAV 对象。我尚未成功尝试以下答案之一(更多尝试)。希望这些新信息能为有足够知识的人提供一个好的答案。

【问题讨论】:

    标签: sql-server microsoft-dynamics navision dynamics-nav-2009 microsoft-dynamics-nav


    【解决方案1】:

    被几个人成功使用但肯定不推荐用于生产系统的方法是简单地通过 SQL 从对象和补充表中删除这些对象。如果是表,则需要手动删除 SQL 表本身及其 VSIFT 视图。

    更好一点(可能)的方法是通过 SQL 更改对象的编号,然后通过 NAV 删除对象。

    最好的方法是使用“杀手对象”的功能——它允许通过 FOB 导入删除对象:

    http://navisionary.com/2011/11/how-to-delete-bsolete-dynamics-nav-objects/

    如果您找到可以为您提供此类杀手级对象的合作伙伴(他们需要拥有在所需范围内创建对象的许可证),它会以“干净”的方式解决您的问题。

    如果没有,您可能需要考虑在某些测试数据库中创建 50000 范围内的空对象,通过 SQL 将其编号更改为过时范围,将它们导出为 FOB,然后使用“删除”选项将它们导入目标数据库。

    【讨论】:

    • 什么意思?提供给您的脚本直接通过 SQL 删除对象 - 这与我在第一段中描述的方法相同。它是有效的,但不是“官方”的。如果产品负责人向您推荐这种方法,我会坚持使用它。
    • 是的,它使用 PowerShell 的 SQL cmdlet 向数据库发送查询。是的,这与您描述的方法相同。在另一种情况下,您是否认为这些表都足够了,或者可能是其他需要清除的表?这里我对 NAV 的 SQL 方面的知识存在差距。
    • 是的,您提供的这个表格列表很好。如果要删除表对象,您可能还想删除 SQL 中的实际表(例如 [Company Name$Table Name])及其视图(例如 [Company Name$Table Name$VSIFT$nn]),但不是需要。
    • 谢谢!现在我对它的工作原理有了更好的理解:)
    【解决方案2】:

    创建新的空数据库,从旧数据库中只导出需要的对象,将它们导入新数据库。 在 Nav 2016 中,应用程序数据库可以与包含数据库的数据分离,因此(我假设)您可以使用旧对象将其从数据库中卸载并将其安装到新的应用程序数据库中。不确定。

    【讨论】:

      【解决方案3】:

      这是由于许可证的范围,例如您的开发许可证有一个表格范围 7.000.000 - 7.000.200。如果您想删除 ID 20.000.000 的表,则会出现该错误。

      最好的解决方案是,当您进行升级时,您是否认为这些对象需要删除。导出除您要删除的对象之外的所有对象。

      【讨论】:

      • 当然可以。未获得许可的对象是问题的基础。所以你的建议只是将对象留在数据库中?不导出它们不会做任何事情,因为它们仍在数据库中。
      • 是的,仅使用不想删除的对象创建一个新数据库。然后编译所有对象以检查状态并在必要时解决问题。
      • 不是,答案是一样的。我不知道这个脚本是如何开发的。所以你提到了 sript 更新的 NAV 中的敏感表 这样你就可以确保它会没事。问候。
      猜你喜欢
      • 1970-01-01
      • 2021-05-25
      • 2015-03-14
      • 2013-02-24
      • 2013-09-12
      • 2018-06-27
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多