sql server replication:
Hi I need information about how to implement replication programmitically on Sql Server(not using Wizard). Please help me. Thanks *** Sent via Developersdex http://www.developersdex.com ***
Ruchir, to create the publication and subscripotion you can use SQL-DMO. Below is an example script used for transactional. I can't take credit for it - Hilary Cotter created this script and I took it from another thread. HTH, Paul Ibison Option explicit Const SQLDMOPubAttrib_AllowAnonymous = 4 Const SQLDMOPubAttrib_AllowPull = 2 Const SQLDMOPubAttrib_ImmediateSync = 16 Const SQLDMOPubAttrib_IndependentAgent = 32 Const SQLDMOPubAttrib_InternetEnabled = 8 Const SQLDMOCreationScript_PrimaryObject =1 Const SQLDMOCreationScript_DRI_Defaults = 2048 Const SQLDMOCreationScript_DRI_ForeignKeys = 512 Const SQLDMOCreationScript_ClusteredIndexes = 16 Const SQLDMOCreationScript_NonClusteredIndexes = 64 Const SQLDMOCreationScript_DRI_Checks = 1024 Const SQLDMOCreationScript_PKUKAsConstraints = 32768 Const SQLDMOCreationScript_UDDTsToBaseTypes = 32 Const SQLDMOTranSubscriber_Default = 0 Const SQLDMOSubscription_Pull = 1 Const SQLDMOSubscription_Anonymous = 2 Const SQLDMOReplSecurity_Normal = 0 Const SQLDMOReplSecurity_Integrated = 1 Const SQLDMOSubscription_All = 3 Dim objServer, objReplication, objSubscriber, _ objReplicationDatabases, objReplicationDatabase, _ objTransPublications,objTransPublication,objTransArticle, objTransArticles, objTransSusbcriptions,_ objTransPullSubscription,objTransPullSubscriptions,_ objReplicationSecurity, objJobServer, objJobs, objJob,_ property set objServer = CreateObject("SQLDMO.SQLServer") objServer.Connect "hilary2kp", "sa","se1cure#" set objReplication=objServer.Replication set objReplicationDatabases=objReplication._ ReplicationDatabases set objReplicationDatabase=objReplicationDatabases("Pubs") set objTransPublications=objReplicationDatabase._ TransPublications set objTransPublication=_ CreateObject("SQLDMO.TransPublication2") set objTransArticle=CreateObject("SQLDMO.TransArticle2") with objTransArticle .Name="authors" .SourceObjectName="authors" .SourceObjectOwner="dbo" .CreationScriptOptions=_ SQLDMOCreationScript_PrimaryObject+_ SQLDMOCreationScript_DRI_Defaults + _ SQLDMOCreationScript_DRI_ForeignKeys + _ SQLDMOCreationScript_ClusteredIndexes + _ SQLDMOCreationScript_DRI_Checks +_ SQLDMOCreationScript_PKUKAsConstraints +_ SQLDMOCreationScript_UDDTsToBaseTypes +_ SQLDMOCreationScript_NonClusteredIndexes end with with objTransPublication .Name="test" .AltSnapShotFolder="C:\inetpub\ftproot" .Enabled=TRUE .FTPAddress="hilary2kp" .FTPLogin="Anonymous" .FTPSubdirectory="/ftp" .PublicationAttributes=SQLDMOPubAttrib_AllowAnonymous+_ SQLDMOPubAttrib_AllowPull+_ SQLDMOPubAttrib_ImmediateSync+_ SQLDMOPubAttrib_IndependentAgent+_ SQLDMOPubAttrib_InternetEnabled .RetentionPeriod=14 end with objTransPublications.Add objTransPublication objTransPublication.TransArticles.Add objTransArticle 'Starting the snapshot job set objJobServer=objServer.JobServer set objJobs=objJobServer.Jobs for each objJob in objJobs if objJob.JobID=objTranspublication.SnapshotJobID then objJob.Start end if next set objJob=Nothing set objJobs=Nothing set objJobServer=Nothing set objTransArticle=Nothing set objTransPublications=Nothing set objTransPublication=Nothing set objReplication=Nothing objServer.Disconnect objServer.Connect "Hilary2kp\test","sa","se1cure#" set objReplication=objServer.Replication set objReplicationDatabases=objReplication._ ReplicationDatabases set objReplicationDatabase=objReplicationDatabases("sub") set objTransPullSubscription=_ CreateObject("SQLDMO.TransPullSubscription2") set objReplicationSecurity=objTransPullSubscription._ DistributorSecurity objReplicationSecurity.SecurityMode=_ SQLDMOReplSecurity_Normal objReplicationSecurity.StandardLogin="sa" objReplicationSecurity.StandardPassword="se1cure#" with objTransPullSubscription .FTPAddress="hilary2kp" .FTPLogin="Anonymous" .Publisher= "hilary2kp" .Distributor="hilary2kp" .DistributorSecurity.SecurityMode=_ SQLDMOReplSecurity_Normal .DistributorSecurity.StandardLogin="sa" .DistributorSecurity.StandardPassword="se1cure#" .PublicationDB="pubs" .Publication="test" .PublisherSecurity.SecurityMode=_ SQLDMOReplSecurity_Normal .PublisherSecurity.StandardLogin="sa" .PublisherSecurity.StandardPassword="se1cure#" .SubscriberType = SQLDMOTranSubscriber_Default .SubscriptionType = SQLDMOSubscription_Anonymous .PublicationAttributes=SQLDMOPubAttrib_AllowAnonymous+_ SQLDMOPubAttrib_AllowPull+_ SQLDMOPubAttrib_ImmediateSync+_ SQLDMOPubAttrib_IndependentAgent+_ SQLDMOPubAttrib_InternetEnabled .SubscriberSecurityMode=SQLDMOReplSecurity_Normal .SubscriberLogin="sa" .SubscriberPassword="se1cure#" .UseFTP=True end with set objTransPullSubscriptions=objReplicationDatabase._ TransPullSubscriptions objTransPullSubscriptions.Add objTransPullSubscription set objTransPullSubscription=Nothing set objTransPullSubscriptions=Nothing set objReplicationDatabases=Nothing set objReplication=Nothing set objServer=Nothing
Don't see what you're looking for? Try a search.
|