För användare som inte är medlemmar av rollen sysadmin på SQL Server-instansen måste du göra följande åtgärder för att ge åtkomst till den utökade lagrade proceduren xp_cmdshell. Om du har glömt något av stegen har jag dessutom listat felet som kommer att visas.
-
Aktivera xp_cmdshell-proceduren
Msg 15281, Nivå 16, Tillstånd 1, Procedur xp_cmdshell, Linje 1SQL Server blockerade åtkomst till proceduren 'sys.xp_cmdshell' för komponenten 'xp_cmdshell' eftersom den här komponenten är avstängd som en del av säkerhetskonfigurationen för denna server. En systemadministratör kan aktivera användningen av 'xp_cmdshell' genom att använda sp_configure. För mer information om att aktivera 'xp_cmdshell', se "Surface Area Configuration" i SQL Server Books Online.*
-
Skapa en inloggning för den icke-sysadmin-användare som har offentlig åtkomst till huvuddatabasen
Msg 229, Nivå 14, Tillstånd 5, Procedur xp_cmdshell, Rad 1 EXECUTE-behörigheten nekades för objektet 'xp_cmdshell', databasen 'mssqlsystemresource', schemat 'sys'.*
-
Ge EXEC-behörighet för den lagrade proceduren xp_cmdshell
Msg 229, Nivå 14, Tillstånd 5, Procedur xp_cmdshell, Rad 1 EXECUTE-behörigheten nekades för objektet 'xp_cmdshell', databasen 'mssqlsystemresource', schemat 'sys'.*
-
Skapa ett proxykonto som xp_cmdshell kommer att köras under med hjälp av sp_xp_cmdshell_proxy_account
Medd. 15153, nivå 16, tillstånd 1, procedur xp_cmdshell, rad 1 Informationen för xp_cmdshell proxykonto kan inte hämtas eller är ogiltig. Kontrollera att autentiseringsuppgifterna '##xp_cmdshell_proxy_account##' finns och innehåller giltig information.*
Det verkar av ditt fel som att antingen steg 2 eller 3 missades. Jag är inte bekant med kluster för att veta om det är något speciellt med den inställningen.