在从2009年到2016年的升级过程中,我试图删除与旧的停产产品有关的对象。这些对象不在范围内或许可范围内,并且包含表格,表格和报告。当删除我面对众所周知的错误:Microsoft Dynamics NAV 2009如何删除许可证外的物体?
"You do not have permission to delete the '[object name]' Table."
我试过用我的开发者许可证和客户许可证没有运气。由于该产品不再存在,因此无法保留这些物体,因此我需要将它们用于升级过程。
删除不在许可证中的对象时,最佳方法或技巧是什么?
更新:如何解决此问题? 我与产品负责人联系并解释了我的问题。他们给我发送了一个简洁的PowerShell脚本来运行。这工作像一个魅力。通过脚本阅读中,我可以看到它使用SQL cmdlet来从下面的SQL表中选择并删除相关数据:
Objects, Object Metadata, Object Metadata Snapshot, Object Tracking, Object Translation, Permission.
这是产品所有者谁开发这个产品的首选方法。它应该适用于所有NAV对象。我还没有成功尝试下面的答案之一(更多尝试来)。希望这些新的信息能够为有足够的人提供一个好的答案。
你是什么意思?提供给您的脚本直接通过SQL删除对象 - 这与我的第一段中描述的方法相同。这是有效的,但不是“官方”的。如果产品所有者提出了这种方法,我会坚持使用它。 – sergeyol
是的,它使用PowerShell的SQL cmdlet来发送查询数据库。是的,这与您所描述的方法相同。在另一种情况下,你认为这些表是全部还是足够的,或者可能是需要清除的其他表?我在这里知道NAV的SQL方面存在差距。 – theschitz
是的,你提供的这张桌子清单很好。如果您要删除表对象,您可能还想删除SQL中的实际表(例如[公司名称$表名])及其视图(例如[公司名称$表名$ VSIFT $ nn]),但它不是需要。 – sergeyol