Share via


SqlCeEngine.Repair Method

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 _
)
public void Repair (
    string connectionString,
    RepairOption options
)
public:
void Repair (
    String^ connectionString, 
    RepairOption options
)
public void Repair (
    String connectionString, 
    RepairOption options
)
public function Repair (
    connectionString : String, 
    options : RepairOption
)

Parâmetros

  • connectionString
    A cadeia de conexão local com o banco de dados.
  • options
    A RepairOption ao ser usada ao reparar o banco de dados.

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

Exemplo

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

Segurança de thread

Quaisquer membros estáticos públicos (compartilhados no Microsoft Visual Basic) desse tipo são thread safe. Não há garantia de que qualquer membro de instância seja thread safe.

Plataformas

Plataformas de desenvolvimento

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Informações de versão
.NET Framework e NET Compact Framework
Com suporte no 3.5
.NET Framework
Com suporte no 3.0
.NET Compact Framework e .Net Framework
Com suporte no 2.0

Consulte também

Referência

SqlCeEngine Class
SqlCeEngine Members
System.Data.SqlServerCe Namespace