网络编程
位置:首页>> 网络编程>> 数据库>> SQL Server 2005数据库镜像配置脚本示例

SQL Server 2005数据库镜像配置脚本示例

作者:yashi 来源:赛迪网 发布时间:2008-04-12 14:49:00 

标签:SQL,Server,2005,sql,数据库

这篇论坛文章主要介绍了SQL Server 2005数据库镜像的配置脚本,详细内容请大家参考下文:

SQL Server 2005数据库镜像配置脚本:


示例如下:


--在MIR-A上,创建数据库镜像端点

   create endpoint DB_MirroringEP 
  AS tcp (listener_port = 5022) 
  for database_Mirroring (role = partner,encryption=supported); 
  go 

--在MIR-B上,创建数据库镜像端点,用于伙伴通讯

  CREATE ENDPOINT Db_MirroringEP 
  AS TCP (LISTENER_PORT = 5022) 
  FOR DATABASE_MIRRORING (ROLE = PARTNER, ENCRYPTION = SUPPORTED); 
  GO 
  ALTER ENDPOINT Db_MirroringEP STATE = STARTED 
  GO 

--在MIR-W上,创建数据库镜像端点,用于见证通讯

 CREATE ENDPOINT Db_MirroringEP 
  AS TCP (LISTENER_PORT = 5022) 
  FOR DATABASE_MIRRORING (ROLE = WITNESS, ENCRYPTION = SUPPORTED); 
  GO 
  ALTER ENDPOINT Db_MirroringEP STATE = STARTED 
  GO 

--在MIR-A,MIR-B,MIR-W上,检查端点配置



SELECT * FROM sys.database_mirroring_endpoints 
GO 

--在MIR-A,MIR-B,MIR-W上,配置数据库镜像安全性,somodesql.com为自己的域名        



 use master 
  go 
  grant connect on endpoint::"DB_MirroringEP" to "SOMODESQL\sqladmin" 
  go 

--在MIR-A上,对AdventureWorks数据库做完全备份



BACKUP DATABASE AdventureWorks TO DISK = 'C:\AdventureWorks.bak' 
GO 

--在MIR-B上恢复AdventureWorks数据库。


--通过安全方法,将 C:\AdventureWorks.bak 复制到 MIR-B。


--在 MIR-B 的镜像服务器实例上还原数据库:

 RESTORE DATABASE AdventureWorks 
  FROM DISK = 'C:\AdventureWorks.bak' 
  WITH NORECOVERY 
  GO 

--启动数据库镜像,注意顺序,需要在首先在镜像服务器上配置伙伴


--在MIR-B上,指定伙伴端点,somodesql.com为自己的域名



  alter database AdventureWorks 
  set partner = N'TCP://MIR-A.somodesql.com:5022' 
  GO 

--在MIR-A上,指定伙伴端点

alter database AdventureWorks 
  set partner = N'TCP://MIR-B.somodesql.com:5022' 
  GO 

--在MIR-A上,指定见证服务器端点





  ALTER DATABASE AdventureWorks 
  SET WITNESS = N'TCP://MIR-W.somodesql.com:5022' 
  GO 

--配置数据库镜像事务安全级别



ALTER DATABASE AdventureWorks SET SAFETY FULL 
GO 

--=================查看数据库镜像的配置状态=================


-- 1.)通过Management studio 对象资源管理器,查看主体数据库、镜像数据库状态

-- 2.)通过Management studio 对象资源管理器中的数据库属性查看状态


-- 3.)通过系统目录视图查看数据库镜像配置情况 

use master 
  go 
  SELECT * FROM sys.database_mirroring_endpoints 
  SELECT * FROM sys.database_mirroring WHERE database_id = 
  (SELECT database_id FROM sys.databases WHERE name = 'AdventureWorks') 
0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com