次の方法で共有


SqlCeEngine.Repair Method

破損したデータベースを修復します。

名前空間: System.Data.SqlServerCe
アセンブリ: System.Data.SqlServerCe (system.data.sqlserverce.dll 内)

構文

'宣言
Public Sub Repair ( _
    connectionString As String, _
    options As RepairOption _
)
public void Repair (
    string connectionString,
    RepairOption options
)
public:
void Repair (
    String^ connectionString, 
    RepairOption options
)
public void Repair (
    String connectionString, 
    RepairOption options
)
public function Repair (
    connectionString : String, 
    options : RepairOption
)

パラメータ

  • connectionString
    データベースへのローカル接続文字列。
  • options
    データベースの修復時に使用する RepairOption

解説

RepairOptionDeleteCorruptedRows 値を使用して修復メソッドを呼び出すと、すべての破損ページがデータベースから破棄されます。そのため、重要なデータを損失することがありますが、このオプションを使用して回復したデータは、破損していません。

RepairOptionRecoverCorruptedRows 値を使用して修復メソッドを呼び出すと、データベースによって破損ページの読み取りが試行されます。その結果、より多くのデータを回復できることがあります。ただし、このオプションでは、回復したデータが破損している場合があります。

注意

SQL Server Compact 3.5 SP1 以降では、このメソッドを使って、照合順序で大文字と小文字を区別する修復データベースを作成できます。Repair メソッドの接続文字列プロパティ CaseSensitivefalse に設定した場合、大文字と小文字を区別するデータベースで大文字と小文字を区別するインデックスが含まれていると、コードが正常に実行されても、その区別がないことが修復ログのインデックス エラーになることがあります。エラーは、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);

スレッド セーフ

この型の public static (Visual Basic では Shared ) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

Windows Vista、Windows Mobile 5.0、Windows XP Professional with Service Pack 2 (SP2)、Windows Server 2003、Windows Mobile 2003 for Pocket PC、Windows CE 5.0
バージョン情報
.NET Framework および .NET Compact Framework
3.5 でサポート
.NET Framework
3.0 でサポート
.NET Compact Framework および .Net Framework
2.0 でサポート

参照

リファレンス

SqlCeEngine Class
SqlCeEngine Members
System.Data.SqlServerCe Namespace