sql2008镜像.doc
文本预览下载声明
在非域控环境中创建数据库镜像, 我们必须使用证书来创建数据库镜像。 大致的步骤包括:
在为数据库镜像配置的每个服务器实例上执行下列步骤:
在 master 数据库中,创建数据库主密钥。
在 master 数据库中,为服务器实例创建加密证书。
使用服务器实例的证书为该服务器实例创建端点。
将证书备份到文件,并将其安全地复制到其他系统。
?
然后,对为数据库镜像配置的每个伙伴执行这些步骤。在 master 数据库中:
为其他系统创建登录名。
创建一个使用该登录名的用户。
获取其他服务器实例的镜像端点的证书。
将该证书与在步骤 2 中创建的用户相关联。
授予对该镜像端点的登录名的 CONNECT 权限。
?
/*查询所有当前数据库名select SERVERPROPERTY(Nservername)SELECT AS [Name]FROMmaster.sys.databases AS dtbORDER BY[Name] ASC*/-------------------------------------------------------前期准备--?查看数据库版本???SELECT @@VERSION-----配置数据库镜像事务安全级别 ???ALTER DATABASE TestMirroring SET SAFETY FULL -----更改主数据库为使用完整恢复模式(如果非完整恢复模式则 可以使用下面SQL更改为 完整恢复模式)???USE master??? ALTER DATABASE TestMirroring ??? SET RECOVERY FULL WITH no_wait
/*跨数据库事务和分布式事务均不支持数据库镜像*/
--主服务器 见证服务器 镜像服务器的数据库版本必须相同--备份主数据库(完整备份)???BACKUP DATABASE [TestMirroring] TO? DISK = NC:/wenzhongfiles/TestMirror.bak WITH NOFORMAT, NOINIT,????NAME = NTestMirroring-完整 数据库 备份, SKIP, NOREWIND, NOUNLOAD,? STATS = 10--备份主数据库的完整日志文件???BACKUP LOG [TestMirroring] TO? DISK = NC:/wenzhongfiles/TestMirrorlog.bak WITH NOFORMAT, NOINIT,????NAME = NTestMirroring-事务日志? 备份, SKIP, NOREWIND, NOUNLOAD,? STATS = 10--在镜像服务器上还原(还原选项 norecovery(即不对数据库执行任何操作))???RESTORE DATABASE [TestMirroring] FROM? DISK = NF:/TestMirror.bak WITH? FILE = 1,? MOVE NTestMirror????TO NE:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/TestMirroring.mdf,? MOVE NTestMirror_log????TO NE:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/TestMirroring_1.ldf,? NORECOVERY,? NOUNLOAD,? REPLACE,? STATS = 10--将备份的完整日志文件在 镜像服务器上执行 日志文字间恢复(还原选项 norecovery(即不对数据库执行任何操作))???RESTORE LOG [TestMirroring] FROM? DISK = NF:/TestMirrorlog.bak WITH? FILE = 1,? NORECOVERY,? NOUNLOAD,? STATS = 10
--------------正式开始(代码仅仅是举例主服务器上的)
--------------------------------------------------------------------------在 主、镜像、见证服务器上 分别执行:------创建数据库对称密钥??USE master;?? ??--DROP MASTER KEY?? ??CREATE MASTER KEY ENCRYPTION BY PASSWORD = wenzhong;?? ??
显示全部