CREATE LOGIN login1 WITH PASSWORD = 'rmok';
CREATE USER user1 FOR LOGIN login1;
--使用 user1 身份EXECUTE AS LOGIN = 'login1';
SELECT SUSER_NAME(), USER_NAME();
exec master..xp_cmdshell 'dir';
--切換回 管理者 身份REVERT;
--將權限 GRANT 給 user1 GRANT exec ON xp_cmdshell TO user1
--使用 user1 身份EXECUTE AS LOGIN = 'login1';
SELECT SUSER_NAME(), USER_NAME();
exec master..xp_cmdshell 'dir';
這時有可能又會出現以下的錯誤,EXEC sp_xp_cmdshell_proxy_account 'domain\winUser','winUserPassword'
當執行完成後,再用 user1 來執行,就可以順利執行了哦!
REVERT;
-- drop test accountDROP LOGIN login1;
DROP USER user1;
本文也發表於亂馬客Blog