Dynamics CRM:无法更改记录所有者

时间:2018-02-06 20:32:45

标签: sql sql-server dynamics-crm dynamics-crm-2015

Re:Dynamics CRM 2015 On-Prem

我们今天开始发生一个奇怪的问题。简而言之,我们无法改变任何唱片所有者。我甚至尝试过一个新创建的实体。更改所有者后,无论是手动选择所有者还是使用分配功能,表单将在保存时刷新,并恢复为之前的所有者。不,我们没有任何新的OnSave / OnLoad Java脚本或任何新的工作流程/插件。对环境的唯一改变是我们回滚了更新0.3,然后我们重新安装了它。

更新

我认为你是对的雅各布。我尝试将组织升级到7.03,但它失败了。它似乎正在寻找一些不存在的东西“subscriptionstatisticsoutlookbase”。它应该是一张桌子吗?我可以手动创建吗?

 System.Data.SqlClient.SqlException: Invalid object name 'SubscriptionStatisticsOutlookBase'.

更新2

我正在更新和标记SQL人员。我正在使用PSS,但到目前为止还没有。我在尝试升级到2016时遇到了同样的错误,所以也许这是一个线索。我将SQL语句从日志复制到SQL查询,当然IntelliSense引发了同样的错误。我想知道一些SQL大师是否可以对此有所了解。请参阅下面的屏幕截图。

SQL Code resulting in an exception

Error 1

Error 2

1 个答案:

答案 0 :(得分:0)

好吧,看起来我在无休止地等待PSS时想出来了。

我遇到的问题与数据库缺失表有关,我不知道这些表如何以及为什么链接到更改记录的所有者,但我注意到在尝试升级组织时有关丢失表的投诉到7.03。实际上,这些表可能与问题无关,只是DB处于不一致状态,而这些表是我无法将其恢复到7.03的原因。我基本上仔细检查了升级日志文件。尝试从无法找到的表创建视图时失败。错误是“找不到对象”。总共有4张桌子。升级日志文件没有首先报告所有4个表,因为它一发现第一个丢失就会停止。所以我从一个功能强大的7.03 Dynamics Org中抓取了数据库,找到了表,并为每个丢失的表创建了一个Create脚本。关键部分是我需要关闭并重新打开Deployment Manager以允许升级过程获取新表。见下面的脚本。创建4个表后,升级过程成功创建了所需的视图,并且升级到7.03成功。将组织升级到7.03解决了这个问题。

/***** Table 1 SubscriptionStatisticsOutlookBase *****/

USE <DBName>_MSCRM
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SubscriptionStatisticsOutlookBase](
       [ObjectTypeCode] [int] NOT NULL,
       [FullSyncRequired] [bit] NOT NULL,
       [SubscriptionId] [uniqueidentifier] NOT NULL,
 CONSTRAINT [PK_SubscriptionStatisticsOutlookBase] PRIMARY KEY CLUSTERED

(
       [SubscriptionId] ASC,
       [ObjectTypeCode] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SubscriptionStatisticsOutlookBase] ADD  CONSTRAINT [DF_SubscriptionStatisticsOutlookBase_FullSyncRequired]  DEFAULT ((1)) FOR [FullSyncRequired]
GO

 

/******* Table 2 SubscriptionSyncEntryOfflineBase ******/

USE <DBName>_MSCRM
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SubscriptionSyncEntryOfflineBase](
       [ObjectTypeCode] [int] NOT NULL,
       [VersionNumber] [bigint] NOT NULL,
       [ObjectId] [uniqueidentifier] NOT NULL,
       [SubscriptionId] [uniqueidentifier] NOT NULL,
       [SyncState] [tinyint] NOT NULL,
 CONSTRAINT [PK_SubscriptionSyncEntryOfflineBase] PRIMARY KEY CLUSTERED
(
       [SubscriptionId] ASC,
       [ObjectId] ASC,
       [ObjectTypeCode] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
GO

/***** Table 3 SubscriptionSyncEntryOutlookBase ****/

USE <DBName>_MSCRM
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SubscriptionSyncEntryOutlookBase](
       [SyncState] [tinyint] NOT NULL,
       [ObjectTypeCode] [int] NOT NULL,
       [ObjectId] [uniqueidentifier] NOT NULL,
       [VersionNumber] [bigint] NOT NULL,
       [SubscriptionId] [uniqueidentifier] NOT NULL,
 CONSTRAINT [PK_SubscriptionSyncEntryOutlookBase] PRIMARY KEY CLUSTERED
(
       [SubscriptionId] ASC,
       [ObjectId] ASC,
       [ObjectTypeCode] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
GO

   /****** Table 4 SubscriptionStatisticsOfflineBase *****/

USE <DBNAme>_MSCRM
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SubscriptionStatisticsOfflineBase](
       [FullSyncRequired] [bit] NOT NULL,
       [SubscriptionId] [uniqueidentifier] NOT NULL,
       [ObjectTypeCode] [int] NOT NULL,
 CONSTRAINT [PK_SubscriptionStatisticsOfflineBase] PRIMARY KEY CLUSTERED
(
       [SubscriptionId] ASC,
       [ObjectTypeCode] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SubscriptionStatisticsOfflineBase] ADD  CONSTRAINT [DF_SubscriptionStatisticsOfflineBase_FullSyncRequired]  DEFAULT ((1)) FOR [FullSyncRequired]
GO