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 的 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);