西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页西西教程数据库教程 → SQL SERVER 2005 同步复制配置教程 与 数据镜像配置

SQL SERVER 2005 同步复制配置教程 与 数据镜像配置

相关软件相关文章发表评论 来源:西西整理时间:2011/9/12 11:11:45字体大小:A-A+

作者:佚名点击:1150次评论:1次标签: SQL2005

sql2005查询分析器官方安装版
  • 类型:数据库类大小:36.0M语言:中文 评分:1.0
  • 标签:
立即下载

 SQL SERVER 2005相对于SQL SERVER2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。SQL SERVER 2005使 SQL SERVER 跻身于企业级数据库行列。在数据高可用性方面,SQL SERVER2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。


同步复制教程

一、准备工作:

1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。

2.在SQL SERVER下实现发布服务器和订阅服务器的通信正常(即可以互访)。打开1433端口,在防火墙中设特例


3.在发布服务器上建立一个共享目录,作为发布快照文件的存放目录。例如:在D盘根目录下建文件夹名为SqlCopy

4.设置SQL 代理(发布服务器和订阅服务器均设置)

打开服务(控制面板---管理工具---服务)

---右击SQLSERVER AGENT---属性---登录---选择“此帐户“

---输入或选择第一步中创建的WINDOWS 用户

---“密码“中输入该用户密码



5.设置SQL SERVER 身份验证,解决连接时的权限问题(发布、订阅服务器均设置)

步骤为:对象资源管理器----右击SQL实例-----属性----安全性----服务器身份验证------选“SQL Server和WINDOWS“,然后点确定

6.开启SQL Server 2005的网络协议TCP/IP和管道命名协议并重启网络服务。

 

7.在SQL Server中创建步骤1中对应的系统用户登陆名,作为发布数据库的拥有者(设置为dbo_owner和public)。

 

8.以系统超级用户sa登陆SQL Server建立数据库和表。

9.发布服务器和订阅服务器互相注册

步骤如下:视图----单击以注册服务器----右键数据库引擎----新建服务器注册-----填写要注册的远程服务器名称------身份验证选“SQL Server验证“-----用户名(sa) 密码------创建组(也可不建)-----完成。



10.对于只能用IP,不能用计算机名的,为其注册服务器别名

二、开始:

发布服务器配置(在发布服务器上配置发布和订阅)

1. 选择 复制 节点

2. 右键本地发布 ----下一步---------系统弹出对话框看提示----直到“指定快照文件夹“

----在“快照文件夹“中输入准备工作中创建的目录(指向步骤3所建的共享文件夹)------选择发布数据库-------选择发布类型-------选择订阅服务器类型-------选择要发布的对象------设置快照代理-------填写发布名称。



3. 右键本地订阅--------选择发布服务器-------选择订阅方式(如果是在服务器方订阅的话选择推送订阅反之选择请求订阅)-------填加订阅服务器--------选择代理计划(一般选择连续运行)---------其余选择默认项。



至此, SQL SERVER 2005 同步复制就完成了。使用复制技术,用户可以将一份客户端的数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。
复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性,就无需编程实现客户端和服务器端数据同步了!大大提高了工作效率!

在安装完Microsoft SQL Server 2005 后,发现从Microsoft SQL Server Management Studio 连接到服务器时,如果在服务器名称处填写的不是机器名,而是IP地址时,连接总是提示失败,提示信息为:

无法连接到10.114.*.*
其他信息:
已成功与服务器建立连接,但是在登录过程中发生错误。(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233)

解决方法:打开“开始—所有程序—Microsoft SQL Server 2005 —配置工具—SQL Server 配置管理器”,在弹出的窗体中,找到“SQL Server 2005 网络配置”,把“MSSQLSERVER的协议”下的“Named Pipes”和“TCP/IP”启用,然后重新启动SQL Server 即可。

 

 

SQL SERVER 2005高可用性之镜像

SQL SERVER 2005相对于SQL SERVER2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。SQL SERVER 2005使 SQL SERVER 跻身于企业级数据库行列。在数据高可用性方面,SQL SERVER2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。本文向读者简单介结SQL SERVER2005镜像功能。

一、镜像简介
数据库镜像是一个高可用性软件解决方案,为客户端提供小于10秒故障转移。每个数据库镜像配置均包含一个主体服务器(包含主体数据库)、一个镜像服务器(包含镜像数据库)和一个见证服务器,其中见证服务器是可选的。主体服务器和镜像服务器要求是独立的服务器实例。主体服务器和镜像服务器角色是相对的,可以自动或者手动的将主体服务器设为镜像服务器,镜像服务器设为主体服务器。与主体服务器和镜像服务器不同的是,见证服务器并不能用于数据库。见证服务器监视主体服务器和镜像服务器,确保在给定的时间这两个故障转移服务器中有且只有一个作为主体服务器,从而支持自动故障转移。如果存在见证服务器,同步会话将以“高可用性模式”运行,如果主体服务器出现故障,可以实现故障自动转移。如果见证服务器不存在,同步会话将以“高级别保护模式”运行,出现故障需要手动故障转移,并且有可能丢失数据。



数据库准备结束,端点创建完成,用户便可以启用数据库镜像。镜像启动后,每个伙伴都将开始维护所在数据库中有关其数据库、另一个伙伴和见证服务器的状态信息。这些状态信息允许服务器实例维护称为“数据库镜像会话”的当前关系。在数据库镜像会话过程中,服务器实例将通过彼此定期交换 PING 消息来互相监视。

镜像会话启动后,镜像服务器将识别镜像数据库上最新完成的事务的日志序列号 (LSN),并要求主体服务器提供所有后续事务的事务日志,主体服务器向像镜像服务器发生一份当前活动的事务日志,镜像服务器会立即将传入日志镜像到磁盘。主体服务器继续让客户端连接使用主体数据库,每次客户端更新主体数据库时,主体服务器都会在写入到日志时,并将得到的事务日志发送给镜像服务器,镜像服务器会将其镜像到磁盘。同时,镜像服务器将从最早的事务日志开始,将事务应用到镜像数据库中,从而实现主体数据库和镜像数据库同步。

二、配置实例
了解数据库镜像的基本知识之后,看一看怎样去配置镜像。(使用镜像功能请确保安装了SQL SERVER 2005 SP1)
笔者为做镜像实验,在同一个服务器上同时装三个实例: SERVER01、SERVER02、SERVER03,SERVER01将作为主体服务器。、SERVER02作为镜像服务器、 SERVER03作为见证服务器。
在完成本实验的第一步需要将主体服务器的DBMirror数据库,完全备份出来,然后在SERVER02上还原,在还原的时候注意使用NORECOVERY,使用镜像数据处于还原状态。在备份之前请将DBMirror数据库的日志模式设置为完整。
完成了上面的准备之后就可以设置镜像。
第一步:创建端点。
在SERVER01上运行下面的SQL:
CREATE ENDPOINT DbMirroring
STATE=STARTED
AS TCP(LISTENER_PORT=5011)
FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)
go
在SERVER02上运行下面的SQL:
CREATE ENDPOINT DbMirroring
STATE=STARTED
AS TCP(LISTENER_PORT=5022)
FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)
go
在SERVER03上执行下面的SQL,创建见证服务器。
CREATE ENDPOINT DbMirroring
STATE=STARTED
AS TCP(LISTENER_PORT=5033)
FOR DATABASE_MIRRORING(ROLE=WITNESS,ENCRYPTION=SUPPORTED)
go

第二步:启动镜像
在前面的规划中SERVER01将作为主体服务器。、SERVER02作为镜像服务器,首先在主体服务器上执行下面的SQL:
ALTER DATABASE DBMirror
SET PARTNER='TCP://jeffery:5022' --(注:笔记的机器名称是jeffery)
go

指定SERVER01的通讯伙伴是SERVER02(因为前面定义端点的时候SERVER02的端口号为5022)
在SERVER02的上执行下面的SQL,指定通讯伙伴为SERVER01。
ALTER DATABASE DBMirror
SET PARTNER='TCP://jeffery:5011'
go
回到主体服务器,指定见证服务器。在SERVER01上执行下面的SQL:
ALTER DATABASE DBMirror
SET WITNESS='TCP://jeffery:5033'
go
完成以上步骤之后,镜像配置完成。如图3所示。

(图3)

三、管理镜像
1、相关系统视图
sys.database_mirroring 此视图显示服务器实例中每个镜像数据库的数据库镜像元数据。实例 SQL Server 中的每个数据库在表中占一行。如果数据库未联机,或未启用数据库镜像,则除 database_id 以外的所有列的值都将为 NULL。
sys.database_mirroring_endpoints 目录视图显示有关服务器实例的数据库镜像端点的信息。
sys.dm_db_mirroring_connections 为每个数据库镜像网络连接返回一行
2、手动主体、镜像服务器之间的切换。
在主体服务器中执行下面的代码就可以将镜像服务器设为主体服务器,主体服务器设置为镜像服务器。
USE MASTER
Go
ALTER DATABASE DBMirror SET PARTNER FAILOVER
Go

数据库镜像是一个很好的高可用性解决方案,笔者参加微软的技术论坛时曾看到过微软的技术人员演示镜像的故障转移,不主体服务器出现故障,在10秒内客户端就重新连到数据库服务器。限于篇幅和笔者的水平,对数据库镜像作了简单的介绍,还有很多东西没有提及到比如说客户端怎样连到服务器等等,希望本文成为读者学习镜像功能的开端。

本文在写作过程中参考了微软的SQL SERVER 2005在线帮助。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(1)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)