Sdílet prostřednictvím


sp_addapprole (Transact-SQL)

platí pro:SQL Server

Přidá do aktuální databáze roli aplikace.

Důležité

Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Místo toho použijte ROLI CREATE APPLICATION .

Transact-SQL konvence syntaxe

Syntaxe

sp_addapprole
    [ @rolename = ] N'rolename'
    , [ @password = ] N'password'
[ ; ]

Argumenty

[ @rolename = ] N'rolename'

Název nové role aplikace. @rolename je sysname bez výchozího nastavení. @rolename musí být platný identifikátor a v aktuální databázi ještě neexistuje.

Názvy rolí aplikace můžou obsahovat maximálně 128 znaků, včetně písmen, symbolů a čísel. Názvy rolí nesmí obsahovat zpětné lomítko (\) ani nesmí být NULL prázdný řetězec (').

[ @password = ] N'heslo'

Heslo potřebné k aktivaci role aplikace. @password je sysname , bez výchozího nastavení. @password nemůže být NULL.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Poznámky

V dřívějších verzích SQL Serveru se uživatelé (a role) úplně liší od schémat. Počínaje SQL Serverem 2005 (9.x) jsou schémata zcela odlišná od rolí. Tato architektura se odráží v chování CREATE APPLICATION ROLE. Tento příkaz nahrazuje sp_addapprole.

Chcete-li zachovat zpětnou kompatibilitu se staršími verzemi SQL Serveru, sp_addapprole provádí následující kontroly:

  • Pokud schéma se stejným názvem jako role aplikace ještě neexistuje, schéma se vytvoří. Nové schéma vlastní role aplikace a je to výchozí schéma role aplikace.

  • Pokud schéma se stejným názvem jako role aplikace již existuje, postup selže.

  • sp_addapprole nekontroluje složitost hesla. Složitost hesla je kontrolována uživatelem CREATE APPLICATION ROLE.

Parametr @password je uložen jako jednosměrná hodnota hash.

sp_addapprole Uloženou proceduru nelze spustit v rámci uživatelem definované transakce.

Důležité

SqlClient nepodporuje možnost Microsoft ODBCencrypt. Pokud můžete, vyzve uživatele, aby za běhu zadali přihlašovací údaje role aplikace. Vyhněte se ukládání přihlašovacích údajů do souboru. Pokud je nutné zachovat přihlašovací údaje, zašifrujte je pomocí funkcí CryptoAPI.

Povolení

Vyžaduje oprávnění ALTER ANY APPLICATION ROLE pro databázi. Pokud schéma se stejným názvem a vlastníkem jako nová role ještě neexistuje, vyžaduje také oprávnění CREATE SCHEMA pro databázi.

Příklady

Následující příklad přidá novou roli SalesApp aplikace do aktuální databáze. Nahraďte <password> silným heslem.

EXECUTE sp_addapprole 'SalesApp', '<password>';
GO