SQL Server 2005镜像构建手册(三)

日期: 2008-06-05 来源:TechTarget中国

  三、建立镜像关系


  以下步骤是针对每个数据库进行的,例如:现有主机中有5个数据库以下过程就要执行5次。


  1、手工同步登录名和密码


  在第一章中提到数据库镜像的缺点之一是无法维护登录名,所以需要我们手工维护登录。


  通常来说数据库都将会有若干个用户作为访问数据库的用户,并且数据库会有相应的登录名,但是在备机中缺少与之相对应的登录名,例如某业务系统使用’myuser’作为登录名访问数据库,但是在备机中没有’myuser’这个登录名,因此一旦主备切换,业务系统就无法登录数据库了,这种情况称为”孤立用户”


  在主数据库中执行如下语句:


  1USE master;
  2select sid,name from syslogins;
  3
  查找出相应的用户名和sid,例如:上述的’myuser’


  在备数据库中执行如下语句:


  1USE master;
  2&#101xec sp_addlogin
  3@loginame = ’’,
  4@passwd = ’’,
  5@sid = ;
  6
  这里的’LoginName’即主数据库中的登录名,sid即是上述通过SQL语句查找出的sid。


  例如,查询得到的sid和name如下所示。


  1sid name
  2
  3———————————- —————–
  4
  50x074477739DCA0E499C29394FFFC4ADE4 cz_account
  6
  7


  则建立登录名的SQL语句:


  1USE master;
  2&#101xec sp_addlogin
  3@loginame = ’cz_account’,
  4@passwd = ’password’,
  5@sid = 0x074477739DCA0E499C29394FFFC4ADE4;
  6
  到此为止可以认为备机数据库的环境已经与主机同步了,还差数据库内的数据未同步。


  2、准备备机数据库


  承接上文,该节是描述如何同步主备数据库内的数据。


  可以尝试从刚刚使用的全备文件进行还原,在还原数据的时候需要使用选上“with non recover”。如图所示:


  还原数据
  如果执行成功数据库将会变成这个样子:执行成功


  3、建立镜像


  由于是实验,没有为服务器配置双网卡,IP地址与图有点不一样,但是原理一样。


  –主机执行:


  1alter DATABASE shishan SET PARTNER = ’TCP://10.168.6.45:5022’;
  –如果主体执行不成功,尝试在备机中执行如下语句:


  1alter DATABASE shishan SET PARTNER = ’TCP://10.168.6.49:5022’;


  主机执行


  如果执行成功,则主备数据库将会呈现如上图所示的图标。


  如果建立失败,提示类似数据库事务日志未同步,则说主备数据库的数据(日志)未同步,为保证主备数据库内的数据一致,应在主数据库中实施一次“事务日志”备份,并还原到备数据库上。备份“事务日志”如图所示:


  备份“事务日志”


  还原事务日志时需在选项中选择“restore with norecovery”,如图所示:


  选择“restore with norecovery”


  选择“restore with norecovery”


  成功还原以后再执行建立镜像的SQL语句。


  四、测试操作


  1、主备互换


  –主机执行:


  1USE master;
  2alter DATABASE SET PARTNER FAILOVER;
  3


  2、主服务器Down掉,备机紧急启动并且开始服务


  –备机执行:


  1USE master;
  2alter DATABASE SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS;
  3


  3、原来的主服务器恢复,可以继续工作,需要重新设定镜像


  1–备机执行:
  2USE master;
  3alter DATABASE SET PARTNER RESUME; –恢复镜像
  4alter DATABASE SET PARTNER FAILOVER; –切换主备
  5


  4、原来的主服务器恢复,可以继续工作


  –默认情况下,事务安全级别的设置为 FULL,即同步运行模式,而且SQL Server 2005 标准版只支持同步模式。


  –关闭事务安全可将会话切换到异步运行模式,该模式可使性能达到最佳。


  1USE master;
  2alter DATABASE SET PARTNER SAFETY FULL; –事务安全,同步模式
  3alter DATABASE SET PARTNER SAFETY OFF; –事务不安全,异步模式

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐