Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Lägger till en programroll i den aktuella databasen.
Viktigt!
Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd CREATE APPLICATION ROLE i stället.
Transact-SQL syntaxkonventioner
Syntax
sp_addapprole
[ @rolename = ] N'rolename'
, [ @password = ] N'password'
[ ; ]
Argumentpunkter
[ @rolename = ] N'rolename'
Namnet på den nya programrollen. @rolename är sysname, utan standard. @rolename måste vara en giltig identifierare och kan inte redan finnas i den aktuella databasen.
Programrollnamn kan innehålla mellan 1 och 128 tecken, inklusive bokstäver, symboler och siffror. Rollnamn får inte innehålla ett omvänt snedstreck (\) eller vara NULL eller en tom sträng ('').
[ @password = ] Nlösenord
Lösenordet som krävs för att aktivera programrollen.
@password är sysname, utan standard.
@password kan inte vara NULL.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Anmärkningar
I tidigare versioner av SQL Server är användare (och roller) inte helt åtskilda från scheman. Från och med SQL Server 2005 (9.x) skiljer sig scheman helt från roller. Den här arkitekturen återspeglas i beteendet för CREATE APPLICATION ROLE. Den här instruktionen sp_addapproleersätter .
Utför följande kontroller för att upprätthålla bakåtkompatibilitet med tidigare versioner av SQL Server sp_addapprole :
Om det inte redan finns ett schema med samma namn som programrollen skapas schemat. Det nya schemat ägs av programrollen och är standardschemat för programrollen.
Om det redan finns ett schema med samma namn som programrollen misslyckas proceduren.
sp_addapprolekontrollerar inte lösenordskomplexiteten. Lösenordskomplexitet kontrolleras avCREATE APPLICATION ROLE.
Parametern @password lagras som en enkelriktad hash.
Den sp_addapprole lagrade proceduren kan inte köras inifrån en användardefinierad transaktion.
Viktigt!
Microsoft ODBC-alternativet encrypt stöds inte av SqlClient. När du kan uppmana du användarna att ange autentiseringsuppgifter för programrollen vid körning. Undvik att lagra autentiseringsuppgifter i en fil. Om du måste spara autentiseringsuppgifter krypterar du dem med hjälp av CryptoAPI-funktionerna.
Behörigheter
Kräver ALTER ANY APPLICATION ROLE permission på databasen. Om det inte redan finns ett schema med samma namn och ägare som den nya rollen måste du även ha behörigheten SKAPA SCHEMA för databasen.
Exempel
I följande exempel läggs den nya programrollen SalesApp till i den aktuella databasen. Ersätt <password> med ett starkt lösenord.
EXECUTE sp_addapprole 'SalesApp', '<password>';
GO