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
Ändrar namn, lösenord eller standardschema för en programroll.
Transact-SQL syntaxkonventioner
Syntax
ALTER APPLICATION ROLE application_role_name
WITH <set_item> [ , ...n ]
<set_item> ::=
NAME = new_application_role_name
| PASSWORD = 'password'
| DEFAULT_SCHEMA = schema_name
Argumentpunkter
application_role_name
Namnet på den programroll som ska ändras.
NAME = new_application_role_name
Anger det nya namnet på programrollen. Det här namnet får inte redan användas för att referera till något huvudnamn i databasen.
PASSWORD =lösenord
Anger lösenordet för programrollen.
password
måste uppfylla kraven på Windows-lösenordsprinciper för den dator som kör instansen av SQL Server. Du bör alltid använda starka lösenord.
DEFAULT_SCHEMA = schema_name
Anger det första schemat som ska genomsökas av servern när det löser namnen på objekten. schema_name kan vara ett schema som inte finns i databasen.
Anmärkningar
Om det nya programrollnamnet redan finns i databasen misslyckas -instruktionen. När namnet, lösenordet eller standardschemat för en programroll ändras ändras inte det ID som är associerat med rollen.
Viktigt!
Förfalloprincip för lösenord tillämpas inte på programrolllösenord. Därför bör du vara extra noga med att välja starka lösenord. Program som anropar programroller måste lagra sina lösenord.
Programroller visas i sys.database_principals
katalogvyn.
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. Om du vill ändra standardschemat behöver användaren också ALTER-behörighet för programrollen. En programroll kan ändra sitt eget standardschema, men inte dess namn eller lösenord.
Exempel
A. Ändra namnet på programrollen
I följande exempel ändras namnet på programrollen weekly_receipts
till receipts_ledger
.
USE AdventureWorks2022;
CREATE APPLICATION ROLE weekly_receipts
WITH PASSWORD = '987Gbv8$76sPYY5m23' ,
DEFAULT_SCHEMA = Sales;
GO
ALTER APPLICATION ROLE weekly_receipts
WITH NAME = receipts_ledger;
GO
B. Ändra lösenordet för programrollen
I följande exempel ändras lösenordet för programrollen receipts_ledger
.
ALTER APPLICATION ROLE receipts_ledger
WITH PASSWORD = '897yUUbv867y$200nk2i';
GO
C. Ändra namn, lösenord och standardschema
I följande exempel ändras namn, lösenord och standardschema för programrollen receipts_ledger
samtidigt.
ALTER APPLICATION ROLE receipts_ledger
WITH NAME = weekly_ledger,
PASSWORD = '897yUUbv77bsrEE00nk2i',
DEFAULT_SCHEMA = Production;
GO