다음을 통해 공유


재생 요구 사항

추적을 재생하려면 모니터링할 다른 이벤트 클래스 외에도 다음 이벤트 클래스를 추적에 캡처해야 합니다. TSQL_Replay 추적 템플릿을 사용하여 나중에 재생에 사용될 추적을 구성한 경우에는 이러한 이벤트가 기본적으로 설정됩니다.

  • CursorClose(서버측 커서를 재생할 때만 필요)

  • CursorExecute(서버측 커서를 재생할 때만 필요)

  • CursorOpen(서버측 커서를 재생할 때만 필요)

  • CursorPrepare(서버측 커서를 재생할 때만 필요)

  • CursorUnprepare(서버측 커서를 재생할 때만 필요)

  • Audit Login

  • Audit Logout

  • ExistingConnection

  • RPC Output Parameter

  • RPC:Completed

  • RPC:Starting

  • Exec Prepared SQL(서버측에서 준비한 SQL 문을 재생할 때만 필요)

  • Prepare SQL (서버측에서 준비한 SQL 문을 재생할 때만 필요)

  • SQL:BatchCompleted

  • SQL:BatchStarting

추적을 재생하려면 캡처할 다른 데이터 열 외에도 다음 데이터 열을 추적에 캡처해야 합니다.

  • Event Class

  • EventSequence

  • TextData

  • Application Name

  • LoginName

  • DatabaseName

  • Database ID

  • ClientProcessID

  • HostName

  • ServerName

  • Binary Data

  • SPID

  • Start Time

  • EndTime

  • IsSystem

  • NTDomainName

  • NTUserName

  • Error

[!참고]

재생용 데이터를 캡처하는 추적에는 TSQL_Replay 추적 템플릿을 사용하십시오.

Microsoft SQL Server에서는 재생할 때 필수 이벤트 및 열이 있는지 확인합니다.이와 같이 변경된 기능은 재생의 정확도를 높이고 필수 데이터가 누락된 경우 재생 문제 해결 과정에서 추측을 통해 작업을 수행하지 않도록 도와 줍니다. 필수 데이터가 추적에 없을 경우 재생 시 오류가 반환되고 파일 재생이 중지됩니다.

원래 추적한 서버(원본)가 아니라 SQL Server가 실행되고 있는 서버(대상)에 대해 추적을 재생하려면 다음 조건이 충족되어야 합니다.

  • 추적에 포함된 모든 로그인 및 사용자가 대상 및 원본과 같은 데이터베이스에서 이미 만들어져 있어야 합니다.

  • 대상에 있는 모든 로그인 및 사용자는 원본에서 가진 권한과 같은 권한을 가져야 합니다.

  • 모든 로그인 암호는 재생을 실행하는 사용자의 로그인 암호와 같아야 합니다.

  • 대상에 있는 데이터베이스 ID가 원본에 있는 데이터베이스 ID와 같아야 합니다. 그러나 두 ID가 서로 다르다면 DatabaseName이 추적에 있을 경우 이를 기준으로 일치시킬 수 있습니다.

  • 추적에 포함된 각 로그인의 기본 데이터베이스가 대상에서 로그인의 각 대상 데이터베이스로 설정되어야 합니다. 예를 들어 재생할 추적은 원본에 있는 Fred_Db 데이터베이스의 Fred라는 로그인에 대한 동작을 포함합니다. 그러므로 대상에서 Fred 로그인에 대한 기본 데이터베이스는 Fred_Db와 일치하는 데이터베이스로 설정되어야 합니다. 데이터베이스 이름이 다르더라도 마찬가지입니다. 로그인의 기본 데이터베이스를 설정하려면 sp_defaultdb 시스템 저장 프로시저를 사용합니다.

누락되거나 잘못된 로그인과 연관된 이벤트를 재생하면 재생 오류가 발생하지만 재생 작업은 계속됩니다.

추적 재생에 필요한 권한에 대한 자세한 내용은 SQL Server 프로파일러 실행에 필요한 권한을 참조하십시오.