問題描述:
本地裝了兩個實例,一個是SQLEXPRESS,可以正常操作。但是另一個開發常用的實例MSSQLSERVER卻連Windows身份驗證都報錯,報的錯誤也是很奇葩,怎么會找不到Administrator那,我登錄計算機進來就用的這個賬號。
詳細錯誤如下:
無法連接到 xxx。
===================================
用戶 'xxx\Administrator' 登錄失敗。 (.Net SqlClient Data Provider)
------------------------------
有關幫助信息,請單擊:
http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476
------------------------------
服務器名稱: xxx
錯誤號: 18456
嚴重性: 14
狀態: 1
行號: 65536
===================================
用戶 'xxx\Administrator' 登錄失敗。 (.Net SqlClient Data Provider)
------------------------------
有關幫助信息,請單擊:
http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476
------------------------------
服務器名稱: xxx
錯誤號: 18456
嚴重性: 14
狀態: 1
行號: 65536
解決方案:
首先在微軟上搜索18456,找到了這個錯誤的詳細說明,地址https://msdn.microsoft.com/zh-cn/library/cc645917(v=sql.120).aspx。
看完之后得出了一個結論,似乎跟這個賬號的權限有關,需要給這個Administrator 賦一個sqlserver里面的管理員的權限,sysadmin。然后就想先用sa登錄,然后給這個用戶賦權。
可是問題又來了,sa密碼我也不知道!
無解,只好詢問同事,同事發了一個連接,http://www.cnblogs.com/lyhabc/p/3513560.html。
問題完美得到解決。
大概思路是這樣:
1,先停服務
2,通過cmd,以單用戶模式登錄sqlserver,理論參考https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms180965(v%3dsql.105)
3,給Administrator 用戶 賦權
4,關閉cmd,重啟服務
打開Sqlserver,以Windows身份登錄,完美,進去了。然后在修改sa的密碼即可。
