Método SqlCeSyncStoreSnapshotInitialization.GenerateSnapshot
Gera um instantâneo de um arquivo de banco de dados existente do SQL Server Compact que pode ser usado para inicializar outro banco de dados do SQL Server Compact para sincronização.
Namespace: Microsoft.Synchronization.Data.SqlServerCe
Assembly: Microsoft.Synchronization.Data.SqlServerCe (em microsoft.synchronization.data.sqlserverce.dll)
Sintaxe
'Declaração
<SuppressMessageAttribute("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")> _
Public Sub GenerateSnapshot ( _
sourceConnection As SqlCeConnection, _
destinationDatabasePath As String _
)
'Uso
Dim instance As SqlCeSyncStoreSnapshotInitialization
Dim sourceConnection As SqlCeConnection
Dim destinationDatabasePath As String
instance.GenerateSnapshot(sourceConnection, destinationDatabasePath)
[SuppressMessageAttribute("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
[SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
public void GenerateSnapshot (
SqlCeConnection sourceConnection,
string destinationDatabasePath
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1031:DoNotCatchGeneralExceptionTypes")]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1011:ConsiderPassingBaseTypesAsParameters")]
public:
void GenerateSnapshot (
SqlCeConnection^ sourceConnection,
String^ destinationDatabasePath
)
/** @attribute SuppressMessageAttribute("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes") */
/** @attribute SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters") */
public void GenerateSnapshot (
SqlCeConnection sourceConnection,
String destinationDatabasePath
)
SuppressMessageAttribute("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")
SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")
public function GenerateSnapshot (
sourceConnection : SqlCeConnection,
destinationDatabasePath : String
)
Parâmetros
- sourceConnection
Um objeto SqlCeConnection que contém uma conexão com o banco de dados do qual o instantâneo deve ser gerado.
- destinationDatabasePath
O caminho de arquivo no qual o instantâneo deve ser gravado.
Comentários
A inicialização de instantâneo destina-se a reduzir o tempo necessário para inicializar um banco de dados cliente. Depois que um banco de dados cliente tiver sido inicializado com o uso da inicialização completa, os bancos de dados subsequentes poderão ser inicializados com o uso de um instantâneo do primeiro banco de dados cliente. Um instantâneo é um banco de dados do SQL Server Compact especialmente preparado que contém esquema de tabela, dados (opcionais) e infraestrutura de controle de alterações. Copie o instantâneo para cada cliente que precisar. Durante a primeira sessão de sincronização para um cliente, os metadados específicos do cliente são atualizados e as alterações ocorridas desde que o instantâneo foi criado são baixadas para o banco de dados cliente.
Importante
Instantâneos devem ser gerados só quando não há atividade no banco de dados do SQL Server Compact. Não há suporte para operações simultâneas de qualquer tipo durante a geração do instantâneo.
Exemplo
O exemplo de código a seguir gera um instantâneo denominado SyncSampleClient2.sdf
do banco de dados SyncSampleClient1.sdf
. Em seguida, o código sincroniza SyncSampleClient2.sdf
com o banco de dados do servidor. Para exibir esse código no contexto de um exemplo completo, consulte Como configurar e executar a sincronização de colaboração (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")
Consulte também
Referência
Classe SqlCeSyncStoreSnapshotInitialization
Membros SqlCeSyncStoreSnapshotInitialization
Namespace Microsoft.Synchronization.Data.SqlServerCe