Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les méthodes Compact et Shrink sont des méthodes similaires dans Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition), mais elles diffèrent légèrement dans la façon dont elles réduisent la taille d'une base de données.
Compactage et réduction d'une base de données
La méthode Compact vous permet de récupérer de l'espace dans le fichier de base de données. Vous pouvez également l'utiliser pour modifier des paramètres de base de données tels que le mot de passe et l'ID de paramètres régionaux (LCID). Lorsque vous compactez une base de données, un nouveau fichier de base de données est créé, les pages de tables sont réorganisées de manière à ce qu'elles résident dans des pages de bases de données adjacentes et l'espace inutilisé est récupéré grâce à la réécriture de toutes les données de base de données dans les nouvelles pages de données.
La méthode Shrink vous permet également de récupérer de l'espace dans le fichier de base de données. Toutefois, la méthode Shrink ne permet pas de modifier les paramètres de base de données car elle ne crée pas un nouveau fichier de base de données ; son action se résume à la réorganisation des enregistrements et à la suppression des enregistrements vides.
Pour plus d'informations sur les méthodes Compact et Shrink, consultez Maintenance des bases de données [SQL Server Compact Edition].
Exemples
Dans l'exemple suivant, un fichier de base de données temporaire est créé, la méthode Compact est utilisée pour transférer les données de base de données source vers la base de données temporaire, puis la base de données source est remplacée par la base de données temporaire. Le résultat final est une base de données portant le même nom que celle d'origine, mais les données ont été compactées.
C#
string src = "MyDB.sdf";
string dest = "MyDB.sdf.tmp";
// Initialize SqlCeEngine object.
SqlCeEngine engine = new SqlCeEngine("Data Source = " + src);
try {
engine.Compact("Data Source = " + dest);
engine.Dispose();
File.Delete(src);
File.Move(dest, src);
}
catch(SqlCeException e)
{
//Use your own error handling routine.
//ShowErrors(e);
}
finally
{
//Dispose of the SqlCeEngine object.
engine.Dispose();
}
Visual Basic
Dim src As String = "MyDB.sdf"
Dim dest As String = "MyDB.sdf.tmp"
' Initialize SqlCeEngine Object.
Dim engine As New SqlCeEngine("Data Source = " + src)
Try
engine.Compact(("Data Source = " + dest))
engine.Dispose()
File.Delete(src)
File.Move(dest, src)
Catch e As SqlCeException
'Use your own error handling routine.
'ShowErrors(e)
Finally
'Dispose of the SqlCeEngine object.
engine.Dispose()
End Try
Voir aussi
Référence
Objets de l'espace de noms System.Data.SqlServerCe
System.Data.SqlServerCe Namespace (documentation de référence .NET Framework)