域与非域做镜像

环境:

      主服务器:WINDOWS 2003 Enterprise Server +Windows 2005 Enterprise SP3,DB在域中

      镜像服务器:WINDOWS 2003 Enterprise Server +Windows 2008Enterprise SP1 DB 不在域中

准备:

      由于是域服务器至非域服务器的,需要在主服务器上建立一个和SQL SERVER 服务启动账户相同的本地账户,
     
      加入SQL SERVER 中,赋予SA权限,或者赋予端点连接权限。

      GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO LoginName

    

步骤:

1.确认数据库为完整恢复模式。

2.备份数据库和日志

 

    backup database testdb to disk='d:\testdb.bak'

    backup log testdb to disk='d:\testdb.trn'


3.将备份COPY至镜像服务器,恢复数据库和日志

   恢复备份

   RESTORE DATABASE [testdb] FROM  DISK = N'C:\testdb.bak' WITH  FILE = 1, 
  MOVE N'testdb' TO N'E:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\testdb.mdf', 
  MOVE N'testdb_log' TO N'E:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\testdb_1.ldf',      NORECOVERY,  NOUNLOAD
GO

  恢复日志

  RESTORE LOG [testdb] FROM  DISK = N'C:\testdb.trn' WITH  FILE = 1, 
  NORECOVERY,  NOUNLOAD
  GO

4.在主服务器上创建ENDPOINT,要注意AUTHORIZATION 这个参数的值,这儿使用的是准备工作阶段创建的本地账户。

 CREATE ENDPOINT [Endpoint_23]
 AUTHORIZATION [DB192168001023\SqlService]
 STATE=STARTED
 AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
 FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE
, ENCRYPTION = REQUIRED ALGORITHM RC4)

5.在镜像服务器创建端点,这儿指定的是服务启动账户

 CREATE ENDPOINT [Endpoint_58]
 AUTHORIZATION [5173DB-10C77532\SqlService]
 STATE=STARTED
 AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
 FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE
, ENCRYPTION = REQUIRED ALGORITHM RC4)

6.创建镜像

  在镜像服务器上执行

  ALTER DATABASE testdb SET PARTNER = 'TCP://主机IP:5022';

  在主机上执行

  ALTER DATABASE testdb SET PARTNER = 'TCP://镜像服务器IP:5022';

7.设置高性能模式

  ALTER DATABASE testdb SET SAFETY OFF