程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 在SQL Server 2000裡設置和使用數據庫復制

在SQL Server 2000裡設置和使用數據庫復制

編輯:關於SqlServer

2005-08 余楓

在SQL Server 2000裡設置和使用數據庫復制之前,應先檢查相關的幾台SQL Server服務器下面幾點是否滿足:

1、MSSQLserver和Sqlserveragent服務是否是以域用戶身份啟動並運行的(.\administrator用戶也是可以的)

如果登錄用的是本地系統帳戶local,將不具備網絡功能,會產生以下錯誤:

進程未能連接到Distributor name'

(如果您的服務器已經用了SQL Server全文檢索服務, 請不要修改MSSQLserver和Sqlserveragent服務的local啟動。
會照成全文檢索服務不能用。請換另外一台機器來做SQL Server 2000裡復制中的分發服務器。)

修改服務啟動的登錄用戶,需要重新啟動MSSQLserver和Sqlserveragent服務才能生效。

2、檢查相關的幾台SQL Server服務器是否改過名稱(需要srvid=0的本地機器上srvname和datasource一樣)

在查詢分析器裡執行:
use master
select srvid,srvname,datasource from sysservers

如果沒有srvid=0或者srvid=0(也就是本機器)但srvname和datasource不一樣, 需要按如下方法修改:

USE master
GO
-- 設置兩個變量
DECLARE @serverproperty_servername varchar(100),
@servername varchar(100)
-- 取得Windows NT 服務器和與指定的 SQL Server 實例關聯的實例信息
SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))
-- 返回運行 Microsoft SQL Server 的本地服務器名稱
SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)
-- 顯示獲取的這兩個參數
select @serverproperty_servername,@servername
--如果@serverproperty_servername和@servername不同(因為你改過計算機名字),再運行下面的
--刪除錯誤的服務器名
EXEC sp_dropserver @server=@servername
--添加正確的服務器名
EXEC sp_addserver @server=@serverproperty_servername, @local='local'

修改這項參數,需要重新啟動MSSQLserver和Sqlserveragent服務才能生效。

這樣一來就不會在創建復制的過程中出現18482、18483錯誤了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved