SQL 2016 STD SP1:DB Mirroring能否修改端口为7022替代5022?
当然可以!你完全可以为数据库镜像配置7022端口
核心原因
SQL Server中的**端点(Endpoint)**是相互独立的服务:Always On可用性组使用的端点和数据库镜像端点是两个不同的实体,它们可以绑定不同的TCP端口,只要这些端口没有被服务器上的其他应用占用,就不会产生冲突。5022端口被Always On占用并不影响你为镜像服务指定7022端口。
配置步骤参考
创建数据库镜像端点并指定7022端口
在主实例和镜像实例上执行以下SQL命令(根据实际情况调整端点名称和权限):CREATE ENDPOINT [MirroringEndpoint] STATE=STARTED AS TCP (LISTENER_PORT=7022, LISTENER_IP=ALL) FOR DATABASE_MIRRORING (ROLE=ALL, AUTHENTICATION=WINDOWS NEGOTIATE, ENCRYPTION=REQUIRED ALGORITHM AES)ROLE=ALL表示该端点既可以作为主库也可以作为镜像库的端点,根据你的实际角色需求可以调整为PARTNER或WITNESS。- 务必确保两台实例的防火墙都开放了7022端口,避免后续连接失败。
配置数据库镜像时指定端口
在配置镜像伙伴时,明确指定7022端口,示例命令:-- 在主库上执行 ALTER DATABASE [YourDatabaseName] SET PARTNER = 'TCP://MirrorServerName:7022'
额外注意事项
- 由于你使用的是SQL Server 2016 SP1标准版,Always On可用性组确实仅支持包含单个数据库的AG,因此用数据库镜像处理剩余4个数据库是符合版本限制的合理方案。
- 确保镜像端点的权限配置正确,比如授予镜像服务账户连接端点的权限:
GRANT CONNECT ON ENDPOINT::[MirroringEndpoint] TO [Domain\MirrorServiceAccount]
内容的提问来源于stack exchange,提问作者Alex SQL
相关产品推荐
相关产品推荐

