Not
Å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
I den här artikeln beskrivs 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.
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.
SQL Server 2025 (17.x) introducerar en itererad hash-algoritm, 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 hashalgoritm, 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.
Använda SQL Server Management Studio
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 väljer du 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
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. Den här koden skapar en programroll med namnet
weekly_receiptssom har ett lösenord ochSalessom standardschema. Ersätt<password>med ett starkt lösenord.-- CREATE APPLICATION ROLE weekly_receipts WITH PASSWORD = '<password>' , DEFAULT_SCHEMA = Sales; GO
Behörigheter
Kräver ALTER ANY APPLICATION ROLE behörighet för databasen.