修复损坏的数据库。
命名空间: 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);