今天手賤,本來想調小一點數據庫的內存,不知道為什麼手賤了一下,少寫了3個零,點擊確認之後,數據庫瞬間嗝屁了,雖然不是什麼重要的數據庫,但是汗已經下來了。
我是這樣處理的,只提供參考:
Step1:停止實例服務。(如果是集群的話就不知道了,可能還要做一些其他的)
Step2:用管理員身份開啟cmd窗口(簡稱為cmd1窗口)
接着执行cmd命令:sqlservr.exe -f -s MSSQLSERVER 要用管理员权限打开cmd (主要的目的就是用最小的消耗開啟數據庫)
sqlservr.exe 的路徑可以從下面找,參數的含義可以從官方文檔找:https://docs.microsoft.com/zh-cn/sql/tools/sqlservr-application?view=sql-server-ver15
不同的機器,sqlserver.exe的路徑可能不同,下面截圖供參考
Step3:另外再開啟一個cmd窗口(簡稱cmd2窗口),用來修改參數,要在Step2之後馬上執行
sqlcmd -E -s MSSQLSERVER (不要將第一個cmd窗口關了,第一個窗口是用來啟動數據庫服務的,關了進進不去了, 參數啥意思參考官方文檔:https://docs.microsoft.com/zh-cn/sql/tools/sqlcmd-utility?view=sql-server-ver15)
在這個窗口中執行以下命令用來修改內存參數 EXEC sp_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
記住最後一個go一定要寫,為什麼?參考官方文檔,下面給出部分截圖:
參數修改完成之後會有修改成功的提示信息,這個時候將第一個cmd窗口(開啟數據庫的cmd1窗口)關閉,第2個窗口(cmd2窗口)不要關閉,之後再在服務中啟動sqlserver服務。
記錄一下,下次要謹慎了。