Partilhar via


Método Repair

Repara um banco de dados corrompido.

Namespace:  System.Data.SqlServerCe
Assembly:  System.Data.SqlServerCe (em System.Data.SqlServerCe.dll)

Sintaxe

'Declaração
Public Sub Repair ( _
    connectionString As String, _
    options As RepairOption _
)
'Uso
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
)

Parâmetros

Comentários

Se o método de reparo for invocado usando o valor DeleteCorruptedRows de RepairOption, todas as páginas corrompidas serão descartadas do banco de dados. Isso pode ocasionar uma perda de dados significativa, mas os dados recuperados usando essa opção não devem estar corrompidos.

Se o método de reparo for invocado usando o valor RecoverCorruptedRows de RepairOption, o banco de dados tentará ler os dados das páginas corrompidas. Possivelmente, isso resultará na recuperação de mais dados, mas essa opção não garante que os dados recuperados estejam íntegros.

Dica

A partir do SQL Server Compact 3.5 Service Pack 1 (SP1), é possível usar esse método para criar um banco de dados reparado com um agrupamento que diferencia maiúsculas de minúsculas. Se você definir a propriedade da cadeia de conexão CaseSensitive como false no método Repair para um banco de dados que diferencia maiúsculas de minúsculas, caso o banco de dados contenha um índice que diferencie maiúsculas de minúsculas, a perda desse recurso poderá gerar um erro de índice no log de reparo, mesmo que o código seja executado com êxito. O erro ocorre quando dois registros exclusivos são tratados como iguais. Dois valores de exemplo são 'aaa' e 'aaA'. A seguinte mensagem de erro é gravada no arquivo de log de reparo: Falha ao criar índice

Exemplos

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

Consulte também

Referência

SqlCeEngine Classe

Membros SqlCeEngine

Namespace System.Data.SqlServerCe