SQL Server服务器之间数据同步操作指南

在SQL&">nbsp;Server 2000里设置和使用数据库复制之前,应先检查相关的几台SQL Server服务器下面
几点是否满足:

    

    1、MSSQLserver和Sqlserver
agent服务是否是以域用户身份启动并运行的(.\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管理员级别的用户注册的服务器名)

        

       这样一来就不会在创建复制的过程中出现14010、20084、18456、18482、18483错误了。    

        

    4、检查相关的几台SQL Server服务器网络是否能够正常访问

    

        如果ping主机IP地址可以,但ping主机名不通的时候,需要在    

        

            winnt\system32\drivers\etc\hosts   (WIN2000)

            windows\system32\drivers\etc\hosts (WIN2003)

            

               文件里写入
数据库服务器IP地址和主机名的对应关系。

               

           
例如:    

               

           127.0.0.1       localhost

           192.168.0.35    oracledb    oracledb

           192.168.0.65    fengyu02    fengyu02

           202.84.10.193   bj_db       bj_db    

               

               或者在SQL Server客户端网络
实用工具里建立别名,例如:

5、系统需要的扩展存储过程是否存在(如果不存在,需要恢复):
      
         sp_addextendedproc xp_regenumvalues,@dllname =xpstar.dll
         go
         sp_addextendedproc xp_regdeletevalue,@dllname =xpstar.dll
         go
         sp_addextendedproc xp_regdeletekey,@dllname =xpstar.dll 
         go              
         sp_addextendedproc xp_cmdshell ,@dllname =xplog70.dll

时间: 2024-12-16 12:43:00

SQL Server服务器之间数据同步操作指南的相关文章

利用SQL Server复制技术实现数据同步更新

Microsoft SQL Server 2000复制的概念:在数据库之间对数据和数据库对象进行复制和分发并进行同步以确保其一致性的一组技术. 使用复制可以将数据分发到不同位置,通过局域网.使用拨号连接.通过 Internet 分发给远程或移动用户.复制还能够使用户提高应用程序性能,根据数据的使用方式物理分隔数据(例如,将联机事务处理 (OLTP) 和决策支持系统分开),或者跨越多个服务器分布数据库处理. SQL复制的基本元素包括: 发布服务器.订阅服务器.分发服务器.发布.项目. 发布服务器

两台SQL Server服务器同步问题.

server|服务器|问题 --定时同步服务器上的数据(服务器上的数据修改同步到本地)   --例子:  --测试环境,SQL Server2000,远程服务器名:rserver,用户名为:ruser,密码:rpwd,  测试数据库:test   --服务器上的表(查询分析器连接到服务器上创建)  --state字段为辅助更新而设置的附加字段,字段值说明:null 表示新增记录,1 表示修改过的记录,0 表示无变化的记录  if exists (select * from dbo.sysobje

SQL Server导出导入数据方法

一.导出导入SQL Server里某个数据库 1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库. 2.备份 选数据库-完全, 目的 备份到 按添加按钮 文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak) 重写 选重写现有媒体 最后按确定按钮. 如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输. 3.通过FTP或者remote desktop或者pcanywhere等方法 把第二

SQL Server .NET Framework 数据提供程序连接池

server|程序|数据 有朋友建议我控制连接池的连接,说是为了提高性能,但看了下面的这个文章,感觉连接池是由系统自身进行维护的,程序没有必要去进行控制的.大家有什么意见吗?在连接问题上,是否有提高性能的方法? SQL Server .NET Framework 数据提供程序连接池池连接可以显著提高应用程序的性能和可缩放性.SQL Server .NET Framework 数据提供程序自动为 ADO.NET 客户端应用程序提供连接池.您也可以提供几个连接字符串修饰符来控制连接池行为,请参见本主

01. SQL Server 如何读写数据

原文:01. SQL Server 如何读写数据 一. 数据读写流程简要SQL Server作为一个关系型数据库,自然也维持了事务的ACID特性,数据库的读写冲突由事务隔离级别控制.无论有没有显示开启事务,事务都是存在的.流程图如下: 数据读写流程图 0. 事务开始(1) 所有DML语句必然是基于事务的,如果没有显式开启事务,即手动写下BEGIN TRAN,SQL Server则把每条语句作为一个事务,并自动提交事务. 也就是说SQL SERVER 默认不开启隐式事务,这点与ORACLE正好相反

SQL Server服务器内存优化使用指导

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   不久之前,笔者一个在企业中从事网管工作的朋友向我求助关于SQL Server服务器内存升级后遇到的问题.原来,他们企业准备上一个企业邮箱系统.为了节省开支,他们准备在原来的SQL Server服务器上部署企业的邮箱服务器.为了提高这个服务器的性能,让其能够承担其两种应用服务的重任,所以,他们对内存进行了升级.从原先的1G升级到了2G. 但是,内存升级完以后,邮箱

HOW TO:在 SQL Server 实例之间传输登录和密码

server 概要在将数据库移动到新服务器后,用户可能无法登录到新服务器.相反,他们会收到下面的错误信息: Msg 18456, Level 16, State 1Login failed for user '%ls'. 您必须将登录和密码传输到新服务器.本文介绍如何向新服务器传输登录和密码. 返回页首如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码SQL Server 7.0 数据转换服务 (DTS) 对象传输功能可在两台服务器之间传输登录和用户,但它不传输 SQL Se

直接获取Access、SQL Server等数据库数据

access|server|数据|数据库 直接获取access.SQL Server等数据库数据Author: MixPST,Ph4nt0m Security Teamhttp://www.ph4nt0m.org 当使用SQL注入access的时候,经常会遇到密码为中文.猜不到关键字段名这样的问题.使用本技术就能够很快速的解决这样的问题.本技术最低要求有两条: 1.使用access数据库的系统存在SQL注入漏洞:mssql数据库也支持这个技术2.需要知道欲爆数据所在的表的表名以及这个表下的一个字

在非SQL客户端使用命令行方式定期连接SQL Server服务器

在非SQL客户端使用命令行方式定期连接SQL Server 服务器并模拟用户查询操作,同时输出信息内容 一个很长的标题,实现的功能就是尽量使用非人力的方式模拟人去做一件事情,为了便于记录,将他们输出成文件方便查阅. 图形界面方式,使用微软自己的ConnMaker.exe,或者Microsoft 数据连接(系统自带,建立一个后缀为.udl的文件即可体验),进行可视化的操作. Figure 1使用ConnMaker.exe创建的可视化连接查询实例 不过这次用户的需求是因为他们在尝试进行连接到SQL服