Condividi tramite


Metodo Repair

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 _
)
'Utilizzo
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
)

Parametri

Osservazioni

Se il metodo di ripristino viene richiamato utilizzando il valore DeleteCorruptedRows di RepairOption, tutte le pagine danneggiate verranno rimosse 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. Utilizzando tale opzione, il numero di dati recuperati potrebbe essere maggiore, tuttavia non ne sarà garantita l'integrità.

Nota

A partire da SQL Server Compact 3.5 Service Pack 1 (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.

Esempi

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

Vedere anche

Riferimento

SqlCeEngine Classe

Membri SqlCeEngine

Spazio dei nomi System.Data.SqlServerCe