SourceOne:SourceOne SQLデータベースを新しいSQL Serverに移動した後、ユーザーはマップされたフォルダーの権限を変更できません
Summary: SourceOne SQLデータベースを新しいSQL Serverに移動した後、ユーザーはマップされたフォルダーの権限を変更できません。
Symptoms
EMC SourceOne SQLデータベースを新しいSQL Serverに移動した後、ユーザーはマップされたフォルダーの権限を変更できません。マップされたフォルダーにユーザーを追加したり、権限を変更したりすると、適用されない場合があります。エラーは表示されません。ダイアログを閉じて再度開くと、権限は適用されていません。場合によっては、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 Server の 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 がマップされたフォルダのアクセス許可を変更できるようになったことを確認します。