sql >> Databáze >  >> RDS >> Sqlserver

Získání oprávnění ke spuštění xp_cmdshell

Pro uživatele, kteří nejsou členy role sysadmin v instanci SQL Server, musíte provést následující akce, abyste udělili přístup k rozšířené uložené proceduře xp_cmdshell. Kromě toho, pokud jste zapomněli jeden z kroků, uvedl jsem chybu, která bude vyvolána.

  1. Povolte proceduru xp_cmdshell

    Zpráva 15281, úroveň 16, stav 1, procedura xp_cmdshell, řádek 1 SQL Server zablokoval přístup k proceduře 'sys.xp_cmdshell' součásti 'xp_cmdshell', protože tato součást je vypnuta jako součást konfigurace zabezpečení pro tento server. Správce systému může povolit použití 'xp_cmdshell' pomocí sp_configure. Další informace o povolení 'xp_cmdshell' naleznete v části Konfigurace oblasti povrchu v SQL Server Books Online.*

  2. Vytvořte přihlašovací údaje pro uživatele, který není správcem systému a má veřejný přístup k hlavní databázi

    Zpráva 229, úroveň 14, stav 5, procedura xp_cmdshell, řádek 1 Oprávnění EXECUTE bylo odepřeno pro objekt 'xp_cmdshell', databáze 'mssqlsystemresource', schéma 'sys'.*

  3. Udělte oprávnění EXEC pro uloženou proceduru xp_cmdshell

    Zpráva 229, úroveň 14, stav 5, procedura xp_cmdshell, řádek 1 Oprávnění EXECUTE bylo odepřeno pro objekt 'xp_cmdshell', databáze 'mssqlsystemresource', schéma 'sys'.*

  4. Vytvořte si proxy účet, pod kterým bude xp_cmdshell spuštěn pomocí sp_xp_cmdshell_proxy_account

    Zpráva 15153, úroveň 16, stav 1, procedura xp_cmdshell, řádek 1 Informace o účtu proxy xp_cmdshell nelze načíst nebo jsou neplatné. Ověřte, že pověření '##xp_cmdshell_proxy_account##' existuje a obsahuje platné informace.*

Z vaší chyby by se zdálo, že jste vynechali krok 2 nebo 3. Nejsem obeznámen s clustery, abych věděl, zda je v tomto nastavení něco konkrétního.



  1. Jak vytvořit databázový posluchač s javou?

  2. SQLiteException:Nerozpoznaný token při čtení z databáze

  3. Jak mohu získat součet více hodnot datetime?

  4. Použití `SELECT` k volání funkce