今天查了一下sqlserver windows nt-64 bit 內存占用過多 右鍵設置下最大內存它的占用內存可以降低一些
於是我手賤把本地的設置成100M 設置太小造成sql服務無法啟動 還好沒有動服務器上的
解決方案:
1.正常關閉SQL Server服務,如果是集群,需要先關停止集群角色防止故障轉移,然后再單獨關閉服務。 cmd命令:net stop mssqlserver --注意這一步可能會使實例處於掛起狀態很長時間,但是正常關閉是必須的,直接殺進程可能造成數據文件損壞。
2.找這個sqlservr.exe的目錄(每個人的物理地址可能多少有差異,請注意),啟動cmd,並執行命令: 首先開啟一個CMD窗口1,執行cmd命令: cd C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn 接着執行cmd命令:sqlservr.exe -f -s MSSQLSERVER 要用管理員權限打開cmd MSSQLSERVER 默認實例名,可修改為你實際實例名修改 -f最小模式啟動實例
3.不要關閉第一次cmd命令,注意不要關閉,另外開啟一個新的cmd 命令窗口2,立即運行下面命令進入命令行模式 執行:sqlcmd -E -s MSSQLSERVER --注釋 sqlcmd -E --如果是命名實例則: sqlcmd -E -S IP\<實例名> 注意命名實例需要開啟SQL server Browser服務,才能連接。
4.修復,就本故障來說,修改內存最大值為不限制 接着在第二個窗口有限一下修改配置 EXECsp_configure 'show advanced options', '1' RECONFIGURE WITH OVERRIDE; EXEC sp_configure 'max server memory', 2147483647 RECONFIGURE WITH OVERRIDE; EXEC sp_configure 'show advanced options', '0' RECONFIGURE WITH OVERRIDE; GO
5.關閉cmd窗口1,正常啟動SQLServer實例(注意關閉窗口1,窗口2不要關閉) 啟動成功則OK,如果啟動不成功,檢查錯誤日志修復其它參數,直至啟動成功。 啟動成功后可根據需要重新調整合適的參數
后話,即使上邊動作都按照操作執行,可能還會遇到無法登陸的其他情況,具體問題具體對待。 基本上無法登陸情況總結如下:
1.sql服務沒有啟動 2.TCP/IP沒有開啟 3.TCP/IP屬性,IP地址沒有啟用