1

我需要设置从 SQL Server 2005 数据库到 MySQL 5.1 数据库的单向事务复制。

我已经安装了 ODBC 驱动程序并开始着手创建出版物,但是我收到了一个我没有找到解决方案的错误。

错误是

无法设置发布参数@enabled_for_het_sub,因为它在工作组 sku 中不受支持。

这是我用来创建发布的 SQL 语句。

use [Test_Database]
exec sp_replicationdboption @dbname = N'Test_Database', @optname = N'publish', @value = N'true'
GO
-- Adding the transactional publication
use [Test_Database]
exec sp_addpublication @publication = N'TestMySQL',
 @description = N'Transactional publication of database ''Test_Database'' from Publisher ''SRV01\Testing''.', 
 @sync_method = N'character', @retention = 0, @allow_push = N'true', @allow_pull = N'true', @allow_anonymous = N'false',
 @enabled_for_internet = N'false', @snapshot_in_defaultfolder = N'true', @compress_snapshot = N'false', @ftp_port = 21,
 @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'false', @allow_sync_tran = N'false', @autogen_sync_procs = N'false',
 @allow_queued_tran = N'false', @conflict_policy = null, @ftp_address = null, @ftp_subdirectory = null, @ftp_password = null,
 @allow_dts = N'false', @replicate_ddl = 0, @allow_initialize_from_backup = N'false', @enabled_for_p2p = N'false', @pre_snapshot_script = null,
 @post_snapshot_script = null, @qreader_job_name = null, @queue_type = null, @enabled_for_het_sub = N'true'
GO


exec sp_addpublication_snapshot @publication = N'TestMySQL', @frequency_type = 1, @frequency_interval = 1, @frequency_relative_interval = 1,
 @frequency_recurrence_factor = 0, @frequency_subday = 8, @frequency_subday_interval = 1, @active_start_time_of_day = 0,
 @active_end_time_of_day = 235959, @active_start_date = 0, @active_end_date = 0, @job_login = null, @job_password = null,
 @publisher_security_mode = 1


use [Test_Database]
exec sp_addarticle @publication = N'TestMySQL', @article = N'TestTable', @source_owner = N'dbo', @source_object = N'TestTable',
 @type = N'logbased', @description = null, @creation_script = null, @pre_creation_cmd = N'drop', @schema_option = 0x000000000803509F, 
 @identityrangemanagementoption = N'manual', @destination_table = N'TestTable', @destination_owner = N'dbo', @vertical_partition = N'false',
 @ins_cmd = N'CALL sp_MSins_dboTestTable', @del_cmd = N'CALL sp_MSdel_dboTestTable', @upd_cmd = N'SCALL sp_MSupd_dboTestTable'
GO

我检查了@enabled_for_het_sub,并确保所有参数都正确。

有任何想法吗?

4

1 回答 1

0

我让它工作得很好。但是我没有使用 SQL Server 的 Workgroup edt。

该错误与您的服务器版本有关。SQL Server 的工作组版可能不支持发布到异构订阅者。

于 2010-12-13T16:42:21.950 回答