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
Azure SQL Database
Azure SQL Managed Instance
Det här avsnittet beskriver hur du skapar en programroll i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Programroller begränsar användaråtkomsten till en databas förutom genom specifika program. Programroller har inga användare, så listan Rollmedlemmar visas inte när programrollen har valts.
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.
I det här avsnittet
Innan du börjar:
BakgrundSkapa en programroll med hjälp av:
Innan du börjar
Bakgrund
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. Den här säkerhetsförbättringen använder en starkare hash-algoritm, vilket kan öka inloggningstiden något för SQL-autentiseringsinloggningar. Effekten är vanligtvis lägre i miljöer med anslutningspooler, men kan vara mer märkbar i scenarier utan poolning eller där inloggningsfördröjning övervakas noggrant.
Säkerhet
Behörigheter
Kräver ALTER ANY APPLICATION ROLE permission på databasen.
Använda SQL Server Management Studio
För att skapa en applikationsroll
I Object Explorer expanderar du databasen där du vill skapa en programroll.
Expandera mappen Security.
Expandera mappen Roles.
Högerklicka på mappen Programroller och välj Ny programroll....
I dialogrutan Programroll – Ny på sidan Allmänt anger du det nya namnet på den nya programrollen i rutan Rollnamn .
I rutan Standardschema anger du det schema som ska äga objekt som skapats av den här rollen genom att ange objektnamnen. Alternativt klickar du på ellipsen (...) för att öppna dialogrutan Leta upp schema .
I rutan Lösenord anger du ett lösenord för den nya rollen. Ange lösenordet igen i rutan Bekräfta lösenord .
Under Scheman som ägs av den här rollen väljer eller visar du scheman som ska ägas av den här rollen. Ett schema kan bara ägas av ett schema eller en roll.
Välj OK.
Ytterligare alternativ
Dialogrutan Programroll – Ny innehåller även alternativ på ytterligare två sidor: Skyddsbara ochutökade egenskaper.
Sidan Securables visar alla möjliga säkerhetsobjekt och behörigheter för de säkerhetsobjekt som kan tilldelas inloggningen.
På sidan Utökade egenskaper kan du lägga till anpassade egenskaper för databasanvändare.
Använda Transact-SQL
För att skapa en applikationsroll
I Object Exploreransluter du till en instans av databasmotorn.
I fältet Standard klickar du på Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och klicka på Kör.
-- Creates an application role called "weekly_receipts" that has the password "987Gbv876sPYY5m23" and "Sales" as its default schema. CREATE APPLICATION ROLE weekly_receipts WITH PASSWORD = '987G^bv876sPY)Y5m23' , DEFAULT_SCHEMA = Sales; GO
Mer information finns i CREATE APPLICATION ROLE (Transact-SQL).