Mirror--如何对运行中的镜像端点更换证书
如果使用证书配置镜像时,没有设置证书的时间,则默认证书有效期为一年,当证书快过期时,需要更换证书。
下面代码演示如何对正在运行的镜像更换证书
--================================================== --查找快过期的证书 USE [master] GO SELECT name AS CertificateName, expiry_date AS ExpiryDate FROM [master].[sys].[certificates] WHERE expiry_date<'2020-01-01' AND name NOT LIKE '##%' GO --查找镜像服务器 SELECT DB_NAME(database_id) AS DatabaseName, mirroring_partner_name FROM [master].[sys].[database_mirroring] WHERE mirroring_partner_name IS NOT NULL --================================================== --在主库上创建证书并修改镜像端点 USE master GO CREATE CERTIFICATE HOST_cert_3_1 WITH SUBJECT = 'HOST_cert_3_1' , START_DATE = '01/01/2010' , EXPIRY_DATE = '01/01/2099'; GO BACKUP CERTIFICATE HOST_cert_3_1 TO FILE = 'D:\HOST_cert_3_1.cer' GO ALTER ENDPOINT Endpoint_Mirroring FOR DATABASE_MIRRORING (AUTHENTICATION = CERTIFICATE HOST_cert_3_1) GO --================================================== --在从库上还原证书并授权用户 USE [master] GO CREATE LOGIN [MirrorUser] WITH PASSWORD=N'MirrorUser@123', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO CREATE USER [MirrorUser] FOR LOGIN [MirrorUser] GO CREATE CERTIFICATE HOST_cert_3_1 AUTHORIZATION [MirrorUser] FROM FILE='D:\HOST_cert_3_1.cer' GO GRANT CONNECT ON ENDPOINT::[Endpoint_Mirroring] TO [MirrorUser] --================================================== --在主库上恢复数据库镜像 USE [master] GO ALTER DATABASE [mirrored_database_name] SET PARTNER RESUME GO --清除过期证书 DROP CERTIFICATE HOST_cert_3_1_old
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现