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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server HA - 数据库镜像2 (Mirroring)(1418错误解决)

發布時間:2025/1/21 数据库 96 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server HA - 数据库镜像2 (Mirroring)(1418错误解决) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • SQL Server2008數據庫鏡像的配置 (1418錯誤解決)


準備三臺安裝SQL的服務器,三臺中兩臺擔當驚喜數據庫,一天當作監控服務器

  • 在要做鏡像的數據庫之上右鍵單擊,選擇備份

  • 備份類型為完整,注意記錄備份路徑

  • 重復以上操作,此次備份類型為事務日志

  • 將剛剛備份的文件拷貝到另外一臺備份的數據庫內

  • 右鍵數據庫,選擇恢復數據庫

  • 選擇源設備

  • 選擇完整備份的數據庫

  • 單擊確定

  • 勾選剛剛恢復的數據庫

  • 點擊選項,勾選不對數據庫執行任何操作

  • 右鍵選擇剛剛恢復的數據庫,選擇還原任務日志

  • 勾選從磁盤恢復,選擇對應的文件

  • 同樣選擇不對數據庫執行任何操作

  • 可看到正在同步和還原

  • 右鍵剛剛的數據庫選擇鏡像

  • 點擊配置安全

  • 勾選使用見證服務器

  • 主服務器

  • 選擇鏡像服務器

  • 選擇見證服務器

  • 設置服務器連接用戶名


    設置服務器連接用戶名(注意:此處必須指定SQLServer服務啟動的賬號)

    這個是引起1418錯誤的原因,由于沒有

    ?? ???GRANT CONNECT on ENDPOINT::Mirroring TO [Domain\_TPSQLAccount];

    Mirroring server network address cannotbe reached or ?does not exist

  • 點擊完成結束

  • 點擊開始驚喜

  • 鏡像結束


    • [TroubleShooting] The servernetwork address can not be reached or does not exist:

    http://blog.csdn.net/wzhiu/article/details/24774987

    Backtround:

    I'm trying to set upmirroring between two sql 2008 R2?databases on different servers in myinternal network, as a test run before doing the same thing with two liveservers in different locations.

    When I actually try and switch the mirroring on the target DB (with
    ALTER DATABASE xxxdb SET PARTNER = TCP://myserverAddress:50221') I'm getting anerror telling me that the server network address can not be reached or does notexist. A little research suggests this is a fairly unhelpful message that popsup due to a number of possible causes, some of which are not directly relatedto the server existing or otherwise.

    In fact, this is error isnot clear for us.Checking the log, I'mseeing the following errors.?"Database mirroringconnection error 5 'Connection handshake failed. The certificate used by thepeer is invalid due to the following reason: Certificate not found. State 89.'for 'TCP://myserverAddress:50221'." in event viewer(eventvwr).

    Solution:

    You can?manual copyingthe certificates around(Principal, Mirror and Witness). and drop login, user.and then create login, user with certificate responsed. Last, Grant connectendpoint.

    CREATE LOGIN HOST_pro_login WITH PASSWORD ='Password01!';

    CREATE USER HOST_pro_user FOR LOGIN HOST_pro_login;

    -- drop CERTIFICATE HOST_pro_cert

    CREATE CERTIFICATE HOST_pro_cert AUTHORIZATION HOST_pro_user ?FROM FILE ='D:\Hot backup\HOST_pro_cert.cer';

    GRANT ?CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_pro_login];

    CREATE?LOGIN?HOST_pro_login?WITH?PASSWORD?='Password01!';CREATE?USER?HOST_pro_user?FOR?LOGIN?HOST_pro_login;--?drop?CERTIFICATE?HOST_pro_certCREATE?CERTIFICATE?HOST_pro_cert?AUTHORIZATION?HOST_pro_user?FROM?FILE?='D:\Hot?backup\HOST_pro_cert.cer';GRANT?CONNECT?ON?ENDPOINT::Endpoint_Mirroring?TO?[HOST_pro_login];

    ?OtherSuggestions:

    Thesolution to the above problem is very simple and as follows.

    Fix/WorkAround/Solution:Tryall the suggestions one by one.

    Suggestion1:Make sure that on Mirror Server the database is restored with NO RECOVERYoption (This is the most common problem).

    Suggestion2:Make sure that from Principal the latest LOG backup is restored to mirrorserver. (Attempt this one more time even though the full backup has beenrestored recently).

    -- Back up 1:

    GO

    BACKUP DATABASE ?[dbName] TO? DISK = N'D:\Hot ?backup\testbackup01.bak' WITH NOFORMAT, NOINIT,? NAME = N'TestBackup01-Full Database ?Backup', SKIP, NOREWIND, NOUNLOAD,? ?STATS = 10

    GO

    ?

    BACKUP LOG [dbName] ?TO? DISK = N'D:\Hot ?backup\TestBackup01.trn' WITH NOFORMAT, NOINIT,? NAME = N'TestBackup01-Transaction Log? Backup', SKIP, NOREWIND, NOUNLOAD,? STATS = 10

    GO

    -- Restore 1:

    RESTORE DATABASE ?dbName

    ?FROM DISK = 'D:\Hot backup\dbName.bak' ?WITH  FILE = 1, 

    MOVE 'dbName' TO ?'C:\Program Files\Microsoft SQL ?Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\dbName.mdf',

    MOVE 'dbName_log' TO ?'C:\Program Files\Microsoft SQL ?Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\dbName_log.ldf',

    NORECOVERY,  ?NOUNLOAD,  REPLACE,  STATS = 10

    GO

    ?

    -- Restore 2:

    RESTORE DATABASE ?dbName FROM DISK = 'D:\Hot backup\backup_TestBackup01.bak' WITH FILE = 1, ?NORECOVERY, NOUNLOAD;

    RESTORE LOG dbName ?FROM DISK = 'D:\Hot backup\backup_TestBackup01.trn' WITH NORECOVERY


    --?Restore?2:RESTORE?DATABASE?dbName?FROM?DISK?=?'D:\Hot?backup\backup_TestBackup01.bak'?WITH?FILE?=?1,?NORECOVERY,?NOUNLOAD;RESTORE?LOG?dbName?FROM?DISK?=?'D:\Hot?backup\backup_TestBackup01.trn'?WITH?NORECOVERY

    Suggestion3:Check if you can telnet to your ports using command TELNET ServerName Portslike “telnet SQLServerName 50221″.(Please add feature lelnet client|Server inserver?2k8, if it not exsit.)

    Suggestion4:Make sure your firewall is turned off.

    Suggestion5:Verify that the endpoints are started on the partners by using thestate or state_desc column the ofthe sys.database_mirroring_endpointscatalog view. You can start end point by executing an ALTER ENDPOINT statement.

    Suggestion6:Try the following command as one of the last options.

    GRANTCONNECT ON ENDPOINT::Mirroring TO ALL

    Suggestion7:Delete the end points and recreate them.

    Suggestion8: CheckSQL log.

    Ifany of above solutions does not fix your problem, do leave comment here. Basedon the comment, I will update this article with additional suggestions.

    Pleasenote that some of the above suggestions can be security threat to your system.Please use them responsibly and review your system with security expert in yourcompany.

    ?

    • ?SQL SERVER 2008 數據庫鏡像動手實驗筆記


    ----判斷數據庫是否正在被使用,如果被使用中,那么中止使用數據庫的進程

    IF EXISTS(SELECT * FROM sys.sysprocesses WHEREdbid=DB_ID(N'SampleData'))

    ?? BEGIN

    ???? DECLARE @sNVARCHAR(1000)

    ???? DECLARE myCurCURSOR FOR?

    ??? ?SELECT 'kill '+CAST(spid AS VARCHAR) FROMsys.sysprocesses WHERE dbid=DB_ID(N'SampleData')

    ???? OPEN myCur

    ???? FETCH NEXT FROMmyCur INTO @s

    ???? WHILE@@FETCH_STATUS =0

    ???? BEGIN

    ?????? EXEC(@S)

    ?????? FETCH NEXT FROMmyCur INTO @s

    ???? END

    ???? CLOSE myCur

    ???? DEALLOCATEmyCur????

    ?? END?????

    ???

    ----新建數據庫

    IF EXISTS(SELECT * FROM sys.sysdatabases WHERE dbid=db_id(N'SampleData'))

    DROP DATABASE SampleData???

    ---IF DB_ID(N'SampleData') IS NOT NULL??

    ---?? DROP DATABASESampleData??

    CREATE DATABASE SampleData ON PRIMARY?

    ? (NAME=N'SampleData',FILENAME=N'E:\Sample\SampleData.MDF',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%),??

    ? FILEGROUP FG1DEFAULT?

    ?(NAME=N'SampleData_01',FILENAME=N'E:\Sample\SampleData_01.ndf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%),??

    ?(NAME=N'SampleData_02',FILENAME=N'E:\Sample\SampleData_02.ndf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)

    ? LOG ON?

    ?(NAME=N'SampleData_Log',FILENAME=N'E:\Sample\SampleData_Log.ldf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)??

    ? COLLATEChinese_PRC_CI_AS??

    GO??

    ?

    ----將數據庫的恢復模式設定為【FULL

    IF NOT EXISTS(SELECT recovery_model FROM sys.databases WHEREdatabase_id =DB_ID(N'SampleData') AND recovery_model=1)

    ?? ALTER DATABASESampleData SET RECOVERY FULL

    ?

    ----在數據庫中新建表[TestTable],并添加測試數據??

    USE SampleData?

    IF EXISTS(SELECT * FROM sys.objects WHERE object_id=OBJECT_ID(N'dbo.TestTable') AND type IN (N'U'))

    DROP TABLE dbo.TestTable

    CREATE TABLE dbo.TestTable

    (ID?????? INT?????????????????? IDENTITY(1,1),

    ?Column1? VARCHAR(50)??NOT NULL,

    ?CONSTRAINTpk_testtableID PRIMARY KEY(ID))

    ?GO

    ?

    INSERT INTO dbo.TestTable(Column1) VALUES('ROWA')

    INSERT INTO dbo.TestTable(Column1) VALUES('ROWB')

    INSERT INTO dbo.TestTable(Column1) VALUES('ROWC')

    INSERT INTO dbo.TestTable(Column1) VALUES('ROWD')

    INSERT INTO dbo.TestTable(Column1) VALUES('ROWE')

    ?

    ----完整備份數據庫

    BACKUP DATABASE [SampleData] TO? DISK = N'E:\SampleBack\SampleDataAllback.bak'WITH NOFORMAT, NOINIT,? NAME =N'SampleData-完整數據庫備份', SKIP, NOREWIND, NOUNLOAD,? STATS = 10

    ----事務日志備份(截斷日志)

    BACKUP LOG [SampleData] TO?DISK = N'E:\SampleBack\SampleDataLogBack.bak' WITH NOFORMAT,NOINIT,? NAME = N'SampleData-事務日志備份', SKIP, NOREWIND, NOUNLOAD,? STATS = 10

    ?

    ----在輔助數據庫服務器上執行還原

    ------還原完整備份

    --------RESTORE DATABASE [SampleData] FROM? DISK = N'E:\SampleBack\SampleDataAllback.bak'WITH? FILE = 1,? MOVE N'SampleData_01' TON'E:\Sample\SampleData_1.ndf',? MOVEN'SampleData_02' TO N'E:\Sample\SampleData_2.ndf',? MOVE N'SampleData_Log' TON'E:\Sample\SampleData_3.ldf',?NORECOVERY,? NOUNLOAD,? STATS = 10

    --------GO

    ------還原事務日志備份

    --------RESTORE LOG [SampleData] FROM? DISK = N'E:\SampleBack\SampleDataLogBack.bak'WITH? FILE = 1, NORECOVERY,NOUNLOAD,? STATS = 10

    ?

    ----說明:數據庫鏡像的兩種身份驗證方式:證書和Windows身份驗證

    ?

    ----使用基于證書的身份驗證方式設置數據庫鏡像

    -------第一步:配置[出站連接]

    ---------配置主機服務器的出站連接

    ------------master數據庫中創建數據庫主密鑰

    USE master?

    CREATE MASTER KEY ENCRYPTION BY PASSWORD='hdf007@163.com'

    ------------為主機服務器數據庫實例制作一個證書

    USE master?

    CREATE CERTIFICATE HOST_A_Cert WITH SUBJECT='HOST_Acertificate'

    ------------使用該證書為主機服務器數據庫實例創建一個鏡像端口

    CREATE ENDPOINT Endpoint_Mirroring

    STATE=STARTED?

    AS TCP (LISTENER_PORT=7024,LISTENER_IP=ALL)

    FOR DATABASE_MIRRORING (AUTHENTICATION=CERTIFICATE HOST_A_Cert,ENCRYPTION=REQUIREDALGORITHM AES,ROLE=ALL)

    ------------備份HOST_A證書,并將其復制到輔助服務器、見證服務器

    BACKUP CERTIFICATE HOST_A_Cert TO FILE='C:\HOST_A_Cert.cer'

    ?

    ---------配置輔助服務器的出站連接

    ------------master數據庫中創建數據庫主密鑰

    USE master?

    CREATE MASTER KEY ENCRYPTION BY PASSWORD='hdf007@163.com'

    ------------為輔助服務器數據庫實例制作一個證書

    USE master?

    CREATE CERTIFICATE HOST_B_Cert WITH SUBJECT='HOST_Bcertificate'

    ------------使用該證書為輔助服務器數據庫實例創建一個鏡像端口

    CREATE ENDPOINT Endpoint_Mirroring

    STATE=STARTED?

    AS TCP (LISTENER_PORT=7024,LISTENER_IP=ALL)

    FOR DATABASE_MIRRORING (AUTHENTICATION=CERTIFICATEHOST_B_Cert,ENCRYPTION=REQUIRED ALGORITHM AES,ROLE=ALL)

    ------------備份HOST_B證書,并將其復制到主機服務器、見證服務器

    BACKUP CERTIFICATE HOST_B_Cert TO FILE='C:\HOST_B_Cert.cer'

    ?

    ----------配置見證服務器的出站連接

    USE master?

    CREATE MASTER KEY ENCRYPTION BY PASSWORD='hdf007@163.com'

    ---------為見證服務器數據庫實例制作一個證書

    USE master?

    CREATE CERTIFICATE HOST_C_Cert WITHSUBJECT='HOST_C_certificate'

    ---------使用該證書為見證服務器數據庫實例創建一個鏡像端口

    CREATE ENDPOINT Endpoint_Mirroring

    STATE=STARTED

    AS TCP (LISTENER_PORT=7024,LISTENER_IP=ALL)

    FOR DATABASE_MIRRORING (AUTHENTICATION=CERTIFICATEHOST_C_Cert,ENCRYPTION=REQUIRED ALGORITHM AES,ROLE=ALL)

    ---------備份HOST_C證書,并將其復制到主機服務器、輔助服務器

    BACKUP CERTIFICATE HOST_C_Cert TO FILE='C:\HOST_C_Cert.cer'

    ?

    -------第二步:配置[入站連接]

    ---------配置主機服務器的入站連接

    ------------在主機服務器上為鏡像服務器創建一個登錄名

    USE master?

    CREATE LOGIN HOST_B_Login WITH PASSWORD='hdf007@163.com'

    ------------創建一個該登錄名的用戶

    CREATE USER HOST_B_User FROM LOGIN HOST_B_Login?

    ------------使用從鏡像服務器復制過來的證書與此用戶關聯

    CREATE CERTIFICATE HOST_B_Cert AUTHORIZATION HOST_B_UserFROM FILE='C:\HOST_B_Cert.cer'

    ------------授予對遠程鏡像端點的登錄名的 CONNECT 權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO[HOST_B_Login]

    ------------在主機服務器上為見證服務器創建一個登錄名

    USE master?

    CREATE LOGIN HOST_C_Login WITH PASSWORD='hdf007@163.com'

    ------------創建一個該登錄名的用戶

    CREATE USER HOST_C_User FROM LOGIN HOST_C_Login?

    ------------使用從見證服務器復制過來的證書與此用戶關聯

    CREATE CERTIFICATE HOST_C_Cert AUTHORIZATION HOST_C_UserFROM FILE='C:\HOST_C_Cert.cer'

    ------------授予對遠程鏡像端點的登錄名的CONNECT權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO[HOST_C_Login]

    ?

    ---------配置輔助服務器的入站連接

    ------------在輔助服務器上為主機服務器創建一個登錄名

    USE master?

    CREATE LOGIN HOST_A_Login WITH PASSWORD='hdf007@163.com'

    ------------創建一個該登錄名的用戶

    CREATE USER HOST_A_User FROM LOGIN HOST_A_Login?

    ------------使用從主機服務器復制過來的證書與此用戶關聯

    CREATE CERTIFICATE HOST_A_Cert AUTHORIZATION HOST_A_UserFROM FILE='C:\HOST_A_Cert.cer'

    ------------授予對遠程鏡像端點的登錄名的 CONNECT 權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO[HOST_A_Login]

    ------------在輔助服務器上為見證服務器創建一個登錄名

    USE master?

    CREATE LOGIN HOST_C_Login WITH PASSWORD='hdf007@163.com'

    ------------創建一個該登錄名的用戶

    CREATE USER HOST_C_User FROM LOGIN HOST_C_Login?

    ------------使用從見證服務器復制過來的證書與此用戶關聯

    CREATE CERTIFICATE HOST_C_Cert AUTHORIZATION HOST_C_UserFROM FILE='C:\HOST_C_Cert.cer'

    ------------授予對遠程鏡像端點的登錄名的CONNECT權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO[HOST_C_Login]

    ?

    ---------配置見證服務器的入站連接

    ------------在見證服務器上為主機服務器創建一個登錄名

    USE master?

    CREATE LOGIN HOST_A_Login WITH PASSWORD='hdf007@163.com'

    ------------創建一個該登錄名的用戶

    CREATE USER HOST_A_User FROM LOGIN HOST_A_Login?

    ------------使用從主機服務器復制過來的證書與此用戶關聯

    CREATE CERTIFICATE HOST_A_Cert AUTHORIZATION HOST_A_UserFROM FILE='C:\HOST_A_Cert.cer'

    ------------授予對遠程鏡像端點的登錄名的 CONNECT 權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO[HOST_A_Login]

    ------------在見證服務器上為輔助服務器創建一個登錄名

    USE master?

    CREATE LOGIN HOST_B_Login WITH PASSWORD='hdf007@163.com'

    ------------創建一個該登錄名的用戶

    CREATE USER HOST_B_User FROM LOGIN HOST_B_Login?

    ------------使用從見證服務器復制過來的證書與此用戶關聯

    CREATE CERTIFICATE HOST_B_Cert AUTHORIZATION HOST_B_UserFROM FILE='C:\HOST_B_Cert.cer'

    ------------授予對遠程鏡像端點的登錄名的CONNECT權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO[HOST_B_Login]

    ?

    -------第三步:配置鏡像伙伴

    ---------在鏡像服務器上將主機服務器設置為伙伴

    ALTER DATABASE SampleData SET PARTNER='TCP://S1:7024'

    ---------在主機服務器上將鏡像服務器設置為伙伴

    ALTER DATABASE SampleData SET PARTNER='TCP://S2:7024'

    ---------在主機服務器上設置見證服務器

    ALTER DATABASE SampleData SET WITNESS='TCP://S2:7024'

    GO

    ?

    -----以下代碼是在沒有見證服務器的情況下實現手動故障轉移

    ---------若要在高性能模式下配置此會話,在主體服務器實例上,將事務安全性設置為 OFF

    ALTER DATABASE SampleData SET PARTNER SAFETY OFF

    ---------若要在高安全模式下配置些會話,在主體服務器實例上,將事務安全性設置為FULL

    ALTER DATABASE SampleData SET PARTNER SAFETY FULL

    ?

    ---------在高性能模式下,使用下列語句在鏡像服務器上強制執行實現故障轉移,會丟失數據

    ALTER DATABASE SampleData SET PARTNERFORCE_SERVICE_ALLOW_DATA_LOSS

    ---------在高安全模式下,使用下列語句實現手工故障轉移

    ALTER DATABASE SampleData SET PARTNER FAILOVER

    ?

    ---------原來的主服務器恢復,可以繼續工作,需要重新設定鏡像

    ---------在輔助服務器上執行:

    USE master

    ALTER DATABASE SampleData SET PARTNER RESUME? --恢復鏡像

    ALTER DATABASE SampleData SET PARTNER FAILOVER --切換主備

    ?

    ?

    ?

    ----使用基于Windows的身份驗證方式設置數據庫鏡像

    ------------------------------------------------------------

    -- 主機服務器??????????????S1????????? ??????S1\S1User?? --

    -- 輔助服務器??????????????S2??????????????? S2\S2User?? --

    -- 見證服務器??????????????S3??????????????? S3\S3User?? --

    ------------------------------------------------------------

    ---在主機服務器上創建一個鏡像端點

    CREATE ENDPOINT Endpoint_Mirroring STATE=STARTED AS TCP(LISTENER_PORT=7024) FOR DATABASE_MIRRORING (ROLE=ALL)

    ---在主機服務器上為輔助服務器創建一個登錄

    CREATE LOGIN [S2\S2User] FROM WINDOWS

    ---授予對遠程鏡像端點的登錄名的CONNECT權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [S2\S2User]

    ---在主機服務器上為見證服務器創建一個登錄

    CREATE LOGIN [S3\S3User] FROM WINDOWS

    ---授予對遠程鏡像端點的登錄名的CONNECT權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [S3\S3User]

    ?

    ---在輔助服務器上創建一個鏡像端點

    CREATE ENDPOINT Endpoint_Mirroring STATE=STARTED AS TCP(LISTENER_PORT=7024) FOR DATABASE_MIRRORING (ROLE=ALL)

    ---在輔助服務器上為主機服務器創建一個登錄

    CREATE LOGIN [S1\S2User] FROM WINDOWS

    ---授予對遠程鏡像端點的登錄名的CONNECT權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [S1\S2User]

    ---在輔助服務器上為見證服務器創建一個登錄

    CREATE LOGIN [S3\S3User] FROM WINDOWS

    ---授予對遠程鏡像端點的登錄名的CONNECT權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [S3\S3User]

    ?

    ---在見證服務器上創建一個鏡像端點

    CREATE ENDPOINT Endpoint_Mirroring STATE=STARTED AS TCP(LISTENER_PORT=7024) FOR DATABASE_MIRRORING (ROLE=ALL)

    ---在見證服務器上為主機服務器創建一個登錄

    CREATE LOGIN [S1\S1User] FROM WINDOWS

    ---授予對遠程鏡像端點的登錄名的CONNECT權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [S1\S1User]

    ---在見證服務器上為輔助服務器創建一個登錄

    CREATE LOGIN [S2\S2User] FROM WINDOWS

    ---授予對遠程鏡像端點的登錄名的CONNECT權限

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [S2\S2User]

    ?

    ----配置鏡像伙伴

    ---------在鏡像服務器上將主機服務器設置為伙伴

    ALTER DATABASE SampleData SET PARTNER='TCP://S1:7024'

    ---------在主機服務器上將鏡像服務器設置為伙伴

    ALTER DATABASE SampleData SET PARTNER='TCP://S2:7024'

    ---------在主機服務器上設置見證服務器

    ALTER DATABASE SampleData SET WITNESS='TCP://S2:7024'

    ?

    • 將客戶端連接到數據庫鏡像會話 (SQL Server)


    Failover Partner 屬性

    除了初始伙伴名稱以外,客戶端還可以指定應標識當前鏡像服務器實例的故障轉移伙伴名稱。 故障轉移伙伴是由 failover partner 屬性的某個關鍵字指定的。 具體由該屬性的哪個關鍵字指定取決于您所使用的 API。 下表列出了這些關鍵字:

    APIfailover partner 屬性的關鍵字
    OLE DB 訪問接口FailoverPartner
    ODBC 驅動程序Failover_Partner
    ActiveX 數據對象 (ADO)Failover Partner

    標識服務器實例的最簡單方法是指定其名稱 <server_name>[\<SQL_Server_instance_name>]。



    連接字符串示例

    例如,為了使用 TCP/IP 顯式連接到 Partner_A 或 Partner_B 上的 AdventureWorks 數據庫,使用 ODBC 驅動程序的客戶端應用程序可能會提供以下連接字符串:


    "Server=Partner_A;?Failover_Partner=Partner_B;?Database=AdventureWorks;?Network=dbmssocn"

    另外,客戶端還可以使用 IP 地址和端口號標識初始伙伴 Partner_A;例如,如果 IP 地址為 250.65.43.21,端口號為 4734,則連接字符串將為:


    "Server=250.65.43.21,4734;?Failover_Partner=Partner_B;?Database=AdventureWorks;?Network=dbmssocn"



    參考:

    http://liulike.blog.51cto.com/1355103/339183/

    http://hdf007.blog.51cto.com/42396/824297

    http://jingyan.baidu.com/article/3c343ff70c10e10d37796389.html

    https://technet.microsoft.com/zh-cn/library/ms175484.aspx?

    轉載于:https://blog.51cto.com/57388/1851107

    總結

    以上是生活随笔為你收集整理的SQL Server HA - 数据库镜像2 (Mirroring)(1418错误解决)的全部內容,希望文章能夠幫你解決所遇到的問題。

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