sqlserver 镜像配置问题 (针对服务器网络地址 "TCP://XXXXX:5022" 无法访问或不存在。 请检查网络地址名称,并检查本地和远程端点的端口是否正常运行) |
您所在的位置:网站首页 › 怎么看本地网络是否在维修 › sqlserver 镜像配置问题 (针对服务器网络地址 "TCP://XXXXX:5022" 无法访问或不存在。 请检查网络地址名称,并检查本地和远程端点的端口是否正常运行) |
按照基本操作建立镜像同步的时候,最后步骤报错 服务器网络地址 "TCP://XXXXXXX:5022" 无法访问或不存在。请检查网络地址名称,并检查本地和远程端点的端口是否正常运行 查询sql日志,发现是‘10052(远程主机强迫关闭了一个现有的连接。)’,初步判断是权限原因。针对这种报错,在网上搜索了大神用证书授权的解决方案后,自己测试通过,记录一下步骤。(本案例是双机热备,只有主体服务器和镜像服务器,没有见证服务器) 创建数据库主密钥 USE master GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YourPassword';删除的话用drop命令,使用相同方式在镜像服务器创建主密钥 创建证书,并用主密钥加密 USE master GO CREATE CERTIFICATE Host_A_Cert WITH Subject = 'Host_A Certificate', Expiry_Date = '2080-1-1'; --过期日期删除的话用drop命令,使用相同方式在镜像服务器创建Host_B_Cert的证书 创建端点 IF NOT EXISTS ( SELECT * FROM sys.database_mirroring_endpoints ) BEGIN CREATE ENDPOINT [DatabaseMirroring] STATE = STARTED AS TCP ( LISTENER_PORT = 5022,LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE Host_A_Cert, ENCRYPTION = REQUIRED Algorithm AES, ROLE = ALL ); END使用相同方式在镜像服务器创建Host_B_Cert证书的端点 备份证书 BACKUP CERTIFICATE Host_A_Cert TO FILE = 'C:\ShareFolders\Host_A_Cert.cer';将备份出来的证书复制到镜像服务器。使用相同方式在镜像服务器备份证书Host_B_Cert,将镜像服务器证书复制到主体服务器。 创建登录账号 CREATE LOGIN Host_B_Login WITH PASSWORD = 'YourPassword';创建一个账号给镜像服务器使用,使用同样方式在镜像服务器创建一个账号Host_A_Login给主体服务器使用。 创建用户,并映射到刚才创建的登录账号 CREATE USER Host_B_User For Login Host_B_Login;使用相同方式在镜像服务器创建用户Host_A_User映射到刚才创建的登录账号 使用证书授权用户 CREATE CERTIFICATE Host_B_Cert AUTHORIZATION Host_B_User FROM FILE = 'C:\Certifications\Host_B_Cert.cer';创建一个新证书,并使用刚才从镜像服务器复制过来的证书导入,然后映射用户到这个新证书上。在镜像服务器也这样执行一遍。 将登录账号授权访问端口 GRANT CONNECT ON ENDPOINT::[DatabaseMirroring] TO [Host_B_Login];在镜像服务器上也执行一遍。至此,证书授权结束。 执行镜像配置步骤(主体备份数据库,镜像还原数据库,具体自行搜索,网上都有)参考文章:https://blog.csdn.net/elie_yang/article/details/88024042?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |