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 命名空间