您好,登錄后才能下訂單哦!
在異步數據庫鏡像中,移動主數據庫文件實戰
某數據庫部署為異步數據庫鏡像,主數據庫所在磁盤空間不足,我得移動主數據庫文件到新的磁盤上。
在異步數據庫鏡像中,應用程序連接到主數據庫訪問。我們這里要根據你的線上環境考慮選擇哪種方式合適:
1. 手動故障轉移到鏡像庫,然后再移動新的鏡像數據庫文件。
2. 直接移動主數據庫文件。
我個人認為,如果業務無法容忍長時間停機,建議先手工故障轉移到鏡像庫,業務切換連接串。如果此時,新的鏡像庫所在實例上還有其他線上業務數據庫,以業務第一,建議重做鏡像,將數據庫文件放到新的位置。待鏡像搭建完成后,再重新手工故障轉移回來,業務也指向回來。
由于我們線上業務恰好有停機維護時間窗口。在此期間,我直接移動主數據庫。下面,我們先來嘗試在業務停機期間,直接移動主數據庫文件。
1. 在主數據庫上做完整備份,避免出現問題。
2. 在主庫上點擊“Pause”,暫停鏡像會話。
3. 在主庫上使用Alter Database指向一個新的位置。
a) 確定WMS數據庫的邏輯文件名稱以及這些文件在磁盤上的當前位置。
SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('WMS'); GO
b) 使用 ALTER DATABASE更改每個文件的位置。
USE master; GO ALTER DATABASE WMS MODIFY FILE (NAME = FLUXWMS_DEMO, FILENAME = ' H:\SQL-LOG\WMS.mdf'); GO
4. 重啟主數據庫所在實例的SQL Server服務。(這里對于主數據庫所在實例上還有其他業務數據庫,務必得考慮對其他業務的影響,我們選擇移動鏡像數據庫文件的第二種方法)
5. 移動主數據庫文件到一個新位置,并確保文件上的權限也還在。
6. 使WMS數據庫 OFFLINE 再 ONLINE,以實施更改。(當然,此時重啟SQL Server服務應該也可以,但如果操作的主庫所在實例上有其他業務數據庫,會受到影響,建議還是在數據庫級別操作)
USE master GO ALTER DATABASE WMS SET OFFLINE ALTER DATABASE WMS SET ONLINE GO
這時,我們再來看看數據庫狀態。
在主庫上:
發現狀態已經正常。
7. 在主庫上點擊“RESUME”,恢復鏡像會話。驗證鏡像狀態已同步。
這樣也驗證了Alter Database移動數據庫文件的操作是修改了master系統數據庫,而不會被同步到鏡像數據庫。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。