iT邦幫忙

0

MSSQL 環境,Client端約50台電腦全部突然停電,復電後很難連上SQL Server

  • 分享至 

  • xImage

Hi 各位專家、先進好:

想請教以下這種狀況,不知道有沒有人遇過?

因為小弟我能看的都看過了,還是找不出原因,想上來問問大家的經驗。

先謝謝各位了!

一、環境描述:
伺服器端:
Windows Server 2008 R2
Microsoft SQL Server 2008
有Online UPS保護

Client端:
Windows XP、7、10 各式電腦,約50台,皆與上述的SQL Server連線。
沒有UPS保護

二、問題:
Client端因為台電無預警停電約30秒,導致所有電腦都關機(斷線),復電之後,Client端連SQL Server 常常斷線、收到伺服器沒有回應之類的訊息,或是甚至連不上。

此時ping SQL Server的IP,是通的,而且沒有順斷。

進SQL Server的資源監視器察看,一切正常,資源等候最高也就50ms、平均等候者0.x位、IO讀寫,每秒也就幾十KB、回應時間最高3、400ms,其餘都5~30ms

查看Dead Lock,有500多個,全部殺掉之後,Client端的狀況一樣沒改善.

netstat查看連線狀況,也就100多條連線而已....

三、解決方式:
Server重新開機後就正常了..

看更多先前的討論...收起先前的討論...
我已經把SQL SERVER換成XEON 16核心,40GB RAM,4顆SSD組RAID5,一顆HDD做每日備份,另在NAS上做10天循環備份,200人的公司,經常在線的SQL連結不低於30,已經快3年沒遇過資料死鎖的狀況了
77012904 iT邦新手 3 級 ‧ 2019-08-06 17:19:44 檢舉
不過我的環境平常在跑,本來就沒有deadlock了。 我要問的是,所有client端全部同時間非正常斷線,是否會導致資料庫連接狀態的異常. 進而讓後續再進來的連線受到影響.
player iT邦大師 1 級 ‧ 2019-08-06 18:32:06 檢舉
你們的架構不覺得奇怪嗎?50台的用戶端直接連SQL Server嗎?
這樣不會覺得風險有點高?
如果你們以後把架構升級或改寫的話, 建議中間多一台應用程式伺服器做隔離
不要讓用戶端直接連進資料庫, 以降低資料庫發生資料死鎖的頻率
froce iT邦大師 1 級 ‧ 2019-08-06 19:54:14 檢舉
我看了也很想問上面說的這點...
直連也太...
應該是這樣的架構才安全..
50台電腦←.→Win Server←.→SQL Server...
不意外,很多台灣中小資訊公司.......( 我還不太想稱他們做SI ) 做的ERP、進銷存........都是用C/S架構,也就是電腦都要穩過1433端口連接資料庫.......
有些厲害一點的還會用EF,不過本質上,還是C/S,也就是1433,只供內網,外網還要開VPN

會知道要用N-TIER框架做系統的,還真是屈指可數
77012904 iT邦新手 3 級 ‧ 2019-08-08 20:32:04 檢舉
我們是當然不是直接用SSMS連DB,而是透過應用軟體去連。 我的問題哪一點讓樓上幾位認為是SSMS直接連DB???? 還是樓上幾位只是純粹想要靠著貶低別人來提升自己的價值?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
richardsuma
iT邦大師 1 級 ‧ 2019-08-08 14:39:00

Server重新開機後就正常了..
表示停電30秒造成 SQL server、AD、Switch與Client端之間出現了問題。
Switch 有UPS嗎?

77012904 iT邦新手 3 級 ‧ 2019-08-08 20:32:51 檢舉

Edge端Switch有的有UPS,有的沒有。

我要發表回答

立即登入回答