2019年12月4日 星期三

SQL 2016 Log shipping 待命模式




 SQL 2016 Log shipping 待命模式



試驗SQL 容錯/備援機制中,自SQL Server 7.0 就有的Log Shipping
建議在看網路上其他高手/前輩們的筆記時,先看微軟的文件。
https://docs.microsoft.com/zh-tw/sql/database-engine/log-shipping/about-log-shipping-sql-server?view=sql-server-ver15
會有比較合適的架構觀念


1,將復原模式設為「完整」






2,上面路徑要用網路路徑,下面的本機路徑似乎可不用寫。







3,這邊的路徑一樣是網路路徑




4,這次試驗是用待命模式




5,設定成功的畫面




6,在備用伺服器就可看到出現 待命/唯讀  的文字






以上的安裝步驟,大多是參考網路上的強者。
不過,由於Log Shipping 是很舊的技術,可能在SQL 2016上用的人就少。
遇到一個奇怪的狀況:無法寫入備份資料夾


改了帳號與相關設定,還是無法運作,就想到上次
Database mail 與 .NET Framework 3.5 的事,
因此換了關鍵字搜尋,找到了這篇
https://support.microsoft.com/en-gb/help/3173666/the-net-framework-3-5-is-required-when-you-configure-sql-server-2016-a

裝好後,果然就運作了.........(無奈呀!
)

2019年12月3日 星期二

Database Mail 疑難雜症:收不到信


Database Mail 疑難雜症:收不到信


新設定的SQL 備份完成了,但就是沒有收到通知信,看Database Mail 記錄就是空的。一開始以為是設錯,比對其他台SQL 的寄信通知,找不出錯誤。

參考了微軟的文件:





先重啟Database mail
EXEC msdb.dbo.sysmail_stop_sp;
EXEC msdb.dbo.sysmail_start_sp;


嗯~無效


再由文件中看到:
exec msdb..sysmail_help_queue_sp
中「郵件佇列應該為 RECEIVES_OCCURRING 狀態」
但遇到的狀況為 inactive,卻沒收到信
唉~整個無解。

最後又找到篇微軟文件:



其中有提到: Manually install .Net Framework 3.5 on the machine



這時才想到,這台並沒安裝.Net Framework 3.5
裝好後....Database mail 就活回來了。