SQL2008資料庫映象操作

2021-07-26 23:29:08 字數 4919 閱讀 5813

1.      檢視終端點 select* from sys.endpoints

2.      刪除某終端點(終端點不帶引號)   drop endpoint

3.      刪除證書  在master | security |certificates (drop master key...)

4.      刪除使用者  在master | user

5.      然後可以刪除登入名  drop login

6.      修改masterkey  :  alter master key drop encryption by service master key

7.      刪除masterkey  : drop master key

8.      刪除映象的命令:alter databse set partner off

刪除證書:

drop

master  

key  //

先執行,如果提示某個證書無法刪除,在用下面的語句執行

drop

certificate 

host_a1_cert  // host_a1_cert

為具體證書名

alter

master

keydrop

encryption

byservice

master

key //

未測試過

刪除終端點

select

*from  

sys.

endpoints  //

查詢後,將刪除的名稱用下面語句

drop

drop

endpoint映象

刪除映象檔案語句:

alter

database 

aa  

set  

partner 

off //

執行後在手動刪除

aa資料庫

修復清除  host_a_user   使用者、組或角色 'host_a_user' 在當前資料庫中已存在。

drop user host_a_user

在手動刪除sql登入名裡的host_a_user

提示錯誤:此備份集中的日誌開始於   lsn   641000000005900001,該   lsn   太晚,無法應用到資料   庫

原因是主機上的主資料庫還在執行中,此時主機資料庫備份出來後,軟體還在對資料庫進行操作,而此時備份出來的資料庫還原到備機時,日誌已經晚於主機上的。

辦法:停掉可以操作該資料庫db對應的軟體,讓其不會在對該資料進行操作,然後在備份資料庫和日誌分別匯入

檢查主機上該資料庫屬性-選項-自動關閉,選為false

1.

建立證書,實現互通的根本

--主機

use master;

create master key encryption by password ='clq';

create certificate host_a_cert with subject = 'host_a certificate' , 

start_date = '01/01/2017';

--備機

use master;

create master key encryption by password ='clq';

create certificate host_b_cert with subject = 'host_b certificate', 

start_date = '01/01/2017';

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 ='d:\host_a_cert.cer';

--備機

backup certificate host_b_cert to file ='d:\host_b_cert.cer';

4.

主備之間互換證書

將主機上產生的證書host_a_cert複製到備機上,將備機上產生的證書host_b_cert複製到主機上,放在第5步指定的目錄

5.

新增主備登陸使用者

--主機

create login host_b_login with password ='clq';  --主機上登入到備機的使用者

create user host_b_user for login host_b_login;

create certificate host_b_cert authorization host_b_user from file = 'd:\host_b_cert.cer';

grant connect on endpoint::endpoint_mirroring to [host_b_login];

--備機

create login host_a_login with password ='clq';  --備機上登入到主機的使用者

create user host_a_user for login host_a_login;

create certificate host_a_cert authorization host_a_user from file = 'd:\host_a_cert.cer';

grant connect on endpoint::endpoint_mirroring to [host_a_login];

檢查主機上該資料庫屬性-選項-自動關閉,選為false

6、主機執行資料庫aa備份,注意備份型別選【完整】,儲存為aa;然後在進行一次aa備份,備份型別選【事務日誌】,儲存為aa1。

7、備機上將上述兩個檔案aa,aa1複製到本地磁碟進行備機資料庫還原,還原時【選項】卡里要將【恢復狀態】選擇為【不對資料庫進行任何操作…..restore with norecovery】,aa1還原時一樣執行本操作。

8.

增加映象夥伴,需要先在備機上執行,再執行主機

--備機

alter database aa set partner = 'tcp:';

--主機

alter database aa set partner = 'tcp:';

提示錯誤:此備份集中的日誌開始於   lsn   641000000005900001,該   lsn   太晚,無法應用到資料   庫

原因是主機上的主資料庫還在執行中,此時主機資料庫備份出來後,軟體還在對資料庫進行操作,而此時備份出來的資料庫還原到備機時,日誌已經晚於主機上的。

辦法:停掉可以操作該資料庫db對應的軟體,讓其不會在對該資料進行操作,然後在備份資料庫和日誌分別匯入

執行成功以後,主機上資料庫backuptest會顯示主體正在同步字樣,備機資料庫會顯示正在還原字樣。若上述步驟

有報日誌錯誤,則還需從主機上備份日誌檔案,然後在備機上還原,還原日誌時同樣需要指定norecovery

9

、測試

1、主備互換

--主機執行:

1 use master;

2 alter database set  partner failover;

--執行後備機aa資料庫可操作,主機aa資料庫變成映象

2、主伺服器down掉,備機緊急啟動並且開始服務

--備機執行:

1 use master;

2 alter database set  partner force_service_allow_data_loss;

--執行後備機也可直接對aa資料庫進行操作

3、原來的主伺服器恢復,可以繼續工作,需要重新設定映象

1 --備機執行:

2 use master;

3 alter database set  partner resume; --恢復映象

4 alter database set  partner failover; --切換主備

4、原來的主伺服器恢復,可以繼續工作

--預設情況下,事務安全級別的設定為 full,即同步執行模式,而且sql server 2005 標準版只支援同步模式。

--關閉事務安全可將會話切換到非同步執行模式,該模式可使效能達到最佳。

1 use master;

2 alter database set  partner safety full; --事務安全,同步模式

3 alter database set  partner safety off; --事務不安全,非同步模式

SQL 2008 高可用 資料庫映象概述

資料庫映象 是用於提高資料庫可用性的主要軟體解決方案。映象基於每個資料庫實現,並且只適用於使用完整恢復模式的資料庫。簡單恢復模式和大容量日誌恢復模式不支援資料庫映象。因此,所有大容量操作始終被完整地記入日誌。資料庫映象可使用任意支援的資料庫相容級別。注意 不能映象 msdb 或 資料庫。資料庫映象維...

SQL2008資料庫級角色

db owner db owner固定資料庫角色的成員可以執行資料庫的所有配置和維護活動,還可以刪除資料庫。db securityadmin db securityadmin固定資料庫角色的成員可以修改角色成員身份和管理許可權。向此角色中新增主體可能會導致意外的許可權公升級。db accessadm...

SQL2008附加資料庫報錯

sql server 2008如何匯入mdf,ldf檔案網上找了很多解決sql server匯入其他電腦拷過來的mdf檔案,多數是不全,遇到的解決方法不一樣等問題,下邊是找到的解決問題的最全面方法!將mdf,ldf檔案匯入到sql server 2008資料庫當中,下面提供兩種辦法 第一種 1 選擇...