SQL Server misaligned log IOs which required falling back to synchronous IO

There have been 27888384 misaligned log IOs which required falling back to synchronous IO.
某一次在Production換新機後,突然Secondary狂噴如標題的Error。
Google後發現可能是Disk sector不Align的問題。

使用下列語法查詢Disk的狀態。

fsutil fsinfo ntfsinfo
繼續閱讀 “SQL Server misaligned log IOs which required falling back to synchronous IO"

Waittype:DBMIRROR_DBM_EVENT

你是否曾經看過DBMIRROR_DBM_EVENT?

如果查詢官方網站MSDN你會發現微軟官方並沒有太多的紀錄,只有說明這是內部使用。

https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-wait-stats-transact-sql?view=sql-server-2017
繼續閱讀 “Waittype:DBMIRROR_DBM_EVENT"

Connection String 中的 Failover Partner Parameter

相信大家都知道Connection String可以設定Failover Partner在有Mirroring的環境上。當主體伺服器發生問題時,能夠Failover連線到另外一台鏡像伺服器。

但是大家對於鏡像環境建立Connection String的Failover Partner Parameter通常都有不太清楚的理解。

理論上來說,當成功連接Principle SQL Server,data access provider 會向目前已連線的SQL Server下載Failover Partner在Client端並Cache,之後,.NET Framework Data Provider for SQL Server 就不會更新Failover Partner。 然而,假設Principle SQL Server突然掛了,Client連線不到Principle SQL Server,後續則會透過Connection String中的Failover Partner Parameter連接SQL Server,假如此時和Failover Partner Parameter中的SQL Server連線順利建立,SQL Server則會傳遞【新】的Failover Partner給Client端並Cache。

所以其實有兩種情況

  1. 當連線順利建立,data access provider 會向目前已連線的SQL Server下載Failover Partner
  2. 若第一次連線無法建立成功,則 data access provider tries透過Connection String中的Failover Partner Parameter試著連線,若是連線成功,則會向目前已連線的SQL Server下載Failover Partner

繼續閱讀 “Connection String 中的 Failover Partner Parameter"