Share via


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
    到数据库的本地连接字符串。

注释

有 4 个可用于修复损坏的数据库的 RepairOption 值:

  • RecoverAllPossibleRows

  • RecoverAllOrFail

  • DeleteCorruptedRows

  • RecoverCorruptedRows:此选项已被弃用,因为它不确保恢复的数据未被损坏。您应该使用 RecoverAllOrFail。

备注

在 SQL Server Compact 4.0 中,可以使用此方法创建具有区分大小写排序规则的修复数据库。如果在 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 类

System.Data.SqlServerCe 命名空间