Quantcast
Channel: SQL Server Replication forum
Viewing all articles
Browse latest Browse all 4054

strTargetFolder value null

$
0
0

Hi,

i executed a Transaction Replica with pullsubscription using T-SQL:

ON Publisher = Distributor

declare @c_dbname nvarchar(250) = N'OneDatabase';
declare @c_dbname_dest nvarchar(250) = N'OneDatabase';
declare @c_lra_username nvarchar(250) = N'NODE1\SQL_DAPS';
declare @c_lra_password nvarchar(250) = N'password';
declare @c_pbl_host nvarchar(250) = N'NODE1';
declare @c_pbl_username nvarchar(250) = N'SQL_Distributor1';
declare @c_pbl_password nvarchar(250) = @c_lra_password;
declare @c_pbl_name nvarchar(250) = N'Replica_OneDatabase_TC';
declare @c_pbl_desc nvarchar(250) = N'DW1_Pubb_TRANS_OneDatabase';
declare @c_pbl_ftp_username nvarchar(250) = N'SQL_Subscriber1';
declare @c_pbl_ftp_password nvarchar(250) = N'ftp_password';
declare @c_dist_username nvarchar(250) = N'NODE1\SQL_Distributor1';
declare @c_dist_password nvarchar(250) = @c_lra_password;
declare @c_dist_login nvarchar(250) = N'SQL_Subscriber1';
declare @c_dist_login_pwd nvarchar(250) = @c_lra_password;
declare @c_sub_host nvarchar(250) = N'NODE2';
declare @c_sub_username nvarchar(250) = N'NODE2\SQL_Subscriber1';
declare @c_sub_password nvarchar(250) = @c_lra_password;
declare @c_ftp_host nvarchar(250) = N'node1.domain.tld';

USE master;
exec sp_replicationdboption
	@dbname = @c_dbname, 
	@optname = N'publish', 
	@value = N'true';

IF (@c_dbname = N'OneDatabase')
	use ELearning;
	
exec sys.sp_addlogreader_agent 
	@job_login = @c_lra_username, 
	@job_password = @c_lra_password, 
	@publisher_security_mode = 0, 
	@publisher_login = @c_pbl_username, 
	@publisher_password = @c_pbl_password;
exec sp_addpublication 
	@publication = @c_pbl_name, 
	@description = @c_pbl_desc, 
	@ftp_login = @c_pbl_ftp_username, 
	@ftp_password = @c_pbl_ftp_password, 
	@ftp_address = @c_ftp_host, 
	@sync_method = N'concurrent', 
	@retention = 744, 
	@allow_push = N'true', 
	@allow_pull = N'true', 
	@allow_anonymous = N'false', 
	@enabled_for_internet = N'true', 
	@snapshot_in_defaultfolder = N'true', 
	@compress_snapshot = N'true', 
	@ftp_port = 21, 
	@ftp_subdirectory = N'/', 
	@allow_subscription_copy = N'false', 
	@add_to_active_directory = N'false', 
	@repl_freq = N'continuous', 
	@status = N'active', 
	@independent_agent = N'true', 
	@immediate_sync = N'true',
	@allow_sync_tran = N'false', 
	@autogen_sync_procs = N'false', 
	@allow_queued_tran = N'false', 
	@allow_dts = N'false', 
	@replicate_ddl = 1, 
	@allow_initialize_from_backup = N'true', 
	@enabled_for_p2p = N'false', 
	@enabled_for_het_sub = N'false';

exec sp_addpublication_snapshot 
	@publication = @c_pbl_name, 
	@job_login = @c_lra_username, 
	@job_password = @c_lra_password, 
	@frequency_type = 1, 
	@frequency_interval = 0, 
	@frequency_relative_interval = 0, 
	@frequency_recurrence_factor = 0, 
	@frequency_subday = 0, 
	@frequency_subday_interval = 0, 
	@active_start_time_of_day = 0, 
	@active_end_time_of_day = 235959, 
	@active_start_date = 0, 
	@active_end_date = 0, 
	@publisher_security_mode = 1;

exec sp_grant_publication_access @publication = @c_pbl_name, @login = @c_dist_username;
exec sp_grant_publication_access @publication = @c_pbl_name, @login = @c_lra_username;
exec sp_grant_publication_access @publication = @c_pbl_name, @login = @c_pbl_ftp_username;

exec sp_addarticle 
	@publication = @c_pbl_name, 
	@article = N'Table1', 
	@source_owner = N'dbo', 
	@source_object = N'Table1',
	@type = N'logbased',
	@description = N'', 
	@creation_script = N'', 
	@pre_creation_cmd = N'drop', 
	@schema_option = 0x000003444DFF7FDF, 
	@identityrangemanagementoption = N'manual', 
	@destination_table = N'Table1', 
	@destination_owner = N'dbo', 
	@status = 24, 
	@vertical_partition = N'false', 
	@ins_cmd = N'CALL [sp_MSins_dboTable1]', 
	@del_cmd = N'CALL [sp_MSdel_dboTable1]', 
	@upd_cmd = N'SCALL [sp_MSupd_dboTable1]';


exec sp_addarticle 
	@publication = @c_pbl_name, 
	@article = N'StoredProcedure1', 
	@source_owner = N'dbo', 
	@source_object = N'StoredProcedure1', 
	@type = N'proc schema only', 
	@description = N'', 
	@creation_script = N'', 
	@pre_creation_cmd = N'drop', 
	@schema_option = 0x0000000008000001, 
	@destination_table = N'StoredProcedure1', 
	@destination_owner = N'dbo', 
	@status = 16;

-- some other articles

exec sp_addsubscription 
	@publication = @c_pbl_name, 
	@subscriber = @c_sub_host, 
	@destination_db = @c_dbname_dest, 
	@subscription_type = N'Pull', 
	@sync_type = N'automatic', 
	@article = N'all', 
	@update_mode = N'read only', 
	@subscriber_type = 0;

ON Subscriber

declare @c_dbname nvarchar(250) = N'OneDatabase';
declare @c_dbname_dest nvarchar(250) = N'OneDatabase';
declare @c_lra_username nvarchar(250) = N'NODE1\SQL_DAPS';
declare @c_lra_password nvarchar(250) = N'password';
declare @c_pbl_host nvarchar(250) = N'NODE1';
declare @c_pbl_username nvarchar(250) = N'SQL_Distributor1';
declare @c_pbl_password nvarchar(250) = @c_lra_password;
declare @c_pbl_name nvarchar(250) = N'Replica_OneDatabase_TC';
declare @c_pbl_desc nvarchar(250) = N'DW1_Pubb_TRANS_OneDatabase';
declare @c_pbl_ftp_username nvarchar(250) = N'SQL_Subscriber1';
declare @c_pbl_ftp_password nvarchar(250) = N'ftp_password';
declare @c_dist_username nvarchar(250) = N'NODE1\SQL_Distributor1';
declare @c_dist_password nvarchar(250) = @c_lra_password;
declare @c_dist_login nvarchar(250) = N'SQL_Subscriber1';
declare @c_dist_login_pwd nvarchar(250) = @c_lra_password;
declare @c_sub_host nvarchar(250) = N'NODE2';
declare @c_sub_username nvarchar(250) = N'NODE2\SQL_Subscriber1';
declare @c_sub_password nvarchar(250) = @c_lra_password;
declare @c_ftp_host nvarchar(250) = N'node1.domain.tld';

IF (@c_dbname_dest = N'OneDatabase')
	use OneDatabase

exec sp_addpullsubscription 
	@publisher = @c_pbl_host, 
	@publication = @c_pbl_name, 
	@publisher_db = @c_dbname, 
	@independent_agent = N'True', 
	@subscription_type = N'pull', 
	@description = N'', 
	@update_mode = N'read only', 
	@immediate_sync = 1;

exec sp_addpullsubscription_agent 
	@publisher = @c_pbl_host, 
	@publisher_db = @c_dbname, 
	@publication = @c_pbl_name, 
	@distributor = @c_pbl_host, 
	@distributor_security_mode = 0, 
	@distributor_login = @c_dist_login, 
	@distributor_password = @c_dist_login_pwd, 
	@enabled_for_syncmgr = N'False', 
	@frequency_type = 64, 
	@frequency_interval = 0, 
	@frequency_relative_interval = 0, 
	@frequency_recurrence_factor = 0, 
	@frequency_subday = 0, 
	@frequency_subday_interval = 0, 
	@active_start_time_of_day = 0, 
	@active_end_time_of_day = 235959, 
	@active_start_date = 0, 
	@active_end_date = 0, 
	@alt_snapshot_folder = N'', 
	@working_directory = N'', 
	@use_ftp = N'True', 
	@job_login = @c_sub_username, 
	@job_password = @c_sub_password, 
	@publication_type = 0;

These scripts are executed fine, but when i force snapshot job, history log return me following error:

2019-06-21 15:19:01.44 ---------------------------------------------
2019-06-21 15:19:01.44 Publication Server validation
2019-06-21 15:19:01.47 Connecting to publication server 'NODE1'
2019-06-21 15:19:01.52 Il livello di compatibilità del database del server di pubblicazione è impostato su 110.
2019-06-21 15:19:01.52 Recupero in corso delle informazioni sulla pubblicazione e sull'articolo dal database del server di pubblicazione 'NODE1.OneDatabase'
2019-06-21 15:19:01.60 [0%] Si è verificata un'eccezione nell'agente di replica.
2019-06-21 15:19:01.60 Origine: Unknown
2019-06-21 15:19:01.60 Tipo eccezione: System.ArgumentNullException
2019-06-21 15:19:01.60 Messaggio eccezione: Value is not be null.
2019-06-21 15:19:01.60 Nome parametro: strTargetFolder
2019-06-21 15:19:01.60 Codice messaggio: Not Applicable
2019-06-21 15:19:01.60  
Can anybody help me?


Viewing all articles
Browse latest Browse all 4054

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>