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
データベースに対するローカル接続文字列。
- options
型: System.Data.SqlServerCe.RepairOption
データベースの修復時に使用する RepairOption。
説明
破損したデータベースを修復するには、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);