SqlCeEngine.Repair 메서드

손상된 데이터베이스를 복구합니다.

네임스페이스:  System.Data.SqlServerCe
어셈블리:  System.Data.SqlServerCe(System.Data.SqlServerCe.dll)

구문

‘선언
Public Sub Repair ( _
    connectionString As String, _
    options As RepairOption _
)
‘사용 방법
Dim instance As SqlCeEngine
Dim connectionString As String
Dim options As RepairOption

instance.Repair(connectionString, options)
public void Repair(
    string connectionString,
    RepairOption options
)
public:
void Repair(
    String^ connectionString, 
    RepairOption options
)
member Repair : 
        connectionString:string * 
        options:RepairOption -> unit 
public function Repair(
    connectionString : String, 
    options : RepairOption
)

매개 변수

  • connectionString
    유형: System.String
    데이터베이스에 대한 로컬 연결 문자열입니다.

주의

손상된 데이터베이스를 복구하는 데 사용하는 RepairOption에 4개의 값을 사용할 수 있습니다.

  • RecoverAllPossibleRows

  • RecoverAllOrFail

  • DeleteCorruptedRows

  • RecoverCorruptedRows: 이 옵션은 데이터를 손상없이 복구하는 것을 보장하지 않으므로 사용하지 않습니다. RecoverAllOrFail을 사용해야 합니다.

참고

SQL Server Compact 4.0에서 이 메서드를 사용하면 대/소문자 구분이 있는 데이터 정렬을 가진 복구된 데이터베이스를 만들 수 있습니다. Repair 메서드에서 연결 문자열 속성 CaseSensitive를 false로 설정하면 대/소문자를 구분하는 데이터베이스에 대/소문자를 구분하는 인덱스가 들어 있는 경우 코드가 성공적으로 실행되어도 대/소문자 구분이 되지 않기 때문에 복구 로그에서 인덱스 오류가 발생할 수 있습니다. 별개의 두 레코드가 같은 것으로 취급될 때 이 오류가 발생합니다. 이러한 레코드의 예로 'aaa'와 'aaA'를 들 수 있습니다. 인덱스를 만들지 못했다는 내용의 메시지가 복구 로그 파일에 기록됩니다.

Dim engine As New SqlCeEngine("Data Source = AdventureWorks.sdf")

' Specify null destination connection string for in-place repair
'
engine.Repair(Nothing, RepairOption.DeleteCorruptedRows)
SqlCeEngine engine = new SqlCeEngine("Data Source = AdventureWorks.sdf");

// Specify null destination connection string for in-place repair
//
engine.Repair(null, RepairOption.DeleteCorruptedRows);

참고 항목

참조

SqlCeEngine 클래스

System.Data.SqlServerCe 네임스페이스