我有安裝了SQL Server 2016 Dev的Windows 10 Pro計算機。機器上有兩個本地用戶帳戶:[WORK \ admin]和[WORK \ erop]。首先創建[WORK \ erop]帳戶,無需連接到Microsoft。但後來我將它連接到我的MS帳戶。安裝SQL Srv時,[WORK \ erop]帳戶已添加到sysadmin角色。SQL Srv 2016:登錄失敗,用戶'MicrosoftAccount ...'
現在我嘗試用SSMS連接到SQL SRV實例作爲[WORK \ erop],但得到:
Login failed for user 'MicrosoftAccount\<my_MS_account>'. Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]
和 Error: 18456, Severity: 14, State: 5.
這means 「無效的用戶ID」。
正如我猜SSMS在MS帳戶下啓動,因爲MS帳戶沒有SQL Srv實例登錄它拒絕連接。
我執行
CREATE LOGIN [MicrosoftAccount\<MS_account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO
ALTER SERVER ROLE [sysadmin] ADD MEMBER [MicrosoftAccount\MS_account]
GO
,一切都OK。但我不知道有沒有更聰明的方法將MS_account映射到在SQL Srv實例上登錄的本地用戶?
你有沒有找到任何解決方案? –
我的解決方案是上面的代碼片段。但是,如果你的意思是期望的「更聰明的方式」......不,不幸的是不是。 – erop
看起來像你想出來的。我的2美分是我會繼續說,你想作爲SQL Server的管理員帳戶,你應該在實際的機器上設置爲ADMIN的帳戶,並用該帳戶登錄(您可以隨時降低權限,但我永遠不會這樣做),因爲我假設您希望使用此特定帳戶運行SQL服務並安裝SQL Server。然後在安裝SQL Server之後添加安全登錄,如上所述。 – Moojjoo