Dela via


SKAPA PROGRAMROLL (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Lägger till en programroll i den aktuella databasen.

Transact-SQL syntaxkonventioner

Syntax

CREATE APPLICATION ROLE application_role_name
    WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]

Argumentpunkter

application_role_name

Anger namnet på programrollen. Det här namnet får inte redan användas för att referera till något huvudnamn i databasen.

LÖSENORD = "lösenord"

Anger lösenordet som databasanvändarna ska använda för att aktivera programrollen. Du bör alltid använda starka lösenord. password måste uppfylla kraven på Windows-lösenordsprinciper för den dator som kör instansen av SQL Server.

DEFAULT_SCHEMA = schema_name

Anger det första schemat som ska genomsökas av servern när det löser namnen på objekten för den här rollen. Om DEFAULT_SCHEMA lämnas odefinierad används dbo programrollen som standardschema. schema_name kan vara ett schema som inte finns i databasen.

Anmärkningar

Viktigt!

Lösenordskomplexitet kontrolleras när lösenord för programrollen anges. Program som anropar programroller måste lagra sina lösenord. Lösenord för programroller ska alltid lagras krypterade.

Programroller visas i sys.database_principals katalogvy.

Information om hur du använder programroller finns i Programroller.

Anmärkning

Scheman motsvarar inte databasanvändare. Använd systemkatalogvyer för att identifiera eventuella skillnader mellan databasanvändare och scheman.

Från och med SQL Server 2012 (11.x) använde SQL Server och Azure SQL DB en SHA-512-hash i kombination med ett 32-bitars slumpmässigt och unikt salt. Den här metoden gjorde det statistiskt omöjligt för angripare att härleda lösenord.

Förhandsversionen av SQL Server 2025 (17.x) introducerar en itererad hashalgoritm, RFC2898, även kallad en lösenordsbaserad nyckelhärledningsfunktion (PBKDF). Den här algoritmen använder fortfarande SHA-512 men hashar lösenordet flera gånger (100 000 iterationer), vilket avsevärt saktar ner brute-force-attacker. Den här ändringen förbättrar lösenordsskyddet som svar på växande säkerhetshot och hjälper kunderna att följa NIST SP 800-63b-riktlinjerna.

Behörigheter

Kräver ALTER ANY APPLICATION ROLE permission på databasen.

Exempel

I följande exempel skapas en programroll med namnet weekly_receipts som har lösenordet 987Gbv876sPYY5m23 och Sales som standardschema.

CREATE APPLICATION ROLE weekly_receipts
    WITH PASSWORD = '987G^bv876sPY)Y5m23'
    , DEFAULT_SCHEMA = Sales;
GO