Voor gebruikers die geen lid zijn van de sysadmin-rol op het SQL Server-exemplaar, moet u de volgende acties uitvoeren om toegang te verlenen tot de uitgebreide opgeslagen procedure xp_cmdshell. Bovendien, als je een van de stappen bent vergeten, heb ik de fout vermeld die zal worden gegenereerd.
-
Schakel de xp_cmdshell-procedure in
Msg 15281, Level 16, State 1, Procedure xp_cmdshell, Line 1SQL Server blokkeerde de toegang tot procedure 'sys.xp_cmdshell' van component 'xp_cmdshell' omdat deze component is uitgeschakeld als onderdeel van de beveiligingsconfiguratie voor deze server. Een systeembeheerder kan het gebruik van 'xp_cmdshell' inschakelen met sp_configure. Voor meer informatie over het inschakelen van 'xp_cmdshell', zie "Surface Area Configuration" in SQL Server Books Online.*
-
Maak een login aan voor de niet-sysadmin-gebruiker die openbare toegang heeft tot de hoofddatabase
Msg 229, niveau 14, staat 5, procedure xp_cmdshell, regel 1De EXECUTE-toestemming is geweigerd voor het object 'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'.*
-
Verleen EXEC-toestemming voor de opgeslagen procedure xp_cmdshell
Msg 229, niveau 14, staat 5, procedure xp_cmdshell, regel 1De EXECUTE-toestemming is geweigerd voor het object 'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'.*
-
Maak een proxy-account waaronder xp_cmdshell wordt uitgevoerd met sp_xp_cmdshell_proxy_account
Msg 15153, niveau 16, staat 1, procedure xp_cmdshell, regel 1De xp_cmdshell proxy-accountinformatie kan niet worden opgehaald of is ongeldig. Controleer of de referentie '##xp_cmdshell_proxy_account##' bestaat en geldige informatie bevat.*
Het lijkt uit uw fout dat stap 2 of 3 is gemist. Ik ben niet bekend met clusters om te weten of er iets speciaals aan die opstelling is.