作為一個(gè)MSSQL數(shù)據(jù)庫管理員,啟動(dòng)和停止SQL服務(wù)經(jīng)常會(huì)深受困擾,尤其是一次啟動(dòng)服務(wù)卻又奇怪地自動(dòng)停止,讓管理員陷入糾結(jié)當(dāng)中。
首先,我們應(yīng)該理解原因,大多數(shù)情況下,一次啟動(dòng)就再次停止是因?yàn)閮?nèi)存不足,或者是一些外部Runtime組件發(fā)生變化。
其次,檢查磁盤空間,檢查是否有大量不需要的文件被復(fù)制了或者直接丟棄,在一些極端情況下,我們需要聯(lián)系磁盤管理員清楚無用文件,以便確保SQL服務(wù)能正確啟動(dòng)。
此外,在安裝新技術(shù)之后,仔細(xì)檢查網(wǎng)絡(luò),確保部署時(shí)行為正常,如果仍然有問題,可以通過rule 禁用一些特定的組件,這可以通過下面的代碼來實(shí)現(xiàn):
C://>netsh firewall set rule name="[Policy Name]" protocol=tcp new enable=no
另一個(gè)要檢查的地方是用戶權(quán)限,確保用戶有足夠的權(quán)限來管理SQL服務(wù)器服務(wù),如果用戶沒有足夠的權(quán)限,可以通過運(yùn)行MSSQLSERVER 啟動(dòng)后添加系統(tǒng)管理員賬戶,這可以通過以下代碼實(shí)現(xiàn):
C://>SQLcmd -U -P -Q "EXECUTE sp_addsrvrolemember @loginmame= 'sysadmin', @rolename = 'sysadmin'"
最后,嘗試在日志上進(jìn)行搜索,關(guān)注系統(tǒng)日志,查看SQL服務(wù)啟動(dòng)和停止的錯(cuò)誤,大多數(shù)情況下,日志里面都會(huì)有有用的信息。
總而言之,MSSQL服務(wù)的啟停著實(shí)糾結(jié),但是我們可以通過上述步驟,正確的檢查環(huán)境和權(quán)限、運(yùn)行正確的代碼,進(jìn)而查找出導(dǎo)致一次啟動(dòng)卻又自動(dòng)又停止的原因,并且采取適當(dāng)?shù)拇胧┙鉀Q問題。