-- 求:SQL Server 2008镜像配置文档(求实战的详细步骤) ---- 谢谢各位兄弟帮忙........

解决方案 »

  1.   

    /********************************************************
    此脚本在主体服务器执行
    ********************************************************/
    --镜像只支持完全恢复模式,在备份数据库之前检查恢复的模式
    --对要镜像的数据库进行完整备份后,复制到镜像数据库以NORECOVERNY选项进行恢复
    USE master;
    --DROP MASTER KEY
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
    GO
    --为此服务器实例制作一个证书。
    --DROP CERTIFICATE HOST_A_cert
    CREATE CERTIFICATE HOST_A_cert 
       WITH SUBJECT = 'HOST_A certificate',START_DATE  = '01/01/2009';
    GO 
    --使用该证书为服务器实例创建一个镜像端点。
    --DROP ENDPOINT Endpoint_Mirroring
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5022
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE HOST_A_cert
          , ENCRYPTION = REQUIRED ALGORITHM AES
          , ROLE = PARTNER
       );
    GO--备份 HOST_A 证书,并将其复制到其他机器,将 C:\HOST_A_cert.cer 复制到 HOST_B\HOST_C。
    BACKUP CERTIFICATE HOST_A_cert TO FILE = 'e:\HOST_A_cert.cer';
    GO
    --为入站连接配置 Host_A
    --在 HOST_A 上为 HOST_B 创建一个登录名。 
    USE master;
    --DROP LOGIN HOST_B_login
    CREATE LOGIN HOST_B_login WITH PASSWORD = 'password';
    GO--创建一个使用该登录名的用户。
    --DROP USER HOST_B_user
    CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
    GO
    --使证书与该用户关联。
    --DROP CERTIFICATE HOST_B_cert
    CREATE CERTIFICATE HOST_B_cert
       AUTHORIZATION HOST_B_user
       FROM FILE = 'e:\HOST_B_cert.cer'
    GO--授予对远程镜像端点的登录名的 CONNECT 权限。
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];
    GO
     
    --在 HOST_A 上为 HOST_C 创建一个登录名。 
    USE master;
    --DROP LOGIN HOST_C_login
    CREATE LOGIN HOST_C_login WITH PASSWORD = 'password';
    GO--创建一个使用该登录名的用户。
    --DROP USER HOST_C_user
    CREATE USER HOST_C_user FOR LOGIN HOST_C_login;
    GO
    --使证书与该用户关联。
    --DROP CERTIFICATE HOST_C_cert
    CREATE CERTIFICATE HOST_C_cert
       AUTHORIZATION HOST_C_user
       FROM FILE = 'e:\HOST_C_cert.cer'
    GO--授予对远程镜像端点的登录名的 CONNECT 权限。
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_C_login];
    GOUSE master;
    --DROP LOGIN HOST_A_login
    CREATE LOGIN HOST_A_login WITH PASSWORD = 'password';
    GO
    --创建一个使用该登录名的用户。
    --DROP USER HOST_A_user
    CREATE USER HOST_A_user FOR CERTIFICATE HOST_A_cert;
    GO
    --授予对远程镜像端点的登录名的 CONNECT 权限。
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];
    GO--必须要在镜像数据库中先设置好伙伴后,才能在主体服务器执行
    --在 HOST_A 的主体服务器实例上,将 HOST_B 上的服务器实例设置为伙伴(使其成为初始镜像服务器实例)。
    ALTER DATABASE crm 
        SET PARTNER = 'TCP://192.168.1.205:5022';
    GO--设置见证服务器
    ALTER DATABASE crm SET WITNESS = N'TCP://192.168.1.204:5022';
    GO
      

  2.   

    /***********************************************
    在镜像服务器执行此脚本
    ***********************************************/
    USE master;
    --DROP MASTER KEY
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
    GO
    --为 HOST_B 服务器实例制作一个证书。
    --DROP CERTIFICATE HOST_B_cert
    CREATE CERTIFICATE HOST_B_cert 
       WITH SUBJECT = 'HOST_B certificate for database mirroring',START_DATE  = '01/01/2009';
    GO
    --在 HOST_B 中为服务器实例创建一个镜像端点。
    --DROP ENDPOINT Endpoint_Mirroring
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5022
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE HOST_B_cert
          , ENCRYPTION = REQUIRED ALGORITHM AES
          , ROLE = PARTNER
       );
    GO
    --备份 HOST_B 证书,将 C:\HOST_B_cert.cer 复制到 HOST_A\HOST_C。
    BACKUP CERTIFICATE HOST_B_cert TO FILE = 'e:\HOST_B_cert.cer';
    GO --为入站连接配置 Host_B
    --在 HOST_B 上为 HOST_A 创建一个登录名。
    USE master;
    --DROP LOGIN HOST_A_login
    CREATE LOGIN HOST_A_login WITH PASSWORD = 'password';
    GO
    --创建一个使用该登录名的用户。
    --DROP USER HOST_A_user
    CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
    GO
    --使证书与该用户关联。
    --DROP CERTIFICATE HOST_A_cert
    CREATE CERTIFICATE HOST_A_cert
       AUTHORIZATION HOST_A_user
       FROM FILE = 'e:\HOST_A_cert.cer'
    GO--授予对远程镜像端点的登录名的 CONNECT 权限。 
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];
    GO--在 HOST_B 上为 HOST_C 创建一个登录名。
    USE master;
    --DROP LOGIN HOST_C_login
    CREATE LOGIN HOST_C_login WITH PASSWORD = 'password';
    GO--创建一个使用该登录名的用户。
    --DROP USER HOST_C_user 
    CREATE USER HOST_C_user FOR LOGIN HOST_C_login;
    GO
    --使证书与该用户关联。
    --DROP CERTIFICATE HOST_C_cert
    CREATE CERTIFICATE HOST_C_cert
       AUTHORIZATION HOST_C_user
       FROM FILE = 'e:\HOST_C_cert.cer'
    GO--授予对远程镜像端点的登录名的 CONNECT 权限。
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_C_login];
    GO--在 HOST_B 上为 HOST_B 创建一个登录名。 
    USE master;
    --DROP LOGIN HOST_B_login
    CREATE LOGIN HOST_B_login WITH PASSWORD = 'password';
    GO
    --创建一个使用该登录名的用户。
    --DROP USER HOST_B_user
    CREATE USER HOST_B_user FOR CERTIFICATE HOST_B_cert;
    GO
    --授予对远程镜像端点的登录名的 CONNECT 权限。
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];
    GO
    --在 HOST_B 的镜像服务器实例上,将 HOST_A 上的服务器实例设置为伙伴(使其成为初始主体服务器实例)。
    ALTER DATABASE crm 
        SET PARTNER = 'TCP://192.168.1.203:5022';
    GO
      

  3.   

    手动故障转移代码
    --主备互换
    --主机执行:ALTER DATABASE crm SET PARTNER FAILOVER--主服务器Down掉,备机紧急启动并且开始服务
    ALTER DATABASE crm SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
    原来的主服务器恢复,可以继续工作,需要重新设定镜像
    --备机执行:
    USE master
    ALTER DATABASE crm SET PARTNER RESUME  --恢复镜像ALTER DATABASE crm SET PARTNER FAILOVER; --切换主备
      

  4.   


    -- 我也Google到了这个贴子,可是执行出错......哎,还是我慢慢琢磨吧.....网上好多大都是拷贝一下,
    -- 真正去实践过一把的人少!
      

  5.   

    好像跟小菜的差不多:
    http://wenku.baidu.com/view/bbc8fdc7aa00b52acfc7ca0d.html
      

  6.   

    小菜真小气 不肯给你 
    http://blog.chinaunix.net/u1/37091/showart_2079785.html 刚刚搜到的看看2008是没有用过
      

  7.   

    SQL code
    /***********************************************
    在镜像服务器执行此脚本
    ***********************************************/
    USE master;
    --DROP MASTER KEY
    CREATE MASTER KEY ENCRYPT……
    我试过了、、可以
      

  8.   

    我的sql server 2008怎么也装不了