SQL server镜像功能完全实现

发表于:2011-9-16 09:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小刚    来源:51Testing软件测试网采编

分享:

  建立用于镜像登录的账户

  在A上执行

  • --交换证书, 
  • --同步 Login 
  • CREATE LOGIN B_login WITH PASSWORD = 'password';  
  • CREATE USER B_user FOR LOGIN B_login;  
  • CREATE CERTIFICATE As_B_cert AUTHORIZATION B_user FROM FILE = 'D:\As_B_cert.cer';  
  • GRANT CONNECT ON ENDPOINT::Endpoint_Bs TO [B_login];
  •   在B上执行

  • --交换证书, 
  • --同步 Login 
  • CREATE LOGIN A_login WITH PASSWORD = 'password';  
  • CREATE USER A_user FOR LOGIN A_login;  
  • CREATE CERTIFICATE As_A_cert AUTHORIZATION A_user FROM FILE = 'D:\As_A_cert.cer';  
  • GRANT CONNECT ON ENDPOINT::Endpoint_As TO [A_login];
  •   记得两台服务器的端口5022是不被占用的,并且保证两个服务器可以连接

      以后步骤执行没问题,镜像已经完成一半了。

      接下来完整备份A服务器上的Test库

  • --主机执行完整备份 
  • USE master; 
  • ALTER DATABASE Test SET RECOVERY FULL
  • GO 
  • BACKUP DATABASE Test 
  •   TO DISK = 'D:\SQLServerBackups\Test.bak'  
  •   WITH FORMAT; 
  • GO 
  • BACKUP LOG Test TO DISK = 'D:\SQLServerBackups\Test.bak'
  • GO 
  • --将备份文件拷贝到B上。
  •   一定要执行完整备份。

      在B服务器上完整还原数据库

      这里问题多多。一个一个说。

      如果我们直接执行如下SQL

  • RESTORE DATABASE Test  
  •     FROM DISK = 'D:\Back\Test.bak'  
  •     WITH NORECOVERY  
  • GO  
  • RESTORE LOG Test  
  •     FROM DISK = 'D:\Back\Test_log.bak'  
  •     WITH FILE=1, NORECOVERY  
  • GO
  •   可能会报:

      消息 3154,级别 16,状态 4,第 1 行

      备份集中的数据库备份与现有的 'Test’数据库不同。

      消息 3013,级别 16,状态 1,第 1 行

    42/4<1234>
    精选软件测试好文,快来阅读吧~

    关注51Testing

    联系我们

    快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

    法律顾问:上海兰迪律师事务所 项棋律师
    版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
    投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

    沪ICP备05003035号

    沪公网安备 31010102002173号