SqlSyncScopeProvisioning.SetCreateTableDefault Method

Sets whether to create base tables when a scope is configured. Base tables are tables that contain user data, as opposed to tracking tables that contain synchronization metadata. The default setting is CreateOrUseExisting.

Namespace:  Microsoft.Synchronization.Data.SqlServer
Assembly:  Microsoft.Synchronization.Data.SqlServer (in Microsoft.Synchronization.Data.SqlServer.dll)

Syntax

'Declaration
Public Sub SetCreateTableDefault ( _
    defaultOption As DbSyncCreationOption _
)
'Usage
Dim instance As SqlSyncScopeProvisioning
Dim defaultOption As DbSyncCreationOption

instance.SetCreateTableDefault(defaultOption)
public void SetCreateTableDefault(
    DbSyncCreationOption defaultOption
)
public:
void SetCreateTableDefault(
    DbSyncCreationOption defaultOption
)
member SetCreateTableDefault : 
        defaultOption:DbSyncCreationOption -> unit 
public function SetCreateTableDefault(
    defaultOption : DbSyncCreationOption
)

Parameters

Remarks

If base tables already exist in the database, and you are not defining any table schema by using DbSyncTableDescription objects, specify a value of Skip.

Examples

The following code example creates a provisioning object for the filtered_customer scope, specifies that base tables should not be created in the server database, and specifies that all synchronization-related objects should be created in a database schema named "Sync". As part of provisioning the scope, the code defines a filter on the Customer table. Only rows that match that filter will be synchronized. No filter is defined on the CustomerContact table; therefore all rows from that table will be synchronized. After provisioning options are defined, the Apply method is called to create the change-tracking infrastructure in the server database; and the provisioning script is written to a file. To view this code in the context of a complete example, see How To: Execute Database Synchronization (SQL Server).

SqlSyncScopeProvisioning serverConfig = new SqlSyncScopeProvisioning(serverConn, scopeDesc);
serverConfig.SetCreateTableDefault(DbSyncCreationOption.Skip);
serverConfig.ObjectSchema = "Sync";

// Specify which column(s) in the Customer table to use for filtering data, 
// and the filtering clause to use against the tracking table.
// "[side]" is an alias for the tracking table.
serverConfig.Tables["Sales.Customer"].AddFilterColumn("CustomerType");
serverConfig.Tables["Sales.Customer"].FilterClause = "[side].[CustomerType] = 'Retail'";

// Configure the scope and change-tracking infrastructure.
serverConfig.Apply();

// Write the configuration script to a file. You can modify 
// this script if necessary and run it against the server
// to customize behavior.
File.WriteAllText("SampleConfigScript.txt",
    serverConfig.Script());
Dim serverConfig As New SqlSyncScopeProvisioning(serverConn, scopeDesc)
serverConfig.SetCreateTableDefault(DbSyncCreationOption.Skip)
serverConfig.ObjectSchema = "Sync"

' Specify which column(s) in the Customer table to use for filtering data, 
' and the filtering clause to use against the tracking table. 
' "[side]" is an alias for the tracking table. 
serverConfig.Tables("Sales.Customer").AddFilterColumn("CustomerType")
serverConfig.Tables("Sales.Customer").FilterClause = "[side].[CustomerType] = 'Retail'"

' Configure the scope and change-tracking infrastructure. 
serverConfig.Apply()

' Write the configuration script to a file. You can modify 
' this script if necessary and run it against the server 
' to customize behavior. 
File.WriteAllText("SampleConfigScript.txt", serverConfig.Script())

See Also

Reference

SqlSyncScopeProvisioning Class

Microsoft.Synchronization.Data.SqlServer Namespace