none
請問SQL Server 2005複寫設定問題 RRS feed

  • 問題

  • 請教各前輩,最近在測試區想測試複寫功能,但發現在做Configure Distribution Wizard時,會出現將該伺服器設定為發行者,該server我之前有做過移機及變更電腦名稱的動作,但是我移機及變更電腦名稱完成後,我有執行sp_dropserver及sp_addserver的指令,所以下select @@servername看目前已經是正確的電腦名稱了,但是不知道為什麼,我的複寫設定就是沒辦法正常完成呢?下列是執行Configure Distribution Wizard出現的錯誤訊息。所以是否可以拜託各位前輩指引導一下相關解法呢??拜託各位了....謝謝...

    Configuring...

    - Configuring the Distributor (Success)


    - Enabling Publisher 'arc-sqlt' (Error)

      Messages

      SQL Server could not enable 'arc-sqlt' as a Publisher. (Microsoft.SqlServer.Rmo)


      ------------------------------

      ADDITIONAL INFORMATION:
     
    Object was not found on server. Check if this object exists on the server.  (Microsoft.SqlServer.Rmo)
     

    2011年6月7日 上午 03:16

所有回覆

  • Which edition of sql2k5 you have? What's service pack level?
    2011年6月7日 上午 03:37
  • 不好意思,我的sql server版本是SQL Server 2005 standard(9.00.4294),hotfix sp3+CU9.麻煩您了,謝謝...


    2011年6月7日 上午 03:52
  • Is arc-sqlt your sql instance name? Did you check replication when install sql?
    2011年6月7日 下午 01:17
  • 是的,它是我更改後的instance name。我在安裝sql server時,是選擇default instance name,安裝完後倒是沒有check replication是否可以使用。但現在已經變更電腦名稱了,想要測試replication就發現它無法使用了,從sql error log分析也看不出是什麼原因.....請問是否有什麼建議可以再做進一步測試呢??麻煩您了,謝謝...

    2011年6月8日 上午 03:33
  • Two possible issues here:

    1. Didn't choose replication when install sql, can run installation again to double check. Add it then reapply service pack and hotfix if it's not checked.

    2. Sql doesn't like '-' in instance name, either rename host or set replication with script and use [arc-sqlt] as instance name in the script.

    2011年6月8日 下午 01:25
  • Hi rmiao:

      我有確定我當初安初sql server時是有將replication安裝起來的,所以我覺得應該是我改電腦名稱的問題比較大。我也有試過您說的第二種方法,用script去建立,建立的時候是成功的,但還是沒辦法將該server設定發行者,因為很少利用script建立replication,不太確定我這樣下的方式是否正確,所以可否麻煩您再指導一下嗎?麻煩您了,謝謝...

    use master
    exec sp_adddistributor @distributor = [servername], @password = N''
    GO
    exec sp_adddistributiondb @database = N'distribution', @data_folder = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data', @log_folder = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data', @log_file_size = 2, @min_distretention = 0, @max_distretention = 72, @history_retention = 48, @security_mode = 1
    GO

    use [distribution]
    if (not exists (select * from sysobjects where name = 'UIProperties' and type = 'U '))
     create table UIProperties(id int)
    if (exists (select * from ::fn_listextendedproperty('SnapshotFolder', 'user', 'dbo', 'table', 'UIProperties', null, null)))
     EXEC sp_updateextendedproperty N'SnapshotFolder', N'd:\Program Files\ReplData', 'user', dbo, 'table', 'UIProperties'
    else
     EXEC sp_addextendedproperty N'SnapshotFolder', 'd:\Program Files\ReplData', 'user', dbo, 'table', 'UIProperties'
    GO

    exec sp_adddistpublisher @publisher = [servername], @distribution_db = N'distribution', @security_mode = 0, @login = N'replsql', @password = N'', @working_directory = N'd:\Program Files\ReplData', @trusted = N'false', @thirdparty_flag = 0, @publisher_type = N'MSSQLSERVER'
    GO

    2011年6月13日 上午 09:08
  • You can find samples under 'Scripting (Replication)' in books online.

    2011年6月13日 下午 01:55