Поделиться через


Класс SqlCeSyncStoreSnapshotInitialization

Представляет существующий файл базы данных SQL Server Compact, который можно использовать для инициализации другой базы данных SQL Server Compact при синхронизации.

Пространство имен:  Microsoft.Synchronization.Data.SqlServerCe
Сборка:  Microsoft.Synchronization.Data.SqlServerCe (в Microsoft.Synchronization.Data.SqlServerCe.dll)

Синтаксис

'Декларация
Public Class SqlCeSyncStoreSnapshotInitialization _
    Implements IDisposable
'Применение
Dim instance As SqlCeSyncStoreSnapshotInitialization
public class SqlCeSyncStoreSnapshotInitialization : IDisposable
public ref class SqlCeSyncStoreSnapshotInitialization : IDisposable
type SqlCeSyncStoreSnapshotInitialization =  
    class
        interface IDisposable
    end
public class SqlCeSyncStoreSnapshotInitialization implements IDisposable

Замечания

Инициализация моментальных снимков используется для уменьшения времени, необходимого для инициализации клиентской базы данных. После того как одна клиентская база данных инициализирована путем полной инициализации, другие базы данных можно инициализировать с использованием моментального снимка первой клиентской базы данных. Моментальный снимок — это специально подготовленная база данных SQL Server Compact, содержащая схему таблиц, данные (необязательно) и инфраструктуру отслеживания изменений. Скопируйте этот моментальный снимок на каждый клиент, где требуется снимок. В ходе первого сеанса синхронизации для клиента обновляются метаданные, относящиеся к клиенту, и все изменения, произошедшие с момента создания моментального снимка, загружаются в клиентскую базу данных.

Важное примечаниеВажно!

Моментальные снимки следует создавать только во время, когда в базе данных SQL Server Compact не выполняются никакие действия. Выполнение операций любого типа параллельно с созданием моментального снимка не поддерживается.

Примеры

В следующем примере кода создается моментальный снимок с именем SyncSampleClient2.sdf из базы данных SyncSampleClient1.sdf. Затем код синхронизирует SyncSampleClient2.sdf с серверной базой данных. Чтобы просмотреть этот код в контексте полного примера, см. раздел Как настроить и выполнить синхронизацию базы данных (SQL Server).

// Create a snapshot from the SQL Server Compact database, which will be used to
// initialize a second Compact database. Again, this database could be provisioned
// by retrieving scope information from another database, but we want to 
// demonstrate the use of snapshots, which provide a convenient deployment
// mechanism for Compact databases.
SqlCeSyncStoreSnapshotInitialization syncStoreSnapshot = new SqlCeSyncStoreSnapshotInitialization("Sync");
syncStoreSnapshot.GenerateSnapshot(clientSqlCe1Conn, "SyncSampleClient2.sdf");

// The new SQL Server Compact client synchronizes with the server, but
// no data is downloaded because the snapshot already contains 
// all of the data from the first Compact database.
syncOrchestrator = new SampleSyncOrchestrator(
    new SqlSyncProvider("filtered_customer", serverConn, null, "Sync"),
    new SqlCeSyncProvider("filtered_customer", clientSqlCe2Conn, "Sync")
    );
syncStats = syncOrchestrator.Synchronize();
syncOrchestrator.DisplayStats(syncStats, "initial");
' Create a snapshot from the SQL Server Compact database, which will be used to 
' initialize a second Compact database. Again, this database could be provisioned 
' by retrieving scope information from another database, but we want to 
' demonstrate the use of snapshots, which provide a convenient deployment 
' mechanism for Compact databases. 
Dim syncStoreSnapshot As New SqlCeSyncStoreSnapshotInitialization("Sync")
syncStoreSnapshot.GenerateSnapshot(clientSqlCe1Conn, "SyncSampleClient2.sdf")

' The new SQL Server Compact client synchronizes with the server, but 
' no data is downloaded because the snapshot already contains 
' all of the data from the first Compact database. 
syncOrchestrator = New SampleSyncOrchestrator( _
    New SqlSyncProvider("filtered_customer", serverConn, Nothing, "Sync"), _
    New SqlCeSyncProvider("filtered_customer", clientSqlCe2Conn, "Sync"))
syncStats = syncOrchestrator.Synchronize()
syncOrchestrator.DisplayStats(syncStats, "initial")

Иерархия наследования

System. . :: . .Object
  Microsoft.Synchronization.Data.SqlServerCe..::..SqlCeSyncStoreSnapshotInitialization

Потоковая защита

Все открытые статический (Shared в Visual Basic) элементы этого типа потокобезопасны. Потокобезопасность элементов экземпляров не гарантируется.

См. также

Справочник

Элементы SqlCeSyncStoreSnapshotInitialization

Пространство имен Microsoft.Synchronization.Data.SqlServerCe