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 に設定した場合、大文字と小文字を区別するデータベースで大文字と小文字を区別するインデックスが含まれていると、コードが正常に実行されても、その区別がないことが修復ログのインデックス エラーになることがあります。エラーは、2 つの一意のレコードが同一のものとして扱われる場合に発生します。たとえば、"aaa" と "aaA" という 2 つの値などです。修復ログ ファイルには、"インデックスを作成できませんでした" というメッセージが書き込まれます。

使用例

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 名前空間