Condividi tramite


SqlCeEngine.Repair Method

Ripristina un database danneggiato.

Spazio dei nomi: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)

Sintassi

'Dichiarazione
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
)

Parametri

  • connectionString
    Stringa di connessione locale al database.
  • options
    Enumerazione RepairOption da utilizzare per ripristinare il database.

Osservazioni

Se il metodo di ripristino viene richiamato utilizzando il valore del campo DeleteCorruptedRows di RepairOption, tutte le pagine danneggiate verranno eliminate dal database. Questa operazione può comportare una significativa perdita di dati. I dati recuperati mediante questa opzione, tuttavia, risulteranno perfettamente integri.

Se il metodo di ripristino viene richiamato utilizzando il valore del campo RecoverCorruptedRows di RepairOption, verrà eseguito un tentativo di leggere i dati contenuti nelle pagine danneggiate. Mediante l'utilizzo di tale valore il numero di dati recuperati potrebbe essere maggiore, ma non ne sarà garantita l'integrità.

Nota

A partire da SQL Server Compact 3.5 SP1, è possibile utilizzare questo metodo per creare un database corretto con regole di confronto con distinzione tra maiuscole e minuscole. Se si imposta la proprietà della stringa di connessione CaseSensitive su false nel metodo Repair per un database con distinzione tra maiuscole e minuscole, se nel database è presente un indice che rispetta tale distinzione la perdita di questa funzionalità può provocare un errore di indice nel log relativo alle correzioni anche se l'esecuzione del codice è corretta. L'errore si verifica quando due record univoci vengono considerati uguali. Due possibili valori di esempio sono 'aaa' e 'aaA'. Nel file di log relativo alle correzioni viene scritto un messaggio di errore che indica l'impossibilità di creare l'indice.

Esempio

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

Affidabilità

Tutti i membri statici pubblici (Shared in Microsoft Visual Basic) di questo tipo sono affidabili. Non è invece garantita l'affidabilità dei membri dell'istanza.

Piattaforme

Piattaforme di sviluppo

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
Informazioni sulla versione
.NET Framework e .NET Compact Framework
Supportato in 3.5
.NET Framework
Supportato in 3.0
.NET Compact Framework e .NET Framework
Supportato in 2.0

Vedere anche

Riferimento

SqlCeEngine Class
SqlCeEngine Members
System.Data.SqlServerCe Namespace