SQLServer 域环境中完整镜像配置脚本
### SQL Server域环境中完整镜像配置脚本解析 #### 标题:SQL Server域环境中完整镜像配置脚本 此标题表明文档主要内容是关于在SQL Server域环境下进行数据库镜像配置的具体步骤。数据库镜像是一种高可用性解决方案,用于保持主数据库与辅助数据库的数据一致性,以确保在主数据库出现故障时能够快速切换到辅助数据库继续提供服务。 #### 描述:SQL Server域环境中完整镜像配置脚本 该描述进一步强调了文档的重点在于提供一个完整的SQL Server数据库镜像配置脚本。这意味着脚本中包含了从创建必要的证书、登录名、用户账户到配置数据库镜像端点等所有必要的步骤,旨在帮助读者实现数据库镜像功能。 #### 标签:镜像 SQLServer 这些标签指出了本文档的关键主题:数据库镜像以及它与SQL Server的关系。这有助于读者快速识别文档的主题并判断其是否符合自己的需求。 #### 部分内容解析 根据提供的部分内容,可以将整个配置过程分为以下几个主要部分: ##### 1. 创建数据库 ```sql -- 创建数据库 USE [master] GO CREATE DATABASE [DemoDB] GO ALTER DATABASE [DemoDB] SET RECOVERY FULL WITH NO_WAIT GO ``` 这部分代码首先使用`master`数据库作为上下文,并创建了一个名为`DemoDB`的新数据库。接着,通过`ALTER DATABASE`命令设置该数据库的恢复模式为完全恢复模式(`FULL`),这是启用数据库镜像的必要条件之一。 ##### 2. 证书管理 ```sql -- 创建主密钥 USE master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'kk_2012@'; GO -- 创建服务器证书 CREATE CERTIFICATE Cert_kk_db1_mssqlserver WITH SUBJECT = 'Cert_kk_db1_mssqlserver', START_DATE = '2015-06-01', EXPIRY_DATE = '2018-06-01'; GO -- 备份服务器证书 BACKUP CERTIFICATE Cert_kk_db1_mssqlserver TO FILE = 'C:\Databases\Cert_kk_db1_mssqlserver.cer'; GO ``` 这部分代码涉及到了主密钥的创建及服务器证书的创建和备份。创建主密钥是为了保护后续创建的服务器证书。接着创建了三个服务器证书,分别对应于主服务器(`kk-db1`)、镜像服务器(`kk-db2`)和见证服务器(`kk-db3`)。每个服务器证书都具有特定的过期日期,并且通过`BACKUP CERTIFICATE`命令将其备份到本地磁盘上。 ##### 3. 登录和用户管理 ```sql -- 创建Windows身份验证的登录 USE master GO CREATE LOGIN [KK\UserReplMirror] FROM WINDOWS; GO CREATE USER [UserReplMirror] FOR LOGIN [KK\UserReplMirror]; GO ``` 这段代码创建了一个基于Windows身份验证的登录名`KK\UserReplMirror`,并为其创建了相应的数据库用户`UserReplMirror`。这一步骤是为了后续授权目的,确保镜像操作的安全性。 ##### 4. 证书授权 ```sql -- 授权服务器证书 CREATE CERTIFICATE [Cert_kk_db2_mssqlserver] AUTHORIZATION [UserReplMirror] FROM FILE = 'C:\Databases\Cert_kk_db2_mssqlserver.cer'; GO CREATE CERTIFICATE [Cert_kk_db3_mssqlserver] AUTHORIZATION [UserReplMirror] FROM FILE = 'C:\Databases\Cert_kk_db3_mssqlserver.cer'; GO ``` 这里,通过`CREATE CERTIFICATE`命令,将之前备份的服务器证书重新导入数据库,并指定其所有者为前面创建的用户`UserReplMirror`。 ##### 5. 数据库镜像端点配置 ```sql -- 创建数据库镜像端点 CREATE ENDPOINT [Endpoint_For_Mirror] AUTHORIZATION [KK\UserReplMirror] STATE = STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = CERTIFICATE Cert_kk_db1_mssqlserver, ENCRYPTION = REQUIRED ALGORITHM AES) GO ``` 这部分是整个配置中最核心的部分,用于创建数据库镜像所需的端点。通过`CREATE ENDPOINT`命令创建了一个名为`Endpoint_For_Mirror`的端点,指定了授权用户、端口、IP地址、角色、认证方式和加密算法等参数。这里的端点用于实现主服务器与镜像服务器之间的数据同步通信。 该脚本覆盖了从创建数据库、配置证书到设置数据库镜像端点的所有关键步骤,是一个相对完整的SQL Server数据库镜像配置方案。对于需要在域环境中实施数据库镜像的企业来说,这是一个非常有价值的参考资源。需要注意的是,在实际部署前,还需要对脚本中的密码、端口号等敏感信息进行适当的调整,并确保满足当前环境的安全策略要求。
/*------------------------------------------------------------------------------------------
SQLServer 域环境中完整镜像配置脚本
------------------------------------------------------------------------------------------*/
/*
kk-db1 192.168.2.10 主机
kk-db2 192.168.2.11 镜像(Mirror)
kk-db3 192.168.2.12 见证机(WITNESS)
*/
--主体创建数据库
USE [master]
GO
CREATE DATABASE [DemoDB]
GO
ALTER DATABASE [DemoDB] SET RECOVERY FULL WITH NO_WAIT
GO
--主体:创建证书 和 备份
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'kk_2012@';
GO
CREATE CERTIFICATE Cert_kk_db1_mssqlserver
WITH SUBJECT = 'Cert_kk_db1_mssqlserver',
START_DATE = '2015-06-01',EXPIRY_DATE = '2018-06-01';
GO
BACKUP CERTIFICATE Cert_kk_db1_mssqlserver
GO
--镜像:创建证书 和 备份
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'kk_2012@';
GO
CREATE CERTIFICATE Cert_kk_db2_mssqlserver
WITH SUBJECT = 'Cert_kk_db2_mssqlserver',
START_DATE = '2015-06-01',EXPIRY_DATE = '2018-06-01';
GO
BACKUP CERTIFICATE Cert_kk_db2_mssqlserver
TO FILE = 'C:\Databases\Cert_kk_db2_mssqlserver.cer';
GO
--见证:创建证书 和 备份
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'kk_2012@';
GO
CREATE CERTIFICATE Cert_kk_db3_mssqlserver
WITH SUBJECT = 'Cert_kk_db3_mssqlserver',
START_DATE = '2015-06-01',EXPIRY_DATE = '2018-06-01';
GO
BACKUP CERTIFICATE Cert_kk_db3_mssqlserver
TO FILE = 'C:\Databases\Cert_kk_db3_mssqlserver.cer';
GO
剩余7页未读,继续阅读
- 粉丝: 1316
- 资源: 22
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab的语音信号加密解密传输,有GUI界面,有设计报告 自带声音,可以自己录制声音,进行加密和解密,自己设置密码,如果密码不正确,解密出来的结果不对,如果密码正确,可以解密出与原信号几乎一致
- Python实例:智能聊天机器人
- ArithmeticException如何解决.md
- 非法参数异常解决办法.md
- Easdsadarror.md
- 电机老化测试机sw18可编辑全套技术资料100%好用.zip
- 【区间概率预测】CPO-ELM-ABKDE多变量时序预测 基于冠豪猪优化算法(CPO.)优化极限学习机(ELM)结合自适应带宽核函数密度估计的多变量时序预测【点预测+概率预测+核密度估计】前可更为单
- swing-easy-code.jar
- 用digital实现带寄存器的加法器
- comsol凹凸双极板碱性电解水制氢模型,包含图1所示模型开发器的模拟内容,模型并不完美存在缺陷,仅提供给个人学习和参考
- MySQL数据库运维与管理练习源代码.txt
- 底托自动上线设备(sw18可编辑+工程图+bom)全套技术资料100%好用.zip
- Mysql出租屋管理收费系统数据库脚本
- 晶体塑性疲劳损伤子程序,本构如下图,提供子程序和子程序编码详解,以及材料卡参数
- JavaWeb网上蛋糕商城-前端开发
- 开闭环EtherCAT总线通讯,42 57 86步进电机软硬件方案,STM32+LAN9252,包含软件、硬件工程完整资料 适合二次开发,借鉴学习