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
public class SqlCeSyncStoreSnapshotInitialization implements IDisposable
public class SqlCeSyncStoreSnapshotInitialization implements IDisposable

解説

スナップショット初期化は、クライアント データベースの初期化に要する時間を短縮することを目的とした初期化方法です。いずれかのクライアント データベースを完全初期化を使って初期化した後、他のデータベースは、この 1 つ目のクライアント データベースの "スナップショット" を使用して初期化できます。スナップショットは、テーブル スキーマ、データ (オプション)、および変更追跡インフラストラクチャを備えた特別な 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

スレッド セーフ

この型の public static (Visual Basic では Shared ) メンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

リファレンス

SqlCeSyncStoreSnapshotInitialization メンバー
Microsoft.Synchronization.Data.SqlServerCe 名前空間