SQL Server与Salesforce集成:表结构变更后SF_Refresh报错的自动解决咨询
关于Salesforce表自动刷新与SQL Server性能问题的咨询
背景
我们在SQL Server中通过以下作业每30分钟刷新指定Salesforce表:
exec [SalesforceBackup].dbo.SF_Refresh 'SALESFORCE' ,'Case' ,'Yes','no' exec [SalesforceBackup].dbo.SF_Refresh 'SALESFORCE' , 'Account' ,'Yes','no' exec [SalesforceBackup].dbo.SF_Refresh 'SALESFORCE' , 'User' ,'Yes','no' exec [SalesforceBackup].dbo.SF_Refresh 'SALESFORCE' , 'RecordType' ,'Yes','no' exec [SalesforceBackup].dbo.SF_Refresh 'SALESFORCE' , 'End_Customer__c' ,'Yes','no' exec [SalesforceBackup].dbo.SF_Refresh 'SALESFORCE' , 'Access__c' ,'Yes','no' exec [SalesforceBackup].dbo.SF_Refresh 'SALESFORCE' , 'Pricing_Entry__c' ,'Yes','no' exec [SalesforceBackup].dbo.SF_Refresh 'SALESFORCE' , 'Assets__c' ,'Yes','no' exec [SalesforceBackup].dbo.SF_Refresh 'SALESFORCE' , 'Component__c' ,'Yes','no'
问题场景
该作业多数时间正常运行,但当Salesforce端为表添加新字段后,上述刷新过程会失效,必须手动执行以下SF_Replicate命令才能恢复:
exec [SalesforceBackup].dbo.SF_Replicate 'SALESFORCE' ,'Case','pkchunk,batchsize(7500)'
错误信息
失效时收到的错误信息如下:
Using last run time of 2022-11-21 13:48:00 [SQLSTATE 01000] (Message 0) 19:15:56: Identified 1123 updated/inserted rows. [SQLSTATE 01000] (Message 0) 19:15:56: Error: Fixed_Asset_Tracking_URL__c exists in the delta table but does not exist in the local table or has a different definition. [SQLSTATE 01000] (Message 0) 19:15:56: Table schema has changed. The table will be replicated instead. [SQLSTATE 01000] (Message 0) --- Starting SF_Replicate for Case V5.1.9 [SQLSTATE 01000] (Message 0)
咨询点
- 我认为
SF_Refresh应该自动同步新添加的字段,请问有没有无需手动干预就能自动解决该错误的方法? - 当前SQL Server运行缓慢且管理混乱,这是否是引发该问题的更大诱因?
内容的提问来源于stack exchange,提问作者LJC97
相关产品推荐
相关产品推荐

