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 選擇...