我有一個在Windows用戶的上下文中執行的Powershell腳本。此用戶在作爲sysadmin服務器角色成員的SQL 2012實例上擁有登錄名。如何將Windows用戶添加到SQL Server 2012中的sysadmin服務器角色?
我希望腳本在SQL實例(也具有相應的Windows用戶)上添加另一個登錄到sysadmin服務器角色。
要在Management Studio中嘗試了這一點(如連接SA),我使用下面的腳本:
execute as user = 'domain\currentsysadmin'
IF IS_SRVROLEMEMBER('sysadmin', 'domain\futuresysadmin') != 1
ALTER SERVER ROLE [sysadmin] ADD MEMBER [domain\futuresysadmin]
revert
我這裏有兩個問題:
當我運行該腳本因爲它顯示在這裏,所以對IS_SRVROLEMEMBER的調用按預期返回0,但即使domain \ currentysadmin登錄名是sysadmin的成員,對ALTER SERVER ROLE的調用返回:
Ms g 15151,級別16,狀態1,行8 無法更改服務器角色'sysadmin',因爲它不存在或您沒有權限。
當我在沒有EXECUTE AS語句的情況下在SA的上下文中運行這個時,ALTER SERVER ROLE語句似乎運行成功,但是當我檢查domain \ futuresysadmin登錄時,它仍然不是sysadmin角色的成員
如何將domain \ futuresystem登錄添加到sysadmin服務器角色?
有人請給我一個暗示,爲什麼這個問題已經downvoted和關閉?我在這裏並沒有被暴露 - 這是我關於Stack Overflow的第一個問題,所以我想了解我的問題與主題無關。 – drewmullet