SQLServer2008-鏡像數據庫實施手冊(雙機)SQL-Server2014同樣適用

SQL Server2008R2-鏡像數據庫實施手冊(雙機)SQL Server2014同樣適用

一、配置主備機

1、?服務器基本信息

主機名稱為:HOST_A,IP地址為:192.168.1.155

備機名稱為:HOST_B,IP地址為:192.168.1.156

二、主備實例互通

實現互通可以使用域或證書來實現,考慮實現的簡單,以下選取證書的方式實現。注意:實現“主備數據庫實例互通”的操作只需要做一次,例如為了將兩個SQL Server 2008的實例中的5個數據庫建成鏡像關系,則只需要做一次以下操作就可以了;或者這樣理解:每一對主備實例(不是數據庫)做一次互通。

1、創建證書(主備可并行執行)

--主機執行:

--如果有endpoint,master key先刪除

--select * from master.sys.database_mirroring_endpoints
--DROP ENDPOINT Endpoint_Mirroring
--drop master key;

USE master;??

ALTER SERVICE MASTER KEY FORCE REGENERATE

?

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456';??

CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate' ,??

START_DATE = '2012-08-02',??

EXPIRY_DATE = '2099-08-02';?

?

--備機執行:

--如果有endpoint,master key先刪除

--select * from master.sys.database_mirroring_endpoints
--DROP ENDPOINT Endpoint_Mirroring
--drop master key;

USE master;??

ALTER SERVICE MASTER KEY FORCE REGENERATE

?

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456';??

CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate',??

START_DATE = '2012-08-02',??

EXPIRY_DATE = '2099-08-02';?

?

?

2、創建連接的端點(主備可并行執行)

--主機執行:?

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 = ALL );?

?

--備機執行:

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 = ALL );

?

?

3、備份證書以備建立互聯(主備可并行執行)

--主機執行:

BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\SQLBackup\HOST_A_cert.cer';?

?

--備機執行:

BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\SQLBackup\HOST_B_cert.cer';

?

?

4、互換證書

將備份到C:\SQLBackup\的證書進行互換,即HOST_A_cert.cer復制到備機的C:\SQLBackup\。HOST_B_cert.cer復制到主機的C:\SQLBackup\。

5、添加登陸名、用戶(主備可并行執行)

以下操作只能通過命令行運行,通過圖形界面無法完成。(截至SQL Server2005的補丁號為SP2)

--主機執行:

CREATE LOGIN HOST_B_login WITH PASSWORD = '123456';??

CREATE USER HOST_B_user FOR LOGIN HOST_B_login;??

CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:\SQLBackup\HOST_B_cert.cer';??

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

?

--備機執行:

CREATE LOGIN HOST_A_login WITH PASSWORD = '123456';??

CREATE USER HOST_A_user FOR LOGIN HOST_A_login;??

CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'C:\SQLBackup\HOST_A_cert.cer';??

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

?

?

三、建立鏡像關系

以下步驟是針對每個數據庫進行的,例如:現有主機中有5個數據庫以下過程就要執行5次。

1、?手工同步登錄名和密碼

在上文中提到數據庫鏡像的缺點之一是無法維護登錄名,所以需要我們手工維護登錄。

通常來說數據庫都將會有若干個用戶作為訪問數據庫的用戶,并且數據庫會有相應的登錄名,但是在備機中缺少與之相對應的登錄名,例如某業務系統使用’myuser’作為登錄名訪問數據庫,但是在備機中沒有’myuser’這個登錄名,因此一旦主備切換,業務系統就無法登錄數據庫了,這種情況稱為"孤立用戶"。在主機和備機數據庫上建立相同用戶名及密碼即可

?

?

2、?準備備機數據庫(主機備份及鏡像還原)

在主機上備份數據庫,先做完整備份,再做日志事務備份。

1、主數據必須設置成完整模式進行備份,如下圖:

?

? 上圖中將“恢復模式”選成“完整模式”。

2、備份數據庫,如下圖:

?

備份時將“備份類型”選成“完整”。

3、備份事務日志,如下圖:

?

將“備份類型”選成“事務日志”且備份目錄與備份數據庫的目錄一致。

將主機的備份文件拷貝到備機上,在備機上使用主機的全備文件進行還原,在還原數據的時候需要使用選上“with non recover”。如圖所示:

?

?

?

?

?

如果執行成功數據庫將會變成這個樣子:

3、?建立鏡像

--在備機中執行如下語句:

ALTER DATABASE shishan SET PARTNER = 'TCP://192.168.1.155:5022';

說明:shishan為數據庫名,需要根據實際進行修改。192.168.1.155為主機IP地址,需根據實際進行修改。

--主機執行:

ALTER DATABASE shishan SET PARTNER = 'TCP://192.168.1.156:5022';?

說明:shishan為數據庫名,需要根據實際進行修改。192.168.1.156為備機IP地址,需根據實際進行修改。

?

執行成功后:

?

?

到此,SQL鏡像熱備配置完成。

?

四、常見命令

?

--切換主備(在主機principle數據庫所在HOST上執行)

use master;

alter database testdb set partner failover;

?

-- 備機強制切換(在備機上數據庫狀態非同步狀態下可執行)

use master;

alter database testdb set partner force_service_allow_data_loss;

?

--恢復鏡像

use master;

alter database testdb set partner resume;

?

?

--取消見證服務器

ALTER DATABASE testdb SET WITNESS OFF ;

?

--取消鏡像(在主機principle數據庫所在HOST上執行)

ALTER DATABASE testdb SET PARTNER OFF;

?

--設置鏡像數據庫還原為正常

RESTORE DATABASE testdb WITH RECOVERY;

?

備份主數據庫出現:Backup a database on a HDD with a different sector size,可以執行以下語句備份:

BACKUP DATABASE MyDB TO? DISK = N'D:\MyDB.bak' WITH? INIT , NOUNLOAD ,? NAME = N'MyDB backup',? STATS = 10,? FORMAT

?

總結

要進行以上sql server的鏡像設置一定要使用sql server 的配置管理器開啟TCP/IP協議,如下圖

?

如果沒有啟用TCP/IP協議則只能在同一個網段內的機器配置鏡像,前面的配置步驟里面所用到的IP地址要換成對應的實例名。同一個網段配置并使用鏡像的時實性、傳輸速率更高,適用于大數據量的同步,跨網段或者跨公網的sql server 鏡像一般適用于數據量小,時實性要求不高的數據同步,而且數據庫在公網上同步也不安全。

轉載于:https://www.cnblogs.com/stragon/p/5643754.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287123.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287123.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287123.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一萬字一篇文20分鐘學會C語言和Python,十四年編程經驗老鳥傳授經驗之道

前言 昨天在直播中有粉絲問我如何快速的對編程語言入門,我想這個問題是有必要讓大家知道的,相必也有很多新手對于如何快速完成編程語言的入門學習很感興趣,本篇文將會使用 C 語言以及 Python 為例,做出對比,讓大家對編…

C語言基于dag的基本塊優化,基于dag的基本塊優化參考.docx

基于dag的基本塊優化參考基于DAG的基本塊優化1.實驗目的與任務了解基本塊的DAG表示及其應用,掌握局部優化的基本方法。2.實驗要求設計一個轉換程序,把由四元式序列表示的基本塊轉換為DAG,并在構造DAG的過程中&#xff…

【Python可視化】Windows 10系統上Pyecharts安裝教程

簡單的Python庫,如Numpy,可以直接在PyCharm中自動下載并安裝。 同添加Python環境變量一樣,需要先添加pip環境變量。pip位于C:\Python27\ArcGIS10.8\Scripts路徑下。 WinR→cmd: 安裝完成!

使用.Net分析.Net達人挑戰賽參與情況

背景C#是我2012年在大學課程中接觸的,.NET Framework 我也一直使用至今。從2014年.NET 開源,2019年發布.NET Core 3 的時候,公司剛好有 Nvidia Jetson 平臺 Linux 嵌入式設備的開發任務,.NET 又剛是適用于 Windows, Linux, 和 mac…

Android之RecycleView實現指定范圍的拖動效果

1 問題 在RecycleView里面實現指定位置的拖動效果,(這里是實現線性布局的,不是網格布局的) @Overridepublic boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {Log.i(TAG, "onMove viewHolder.getA…

十分鐘如何學會C語言?掌握規律舉一反三考試提50分!

前言 上周寫了一篇 20 分鐘學會 C 語言與Python的文章——《一萬字一篇文20分鐘學會C語言和Python,十四年編程經驗老鳥傳授經驗之道》,之后見粉絲轉了一個話題“十分鐘如何學會C語言”,我就在想是否能夠十分鐘呢?答案是可以的&am…

異常何時去捕獲

在業務邏輯層捕獲異常。 工具類中不可處理異常,有異常要向外拋!!!轉載于:https://www.cnblogs.com/swbzmx/p/5643756.html

c語言在win8系統不兼容,Win8系統中存在不兼容軟件如何解決?

最近有剛升級Win8系統的用戶反映,FastStone Capture截圖軟件在Win7系統中可以兼容,正常打開,可是在Win8系統中就不能兼容了,這讓用戶非常煩惱。那么,Win8系統中存在不兼容軟件如何解決呢?下面,我…

Python 3.6出現報錯解決方案:No Python 3.6 installation was detected,無法卸載Python

卸載Python 3.6時錯誤提示,No Python 3.6 installation was detected。 解決辦法是,先右鍵→更改→Repair。 然后再卸載,完成!

Android之解決ScrollView嵌套RecycleView導致滑動沖突或者顯示不全的問題

1 問題 ScrollView嵌套RecycleView導致滑動沖突或者顯示不全的問題 2 解決辦法 1)、ScrollView替換成普通布局,然后RecycleView用的BaseMultiItemQuickAdapter多布局來寫,也就是整個頁面只有一個RecycleView,用來取代ScrollView…

MASA Auth - 權限設計

權限術語Subject:用戶,用戶組Action:對Object的操作,如增刪改查等Object:權限作用的對象,也可以理解為資源Effect:規則的作用,如允許,拒絕Condition:生效條件…

iOS js oc相互調用(JavaScriptCore)

http://blog.csdn.net/lwjok2007/article/details/47058795轉載于:https://www.cnblogs.com/wlsxmhz/p/5645985.html

Android怎么自定義listview布局,Android ListView自定義布局

編輯:找一個 “開箱即用” 的帖子的末尾例子!因為你看到多行受到影響我猜它有些事情要做系統如何回收資源,也許對Button的引用是不明確的。我不確定我在哪里選擇了這種做法(Android教程或我們以前的開發人員通過這些教程學習了Android)。然而…

【必懂】C語言水仙花數題解

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我,若你是真心學習可以送你書籍,指導你學習,給予你目標方向的學習路線,無套路,博客為證。 前言 本專欄內容將會以輕松、簡單的方式完成習題的解答,用…

Android之點擊圖片底部出現灰色圓圈效果

1 需求 點擊圖片底部出現灰色圓圈效果 2 代碼實現 1、num_oval_gray_def.xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"androi…

【ArcGIS風暴】ArcGIS 10.8中計算體積的方法總結

ArcGIS 10.8提供了表面體積和面體積兩種計算體積的方法。 一、表面體積 用途:用于計算表面和參考平面之間區域的面積和體積。 Situation 1:參考面以上 Situation 2:參考面以下 Python腳本: import arcpy from arcpy import envarcpy.CheckOutExtension("3D")…

.NET7:更細致的時間

當年在做go時&#xff0c;很羨慕它的時間有微秒&#xff0c;納秒&#xff0c;在做性能優化時&#xff0c;能很小顆粒度的查看引入方法執行的時間&#xff0c;當時.net的DateTime只有毫秒&#xff08;雖然也有別的辦法獲取&#xff09;。現在&#xff0c;在最新的.NET7 Preview4…

集合轉數組

akdfajf //集合轉數組 // StringBuffer sql new StringBuffer(); // String[] arr new String[hjPztTalentInfos.size()]; // for (int i 0; i < hjPztTalentInfos.size(); i) { // arr[i] hjPztTalen…

Android之解決AppBarLayout 下面一道陰影

1 問題 AppBarLayout 下面寫了其它布局&#xff0c;但是當這個布局滑動到上面時候&#xff0c;AppBarLayout 下面有一道陰影 2 解決辦法 對AppBarLayout設置一個屬性&#xff1a; app:elevation"0dp"

案例:無人測量船水庫水下地形測量及庫容量計算

本文講解利用南方方洲號無人船,該系統可用于水下地形地貌測繪、水庫庫容測量、水文勘測、疏浚檢測、水環境監測等領域。 一、無人船水深測量 1、水岸線范圍的獲取 水岸線有助于布設航線,獲取方式有兩種: (1)無人船獲取 對于