來源一:將 SourceOne SQL 資料庫移至新的 SQL 伺服器後,使用者無法修改對應資料夾的權限
Summary: 將 SourceOne SQL 資料庫移至新的 SQL 伺服器後,使用者無法修改對應資料夾的權限。
Symptoms
將 EMC SourceOne SQL 資料庫移至新的 SQL 伺服器後,使用者便無法修改對應資料夾的權限。將使用者添加到映射的資料夾或更改許可權可能無法應用。未顯示任何錯誤。如果對話框關閉並重新打開,則尚未應用許可權。在某些情況下,MMC 可能會顯示無效指標錯誤:
Invalid pointer (0x80004003) [ExMMCAdmin.dll, CoExFolderMgr.cpp(916).CCoExFolderMgr::AddPrincipleToList]
>System call failed. (0x86040100) [ExMMCAdmin.dll, CoExFolderMgr.cpp(460).CCoExFolderMgr::SaveFolder]
>Invalid pointer (0x80004003) [ExMMCAdmin.dll, CoExFolderMgr.cpp(916).CCoExFolderMgr::AddPrincipleToList]
>System call failed. (0x86040100) Unknown error (0x8004C350) [ExMMCAdmin.dll, CoExJDFDB.cpp(868).CoExJDFDB::ExecuteCmd]
Stack Trace:
at EMC.Interop.ExProviderGW.CoExJanusFolderClass.Save()
at EMC.EX.MMCAdmin.JDFForms.ExFolderMgrPropertySheet.SaveChanges(Boolean& bOKToClose)
Message : ExCreateDataSrcCacheApp @AppID=<#>,@AppRowID=<#>,@DataSourceID=<#>,@ExpansionMask=<#>
: <ServerName>
Message : System call failed. (0x86040100) Unknown error (0x8004C350) {Error 60006, severity 11, state 1 was raised, but no message with that error number was found in sys.messages. If error is larger than 50000, make sure the user-defined message is added using sp_addmessage. Error#:18054 Proc:ExCreateDataSrcCacheApp Line:62 Native error: 50000 SQL State: 42000 }
JobId : -1
ActivityId : -1
ActivityType : -1
ExMMCAdmin.dll.log可能會在每次嘗試失敗後記錄以下錯誤:
Module : CoExJDFDB.cpp
Func : CoExJDFDB::CreateDataSrcCacheApp(6130)
Message : System call failed. (0x86040100) Unknown error (0x8004C350) {Error 60006, severity 11, state 1 was raised, but no message with that error number was found in sys.messages. If error is larger than 50000, make sure the user-defined message is added using sp_addmessage. Error#:18054 Proc:ExCreateDataSrcCacheApp Line:62 Native error: 50000 SQL State: 42000 }
Cause
Resolution
驗證 SQL 伺服器的 Master 資料庫不包含message_Id值 60006 和 60007 的 sys.messages 條目。 以下查詢可以檢查這些條目:
Use master
Select * from sys.messages Where message_id = 60007
Select * from sys.messages Where message_id = 60006
如果 sys.messages 中沒有這些項目。執行下列 SQL 以建立 (反白顯示所有列並執行):
IF NOT EXISTS(SELECT * FROM sys.messages WHERE message_id = 60006 and language_id = 1033)
exec sp_addmessage 60006,11,N'Duplicate object (%s)', N'us_english'--,@replace = 'replace';
GO
IF NOT EXISTS(SELECT * FROM sys.messages WHERE message_id = 60006)
exec sp_addmessage 60006,11,N'Duplicate object (%s)'--,@replace = 'replace';
GO
IF NOT EXISTS(SELECT * FROM sys.messages WHERE message_id = 60007 and language_id = 1033)
exec sp_addmessage 60007,11,N'Data modification check failed. Table(s):%s', N'us_english'--,@replace = 'replace';
GO
IF NOT EXISTS(SELECT * FROM sys.messages WHERE message_id = 60007)
exec sp_addmessage 60007,11,N'Data modification check failed. Table(s):%s'--,@replace = 'replace';
GO
實現這些更改后,驗證 MMC 現在可以修改映射資料夾的許可權。