日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

工作组模式下SQL Server 2008 R2 数据库镜像

發布時間:2024/4/17 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 工作组模式下SQL Server 2008 R2 数据库镜像 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

生產環境要上鏡像,自己又做了一遍測試,總結記錄一下。

目的:實現關鍵數據庫的熱備和故障自動切換。

環境:Win2008_R2_X64,SQLServer2008_R2_X64,WorkGroup網絡模式。

數據庫:people

主機:192.168.1.3

鏡像機:192.168.1.110

見證機:192.168.1.111

準備工作:

  • 打開每個實例的RemoteDACEnable.

    方法:SSMS選中實例?右鍵?Facets(方面)?在Facet列表選中"Surface area configuration"?設定"RemoteDacEnabled"為true。 ???

  • 在每臺Server的防火墻入站規則中添加鏡像所需端口(我用的是5022).

    方法:開始?控制面板?Windows防火墻?高級設置?入站規則?新增規則 ???

  • 對主機的people數據庫做一個全備和事務日志備份并將其COPY到鏡像機上用Replace,NoRecovery選項恢復。

    主機備份:

    USE master

    GO

    BACKUP DATABASE [people] TO DISK = N'D:\people.bak'

    WITH FORMAT, INIT, NAME = N'people-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;

    GO

    BACKUP LOG [people] TO DISK = N'D:\people.bak'

    WITH NOFORMAT, NOINIT, NAME = N'people-Transaction Log Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;

    GO

  • 鏡像恢復:

    USE master

    GO

    RESTORE DATABASE [people] FROM DISK = N'F:\people.bak'

    WITH FILE = 1,

    NORECOVERY, NOUNLOAD, REPLACE, STATS = 10

    GO

    RESTORE LOG [people] FROM DISK = N'F:\people.bak'

    WITH FILE = 2, NORECOVERY, NOUNLOAD, STATS = 10

    GO

    實施,以下步驟按編號順序執行:

    1. 主機上執行:

    USE master

    GO

    --創建證書,并備份

    CREATE MASTER KEY ENCRYPTION BY PASSWORD=N'joe123';

    CREATE CERTIFICATE Cert_JOEPC

    WITH SUBJECT=N'JOEPC Certificate',START_DATE='20120405',EXPIRY_DATE='20990405';

    BACKUP CERTIFICATE Cert_JOEPC TO FILE=N'C:\Cert_JOEPC.cer';

    GO

    --創建鏡像端口

    CREATE ENDPOINT EP_JOEPC_Mirr

    STATE=STARTED

    AS TCP

    (

    LISTENER_PORT=5022,

    LISTENER_IP=ALL

    )

    FOR DATABASE_MIRRORING

    (

    AUTHENTICATION=CERTIFICATE Cert_JOEPC,

    ENCRYPTION=REQUIRED ALGORITHM AES,

    ROLE=PARTNER

    )

    ?

    ???????????????? GO

    2. 鏡像機上執行:

    USE master

    GO

    --創建證書,并備份

    CREATE MASTER KEY ENCRYPTION BY PASSWORD=N'joe123';

    CREATE CERTIFICATE Cert_110

    WITH SUBJECT=N'Certificate 110',START_DATE='20120405',EXPIRY_DATE='20990405';

    BACKUP CERTIFICATE Cert_110 TO FILE=N'C:\Cert_110.cer';

    GO

    --創建鏡像端口

    CREATE ENDPOINT EP_110_Mirr

    STATE=STARTED

    AS TCP

    (

    LISTENER_PORT=5022,

    LISTENER_IP=ALL

    )

    FOR DATABASE_MIRRORING

    (

    AUTHENTICATION=CERTIFICATE Cert_110,

    ENCRYPTION=REQUIRED ALGORITHM AES,

    ROLE=PARTNER

    )

    GO

    ?

    3. 見證機上執行:

    USE master

    go

    --創建證書,并備份

    CREATE MASTER KEY ENCRYPTION BY PASSWORD =N'joe123';

    CREATE CERTIFICATE Cert_111

    WITH SUBJECT=N'Certificate 111';

    BACKUP CERTIFICATE Cert_111 TO FILE=N'C:\Cert_111.cer';

    GO

    --創建鏡像端口

    CREATE ENDPOINT EP_111_Mirr

    AS TCP

    (

    LISTENER_PORT=5022,

    LISTENER_IP=ALL

    )

    FOR DATABASE_MIRRORING

    (

    AUTHENTICATION=CERTIFICATE Cert_111,

    ENCRYPTION=REQUIRED ALGORITHM AES,

    ROLE=WITNESS

    )

    ?

    ????????????GO

    4. 把上面三個步驟中備份的證書COPY到每臺機,確保每臺機都有此三個證書。

    5. 主機上執行:

    ???????????? USE master

    ?????? GO

    --為鏡像機訪問主機的鏡像端口而創建登錄和用戶,并授予連接權限

    CREATE LOGIN Login_For_110 WITH PASSWORD=N'joe123';

    CREATE USER User_For_110 FOR LOGIN Login_For_110;

    CREATE CERTIFICATE Cert_For_110 AUTHORIZATION User_For_110 FROM FILE=N'C:\Cert_110.cer';

    GRANT CONNECT ON ENDPOINT::EP_JOEPC_Mirr TO Login_For_110;

    GO

    --為見證機訪問主機的鏡像端口而創建登錄和用戶,并授予連接權限

    CREATE LOGIN Login_For_111 WITH PASSWORD=N'joe123';

    CREATE USER User_For_111 FOR LOGIN Login_For_111;

    CREATE CERTIFICATE Cert_For_111 AUTHORIZATION User_For_111 FROM FILE=N'C:\Cert_111.cer';

    GRANT CONNECT ON ENDPOINT::EP_JOEPC_Mirr TO Login_For_111;

    ?????? GO

    6. 鏡像機上執行:

    USE master

    GO

    --為主機訪問鏡像機的鏡像端口而創建登錄和用戶,并授予連接權限

    CREATE LOGIN Login_For_JOEPC WITH PASSWORD=N'joe123';

    CREATE USER User_For_JOEPC FOR LOGIN Login_For_JOEPC;

    CREATE CERTIFICATE Cert_For_JOEPC AUTHORIZATION User_For_JOEPC

    FROM FILE =N'c:\Cert_JOEPC.cer';

    GRANT CONNECT ON ENDPOINT::EP_110_Mirr TO Login_For_JOEPC;

    GO

    --為見證機訪問鏡像機的鏡像端口而創建登錄和用戶,并授予連接權限

    CREATE LOGIN Login_For_111 WITH PASSWORD=N'joe123';

    CREATE USER User_For_111 FOR LOGIN Login_For_111;

    CREATE CERTIFICATE Cert_For_111 AUTHORIZATION User_For_111

    FROM FILE =N'c:\Cert_111.cer';

    GRANT CONNECT ON ENDPOINT::EP_110_Mirr TO Login_For_111;

    GO

    ?

    7. 見證機上執行:

    USE master

    GO

    --為主機訪問見證機的鏡像端口而創建登錄和用戶,并授予連接權限

    CREATE LOGIN Login_For_JOEPC WITH PASSWORD=N'joe123';

    CREATE USER User_For_JOEPC FOR LOGIN Login_For_JOEPC;

    CREATE CERTIFICATE Cert_For_JOEPC AUTHORIZATION User_For_JOEPC FROM FILE=N'c:\Cert_JOEPC.cer';

    GRANT CONNECT ON ENDPOINT::EP_111_Mirr TO Login_For_JOEPC;

    GO

    --為鏡像機訪問見證機的鏡像端口而創建登錄和用戶,并授予連接權限

    CREATE LOGIN Login_For_110 WITH PASSWORD=N'joe123';

    CREATE USER User_For_110 FOR LOGIN Login_For_110;

    CREATE CERTIFICATE Cert_For_110 AUTHORIZATION User_For_JOEPC FROM FILE=N'c:\Cert_110.cer';

    GRANT CONNECT ON ENDPOINT::EP_111_Mirr TO Login_For_110;

    GO

    8. 鏡像機上執行:

    ??????ALTER DATABASE people SET PARTNER =N'TCP://192.168.1.3:5022';

    9. 主機上執行:

    ALTER DATABASE [people] SET PARTNER=N'TCP://192.168.1.110:5022';

    ALTER DATABASE [people] SET WITNESS=N'TCP://192.168.1.111:5022';

    10. 完成以上步驟,正常情況,people數據庫鏡像就建立起來了。將會看到:

    主機:

    鏡像機:

    然后在主機上簡單地查詢一下見證機的狀態:我這里的見證機因為后來重新用GUI配置過,所以顯示為計算機名。

    SELECT 'people' AS [DB_Name],mirroring_role_desc,

    mirroring_partner_name,mirroring_witness_name,mirroring_witness_state_desc

    FROM sys.database_mirroring

    WHERE database_id=DB_ID(N'people')

    總結:

  • 工作組模式下,曾經遇到過兩次主機和鏡像配置成功,見證機總是連接不上的問題。我嘗試過以下方法解決:
  • 檢查網絡聯通性,確保見證機的IP和端口可用。
  • 給每臺機加上FQDN,即設置同樣的DNS后綴名。(方法:計算機?右鍵,屬性?更改設置?更改?其他?DNS后綴)
  • 修改每臺機的HOST文件,將計算機名和IP綁定。
  • 用SSMS GUI重新配置一次見證機。
  • 還遇到過一些其它問題,錯誤提示很明顯,根據其基本能解決。最常見無法建立鏡像的錯誤,是因為鏡像未能與主機一致,備份主機日志到鏡像恢復一次或者重做鏡像。
  • ?

    轉載于:https://www.cnblogs.com/Joe-T/archive/2012/04/06/2434350.html

    總結

    以上是生活随笔為你收集整理的工作组模式下SQL Server 2008 R2 数据库镜像的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。