2013-04-18 2 views
2

특정 엔티티에만 관련된 감사 로그 데이터를 삭제할 수 있습니까? 우리는 다른 엔티티 로그를 유지하기를 원하지만 특정 엔티티의 로그 데이터를 제거하여 줄이기 위해 커다란 감사 로그를 가지고 있습니다.특정 엔티티 관련 감사 로그 데이터 삭제

+0

특정 엔터티에 대해 제거 할 로그 데이터가 필요합니까? 그렇지 않은 경우 해당 엔티티에 대한 로깅을 끄십시오. – Nicknow

답변

4

엔티티 유형별 감사 로그 항목 삭제에 대한 지원 방법이 없습니다. 감사 삭제를 지원하는 유일한 방법은 날짜 (즉, X 날짜보다 오래된 모든 레코드)입니다. * 참고 : SQL 환경에 따라 사용 가능한 종료 날짜는 감사 로그 파티션의 종료 날짜로 제한 될 수 있습니다. *

즉,이 요구 사항을 충족하기위한 지원되지 않는 방법이 있습니다. CRITICAL : CRM 서버를 오프라인으로 전환하고 데이터베이스를 백업하고 복원을 테스트하기 전에 테스트하십시오. 제안 할 내용에 대한 지원이 없기 때문에 Dynamics CRM 2011 SQL 데이터베이스에서 지원되는 작업을 수행하지 않습니다.

감사 로그는 테이블 dbo.AuditBase에 저장됩니다. 이 테이블에는 확장 기본이 없으므로 걱정할 감사 항목 당 하나의 레코드 만 있습니다.

엔터티의 ObjectTypeCode이 필요합니다. 다음 스크립트를 실행하여 데이터베이스에서이를 얻을 수 있습니다 :

SELECT [EntityId],[Name],[ObjectTypeCode]
FROM [].[MetadataSchema].[Entity] ORDER BY Name

을 이제 ObjectTypeCode 단순히 값으로 아래의 스크립트에서 XXXX를 대체하고 스크립트를 실행했는지. 특정 개체 유형에 대한

DELETE FROM [].[dbo].[AuditBase] WHERE ObjectTypeCode = xxxx

감사 레코드는 지금 사라!

0

나는 그것이 당신이 찾고있는 것이 아니라는 것을 알고 있지만 특정 날짜 이전에 모든 감사 데이터를 삭제하기 위해 호출 할 수있는 DeleteAuditDataRequest API 메시지가 있습니다.

특정 레코드를 삭제하는 것만 큼 나는 할 수 있다고 생각하지 않습니다. 다음 코드를하려고하면 당신은 얻을 것이다 오류 다음이 전제 환경에 당신이 직접 DB에 접근하고있는 인 경우

orgService.Delete("audit",auditId); 

을 유형 'audt'의 실체를 지원하지 않습니다 '삭제'방법 감사 레코드를 아카이브하거나 SQL을 통해이를 삭제할 수 있습니다.

희망이 있습니다.

+0

orgService.Delete()는 감사 엔티티에 대해 삭제 조작을 사용할 수 없으므로 오류를 제공합니다. –