f 三月 2019 ~ 迪貝之家

Microsoft SQL Server Log Shipping

SQL 7就有的技術,簡單的說就是資料庫複本資料同步的技術,而這份複本可以開放讀取的功能以分散營業資料庫的負載,也可純粹當成備援資料庫,不管是在本地還是異地。怎麼達成? 透過SQL Agent自動化排程進行備份、傳檔及復原等作業。

Oracle GolGateden

機房搬遷跨Site能即時同步資料庫利器

Nagios 資料庫維運自動化

一開始設計這架構時,就排除使用remote agent的想法因為在專業分工的組織下,要求安裝新軟體於既有系統是一件不太可行的方案,既然身為DBA就只能把資料庫instance當作是一個最大的agent 想辦法在資料庫內做到我想做的事情

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

地端思維管理AWS SQL Server RDS可行否 ??

最近有個專案一大半要上AWS 公有雲,所以這兩天研究了一下,我在地端的管理方式是否能夠套用在AWS SQL Server RDS。答案其實是肯定的,如果說做不到,我只能說是你在地端的管理功力不夠。
我貼過四篇怎麼在地端進行日常檢核的文章 ,在AWS SQL RDS都做得到


T-SQL 查看SQL Server 系統記錄檔
T-SQL 查看windows 邏輯磁碟的可用空間
SQL Server FIle Group空間檢核
T-SQL 查看自行設定的 Long Query




差異是在RDS上沒辦法給sysadmin的權限,所以AWS 應該是用definer的方式寫出一些它自己的函式來帶入sa 權限幫你的帳號執行系統管理的工作,如查看error log所用到的函式 --master.dbo.xp_readerrorlog,RDS 的master user是沒有權限執行的,所以AWS 把它包在了自己提供的函式-- rdsadmin.dbo.rds_read_error_log 裡了,因為它可以直接取代掉我程式中的xp_readerrorlog 。


再來是檢核作業系統邏輯磁碟空間的使用狀況,在T-SQL 查看windows 邏輯磁碟的可用空間所用到的xp_fixeddrives當然在RDS也是不能使用的,但我發現sys.dm_os_volume_stats這個DMF的資料比它還好用,想了解細節的話,google一下就找得到了。

公有雲資料庫難管之處我認為是因為為了安全考量,應該都會把它放在private subnet內,沒辦法使用SSMS來管理SQL Server RDS,我的環境就只能使用sqlcmd來透過文字介面管理RDS,我也是透過sqlcmd 進行whoisactive 部署及sql server agent job的排程。

怎麼在WSFC FCI 的環境下進行master資料庫的備份還原



你在網路上找到的資料應該都是單機環境的,微軟的文件有一個很重要步驟沒提到,少了該步驟做得出來,我就輸給你。底下我在同一個domain下進行db clone的實際步驟:
停掉FCI 但不把DISK 及SQL VIP下線的方式


這是SQL SERVER角色上線的狀態
FCI





單只停掉FCI
MSSQL FCI








最後狀態應該如下
MSSQL FCI













為甚麼我要特別提出來?如果你從角色畫面停掉SQL SERVER FCI ,會把share disk及sql vip一併下線,所以一定得從角色下半部的畫面來進行。Disk及VIP下線的話,會讓要帶起SQL SERVER進入Single User Mode的下一個步驟失敗。你自己想看看吧!! 沒有storage的狀況下,sql server 能帶得起來嗎?我們先把sql server 帶入single user mode吧~~

sql server single user mode





如果在一個分工明確及各Team有自己權限的組織架構下,你認為真這麼單純就能把singe user mode帶的起來的話!!那你就慢慢帶吧.......指令下了幾百遍 ,你也帶不起instance。因為少了底下很重要的步驟在你叫起cmd時一定得做
start single user mode











一旦single user mode instance 帶起之後,就可以如Internet上所查到的其他網頁資料一樣,透過sqlcmd來進行restore master資料庫
這是不帶Administrator權限叫起cmd的時候,將SQL SERVER帶起single user mode出錯的畫面
MSSQL Server Single User Mode
這是SQL VIP沒帶起來,SQL SERVER帶不起single user mode出現在event log及sql server error log的訊息
mssqlserver single user mode


最後,請參考微軟的步驟來重新命名主控 SQL Server 獨立執行個體的電腦

進行master資料庫的回復的好處是在於,要回復msdb及ssisdb時,你不用再進行額外的步驟了


server link decrypt error 15466
####2020/08/25#######
今天處理一個單機的server link
因為是2008R2企業版平移
所以我是把master資料庫原系統備出
傳到了新環境還原
但server link卻發生了解密錯誤
查了Internet,說是透過底下指令來解決
ALTER SERVICE MASTER KEY FORCE REGENERATE
也確實解決了
但所有的server link都得重建
原文請見
SQL2005 15466錯誤“解密過程中出錯”原因和解決辦法
查了該指令之後....原來如此
因為server link定義內的密碼
會被用service master key來加密
這就難怪了....

Alter Service Master Key

Log Shipping 跨Site搬遷的實際案例



Log Shipping

因為業務複雜,只能逐步遷移,所以整個時程長達半年,初步建置嘗試透過鏡像機制來同步資料,但標準版僅支援Double Commit即時方式,怕影響AP效能,改採Log Shipping

1.A 資料庫為Log Shipping 的source
   B 資料庫為Log Shipping 的複本
   業務逐步遷移的過程中AP單位把在板橋執行業務的資料
   寫入C資料庫

2.AP單位負責把寫入C資料庫的資料抄回A資料庫,再由Log 
   Shipping 機制同步至B資料庫

3.正式切換Site時,更名B資料庫為C資料庫



Log Shpping 切換步驟
建置Log Shipping案例中的trouble
怎麼進行從屬資料庫的日常檢核,以判斷資料同步無異狀
依據微軟出版的專書

SQL Server 2017 Administration Inside Out