Share via


복구 가능한 StreamInsight 응용 프로그램 문제 해결

이 항목에서는 복구 가능한 쿼리의 필수 구성 요소, 일반적인 몇 가지 오류 및 발생 가능한 오류에 대해 설명함으로써 복구 가능한 StreamInsight 응용 프로그램의 문제를 해결하는 데 유용한 정보를 제공합니다.

복구는 StreamInsight Premium 버전에서만 사용할 수 있습니다. 자세한 내용은 StreamInsight 버전 선택을 참조하십시오.

항목 내용

  • 복구 가능한 쿼리의 필수 구성 요소

  • 복구 가능한 서버를 만들고 구성할 때 발생하는 오류

  • 복구 가능한 쿼리를 정의할 때 발생하는 오류

  • 검사점을 저장할 때 발생하는 오류

  • 오류를 복구할 때 발생하는 오류

  • 메타데이터 및 로그를 네트워크 공유에 저장할 때 발생하는 오류

복구 가능한 쿼리의 필수 구성 요소

검사점 설정이 구성된 쿼리는 다음 요구 사항을 충족해야 합니다.

  • 출력 어댑터가 있어야 합니다. 즉, 쿼리는 게시된 스트림만 노출할 수는 없습니다.

  • 게시된 스트림을 사용할 수 없습니다.

  • IObservable 또는 IEnumerable 입력을 사용할 수 없습니다.

  • 다른 스트림의 CTI를 복사하기 위해 AdvanceTimeImportSettings를 사용하여 동기화된 스트림은 사용할 수 없습니다. 이 사용법은 응용 프로그램 시간 이동에서 설명합니다.

[맨 위로]

복구 가능한 서버를 만들고 구성할 때 발생하는 오류

Server.Create 메서드를 호출하면 다음과 같은 경우 예외가 발생할 수 있습니다.

  • Server.Create 메서드나 app.config 파일을 통해 복구 구성이 제공되었지만 SQL Server Compact 메타데이터 공급자가 지정되지 않았습니다.

  • 복구에 대해 지정된 로그 경로가 없으며 로그 경로를 만들도록 서버가 구성되어 있지 않습니다.

  • 로그 경로를 만들도록 서버가 구성되어 있지만 로그 경로를 만들지 않았거나 만들지 못했습니다.

  • 지정한 로그 경로에 대해 쓰거나 읽을 수 있는 권한이 서버에 없습니다.

  • 서버에 복구가 구성되어 있지만 StreamInsight 버전이 복구를 지원하는 버전이 아닙니다. Premium 버전에서만 복구를 지원합니다. StreamInsight 버전에 대한 자세한 내용은 StreamInsight 버전 선택을 참조하십시오.

[맨 위로]

복구 가능한 쿼리를 정의할 때 발생하는 오류

CepStream.ToQuery 메서드나 Application.CreateQuery 메서드를 통해 복구 가능한 쿼리를 만들기 위해 메서드를 호출하면 다음과 같은 경우 예외가 발생할 수 있습니다.

  • 복구 구성을 제공하거나 SQL Server Compact 메타데이터 공급자를 지정하여 서버에 복구가 구성되지 않았습니다.

  • 쿼리가 IEnumerable 또는 IObservable 원본의 이벤트를 사용합니다.

  • 쿼리가 게시된 스트림의 이벤트를 사용합니다.

  • 쿼리가 동기화된 스트림을 사용합니다.

  • 쿼리는 게시된 스트림에 쓰기만 가능합니다.

[맨 위로]

검사점을 저장할 때 발생하는 오류

다음과 같은 경우 검사점 저장을 위한 호출이 실패하고 EndCheckpoint 메서드가 예외를 발생시킬 수 있습니다.

  • 서버에 복구가 구성되어 있지 않습니다.

  • 쿼리에 복구가 구성되어 있지 않습니다.

  • 쿼리가 실행되고 있지 않습니다.

  • 검사점 작업이 이미 진행 중입니다. 이 경우 첫 번째 검사점은 성공하고 겹치는 이후 검사점은 모두 실패합니다.

  • 활성 검사점 작업에 해당하지 않는 IAsyncResult와 함께 EndCheckpoint 메서드를 호출했습니다.

  • 이미 EndCheckpoint를 호출한 검사점에 해당하는 IAsyncResult와 함께 EndCheckpoint 메서드를 호출했습니다.

검사점 설정 중 I/O 오류가 발생하면 진행 중인 모든 검사점 작업이 종료되고 해당 EndCheckpoint 작업에서 예외를 발생시킵니다. 그러나 이러한 I/O 오류는 일시적인 것이므로 후속 검사점 작업은 계속 진행할 수 있습니다.

[맨 위로]

오류를 복구할 때 발생하는 오류

검사점 파일을 읽는 동안 I/O 오류가 발생하면 해당 파일에 종속된 모든 쿼리가 일시 중지되고 오류 원인이 쿼리와 함께 기록됩니다. I/O 오류는 일시적인 것일 수 있으므로 쿼리가 중단되는 것이 아니라 일시 중지되어 쿼리 메타데이터가 유지됩니다.

쿼리 복구에 실패하면 복구를 다시 시작할 수 없습니다. 다음과 같은 단계를 수행해 보십시오.

  • 일시적인 오류일 경우 서버를 종료한 후 다시 시작하여 복구를 다시 시도합니다.

  • 일시적인 오류가 아니면 쿼리를 중지할 수 있습니다.

연산자나 어댑터의 예외로 인해 복구 중인 쿼리에서 오류가 발생한 경우에는 쿼리가 중단됩니다.

쿼리 복구 시도로 인해 서버에 오류가 발생한 경우 다음과 같은 단계를 수행해 보십시오.

  1. 복구 없이 서버를 다시 시작합니다.

  2. 서버 오류를 야기하는 쿼리를 중지합니다.

  3. 복구를 사용하여 서버를 다시 시작합니다.

[맨 위로]

메타데이터 및 로그를 네트워크 공유에 저장할 때 발생하는 오류

검사점 설정 로그를 네트워크 공유에 저장하는 경우 일시적인 I/O 오류는 검사점 설정 프로세스에 별다른 영향을 주지 않습니다.

SQL Server Compact 메타데이터 데이터베이스를 네트워크 공유에 저장할 경우에는 모든 I/O 오류가 심각한 영향을 주며 StreamInsight 서버에서 오류를 발생시킬 수 있습니다.

[맨 위로]

참고 항목

개념

StreamInsight 복구

복구 가능한 StreamInsight 응용 프로그램 빌드

복구 가능한 StreamInsight 응용 프로그램 모니터링