zhangpengfei00 发表于 2018-10-17 08:37:15

SQL Server数据库镜像搭建(无见证无域控)

  1. 环境配置
  服务器1:sqlmirror01
  IP:192.168.10.176
  服务器2:sqlmirror02
  IP:192.168.10.177
  操作系统:Windows 2012 R2
  安装 .Net Framework 3.5/4.0
  关闭服务器防火墙或设置白名单
  数据库版本:SQL Server 2014
  2. 创建主密钥(非必需)
  use master
  go
  create master key encryption by password='zaq12WSX'
  go
  3. 创建证书
  sqlmirror01执行
  use master
  go
  create certificate sqlmirror01_cert with subject='sqlmirror01 certificate',expiry_date='2099-1-1'
  go
  sqlmirror02执行
  use master
  go
  create certificate sqlmirror02_cert with subject='sqlmirror02 certificate',expiry_date='2099-1-1'
  go
  4. 创建镜像端点
  sqlmirror01执行
  use master
  go
  create endpoint Endpoint_Mirroring
  state=started
  as tcp ( listener_port = 5022,listener_ip = all )
  for database_mirroring ( authentication = certificate sqlmirror01_cert, encryption = required algorithm aes, role = all )
  go
  sqlmirror02执行
  use master
  go
  create endpoint Endpoint_Mirroring
  state=started
  as tcp ( listener_port = 5022,listener_ip = all )
  for database_mirroring ( authentication = certificate sqlmirror02_cert, encryption = required algorithm aes, role = all )
  go
  5. 备份证书
  sqlmirror01执行
  use master
  go
  backup certificate sqlmirror01_cert to file = 'C:\Certificate_files\sqlmirror01_cert.cer'
  go
  sqlmirror02执行
  use master
  go
  backup certificate sqlmirror02_cert to file = 'C:\Certificate_files\sqlmirror02_cert.cer'
  go
  6. 拷贝证书
  将sqlmirror01_cert.cer拷贝至sqlmirror02的C:\Certificate_files\
  将sqlmirror02_cert.cer拷贝至sqlmirror01的C:\Certificate_files\
  7. 创建登录名
  sqlmirror01执行
  use master
  go
  create login sqlmirror02_login with password='abc@123456'
  go
  sqlmirror02执行
  use master
  go
  create login sqlmirror01_login with password='abc@123456'
  go
  8. 创建使用该登录名的用户
  sqlmirror01执行
  use master
  go
  create user sqlmirror02_user for login sqlmirror02_login
  go
  sqlmirror02执行
  use master
  go
  create user sqlmirror01_user for login sqlmirror01_login
  go
  9. 证书与用户关联
  sqlmirror01执行
  use master
  go
  create certificate sqlmirror02_cert
  authorization sqlmirror02_user
  from file='c:\Certificate_files\sqlmirror02_cert.cer'
  go
  sqlmirror02执行
  use master
  go
  create certificate sqlmirror01_cert
  authorization sqlmirror01_user
  from file='c:\Certificate_files\sqlmirror01_cert.cer'
  go
  10. 授予对远程镜像端点的登录名的 CONNECT 权限
  sqlmirror01执行
  use master
  go
  GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO ;
  go
  sqlmirror02执行
  use master
  go
  GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO ;
  go
  11. 配置镜像伙伴
  sqlmirror01执行
  创建数据库
  CREATE DATABASE
  ONPRIMARY

  ( NAME = N'Mirror_test_1', FILENAME = N'C:\dbdata\Mirror_test_1.mdf' ,>  LOG ON

  ( NAME = N'Mirror_test_1_log', FILENAME = N'C:\dbdata\Mirror_test_1_log.ldf' ,>  GO
  备份数据库
  backup database Mirror_test_1 to disk='C:\backup\Mirror_test_1.bak' with compression,checksum
  将备份拷贝至sqlmirror02
  sqlmirror02执行
  restore database Mirror_test_1 from disk='C:\backup\Mirror_test_1.bak' with norecovery
  连接镜像
  sqlmirror02执行
  use master
  go
  ALTER DATABASE Mirror_test_1 SET PARTNER = 'TCP://sqlmirror01:5022';
  go
  sqlmirror01执行
  use master
  go
  ALTER DATABASE Mirror_test_1 SET PARTNER = 'TCP://sqlmirror02:5022';
  go


  更改为高性能模式
  镜像主体sqlmirror01执行
  use master
  go
  ALTER DATABASE Mirror_test_1 SET PARTNER SAFETY OFF
  go


页: [1]
查看完整版本: SQL Server数据库镜像搭建(无见证无域控)