共用方式為


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
)

參數

備註

如果是使用 RepairOption 的 DeleteCorruptedRows 值來叫用修復方法,則會捨棄資料庫中所有損毀的頁面。這可能會導致大量資料遺失,但使用這個選項所復原的資料應該不會損毀。

如果是使用 RepairOption 的 RecoverCorruptedRows 值來叫用修復方法,則資料庫會嘗試從損毀的分頁讀取資料。這樣雖然可能會讓更多資料復原回來,但是這個選項並不能保證復原回來的資料絕對沒有毀損。

注意

從 SQL Server Compact 3.5 Service Pack 1 (SP1) 開始,您可以使用此方法來建立具有區分大小寫之定序的已修復資料庫。如果在 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類別

SqlCeEngine 成員

System.Data.SqlServerCe 命名空間