日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

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

生產(chǎn)環(huán)境要上鏡像,自己又做了一遍測(cè)試,總結(jié)記錄一下。

目的:實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)庫的熱備和故障自動(dòng)切換。

環(huán)境:Win2008_R2_X64,SQLServer2008_R2_X64,WorkGroup網(wǎng)絡(luò)模式。

數(shù)據(jù)庫:people

主機(jī):192.168.1.3

鏡像機(jī):192.168.1.110

見證機(jī):192.168.1.111

準(zhǔn)備工作:

  • 打開每個(gè)實(shí)例的RemoteDACEnable.

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

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

    方法:開始?控制面板?Windows防火墻?高級(jí)設(shè)置?入站規(guī)則?新增規(guī)則 ???

  • 對(duì)主機(jī)的people數(shù)據(jù)庫做一個(gè)全備和事務(wù)日志備份并將其COPY到鏡像機(jī)上用Replace,NoRecovery選項(xiàng)恢復(fù)。

    主機(jī)備份:

    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

  • 鏡像恢復(fù):

    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

    實(shí)施,以下步驟按編號(hào)順序執(zhí)行:

    1. 主機(jī)上執(zhí)行:

    USE master

    GO

    --創(chuàng)建證書,并備份

    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

    --創(chuàng)建鏡像端口

    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. 鏡像機(jī)上執(zhí)行:

    USE master

    GO

    --創(chuàng)建證書,并備份

    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

    --創(chuàng)建鏡像端口

    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. 見證機(jī)上執(zhí)行:

    USE master

    go

    --創(chuàng)建證書,并備份

    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

    --創(chuàng)建鏡像端口

    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. 把上面三個(gè)步驟中備份的證書COPY到每臺(tái)機(jī),確保每臺(tái)機(jī)都有此三個(gè)證書。

    5. 主機(jī)上執(zhí)行:

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

    ?????? GO

    --為鏡像機(jī)訪問主機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限

    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

    --為見證機(jī)訪問主機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限

    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. 鏡像機(jī)上執(zhí)行:

    USE master

    GO

    --為主機(jī)訪問鏡像機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限

    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

    --為見證機(jī)訪問鏡像機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限

    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. 見證機(jī)上執(zhí)行:

    USE master

    GO

    --為主機(jī)訪問見證機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限

    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

    --為鏡像機(jī)訪問見證機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限

    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. 鏡像機(jī)上執(zhí)行:

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

    9. 主機(jī)上執(zhí)行:

    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數(shù)據(jù)庫鏡像就建立起來了。將會(huì)看到:

    主機(jī):

    鏡像機(jī):

    然后在主機(jī)上簡(jiǎn)單地查詢一下見證機(jī)的狀態(tài):我這里的見證機(jī)因?yàn)楹髞碇匦掠肎UI配置過,所以顯示為計(jì)算機(jī)名。

    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')

    總結(jié):

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

    轉(zhuǎn)載于:https://www.cnblogs.com/Joe-T/archive/2012/04/06/2434350.html

    總結(jié)

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

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。