当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 在SQL Server 2000里设置和使用数据库复制

MSSQL
MSSQL 数据库备份和还原的几种方法 图文教程
GridView自定义分页的四种存储过程
sqlserver 中charindex/patindex/like 的比较
SQL2005 大数据量检索的分页
MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例
MSSQL 字符段分段更新
SQLServer2005中的SQLCMD工具使用
Sql server2005 优化查询速度50个方法小结
SQL2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较
sql2005 数据同步方法
配置 SQLServer2005 以允许远程连接
安装SQL2005 29506错误码的解决方案
SQL Server 2008的升级和部署问题
SQL Server教程:读取第三方数据库的数据
用Trigger规范insert, update的值

MSSQL 中的 在SQL Server 2000里设置和使用数据库复制


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 44 ::
收藏到网摘: n/a

 

2005-08 余枫
                                   
    在SQL Server 2000里设置和使用数据库复制之前,应先检查相关的几台SQL Server服务器下面几点是否满足:
   
    1、MSSQLserver和Sqlserveragent服务是否是以域用户身份启动并运行的(.\administrator用户也是可以的)
   
        如果登录用的是本地系统帐户local,将不具备网络功能,会产生以下错误:
       
        进程未能连接到Distributor '@Server 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错误了。

    3、检查SQL Server企业管理器里面相关的几台SQL Server注册名是否和上面第二点里介绍的srvname一样
   
        不能用IP地址的注册名。
       
      (我们可以删掉IP地址的注册,新建以SQL Server管理员级别的用户注册的