ÄNDRA INLOGGNING (Transact-SQL)
Ändrar egenskaperna för ett SQL Server-inloggningskonto.
Transact-SQL syntaxkonventioner
Not
Microsoft Entra ID tidigare kallades Azure Active Directory (Azure AD).
Välj en produkt
På följande rad väljer du det produktnamn som du är intresserad av och endast den produktinformationen visas.
* SQL Server *
SQL Server
Syntax för SQL Server
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
| <cryptographic_credential_option>
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password' | hashed_password HASHED
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
| CREDENTIAL = credential_name
| NO CREDENTIAL
<password_option> ::=
MUST_CHANGE | UNLOCK
<cryptographic_credentials_option> ::=
ADD CREDENTIAL credential_name
| DROP CREDENTIAL credential_name
Argument
login_name
Anger namnet på den SQL Server-inloggning som ändras. Domäninloggningar måste omges av hakparenteser i formatet [<domain>\<user>]
.
AKTIVERA | INAKTIVERA
Aktiverar eller inaktiverar den här inloggningen. Inaktivering av en inloggning påverkar inte beteendet för inloggningar som redan är anslutna. (Använd KILL
-instruktionen för att avsluta en befintlig anslutning.) Inaktiverade inloggningar behåller sina behörigheter och kan fortfarande personifieras.
PASSWORD =lösenord
Gäller endast för SQL Server-inloggningar. Anger lösenordet för inloggningen som ändras. Lösenord är skiftlägeskänsliga.
PASSWORD = hashed_password
Gäller endast för HASHED-nyckelordet. Anger hashvärdet för lösenordet för inloggningen som skapas.
Viktig
När en inloggning (eller en innesluten databasanvändare) ansluter och autentiseras cachelagrar anslutningen identitetsinformation om inloggningen. För inloggning med Windows-autentisering innehåller detta information om medlemskap i Windows-grupper. Inloggningens identitet förblir autentiserad så länge anslutningen upprätthålls. För att tvinga fram ändringar i identiteten, till exempel en lösenordsåterställning eller ändring i Windows-gruppmedlemskap, måste inloggningen logga ut från autentiseringsutfärdare (Windows eller SQL Server) och logga in igen. En medlem i sysadmin fast serverroll eller någon inloggning med behörigheten ALTER ANY CONNECTION
kan använda kommandot KILL
för att avsluta en anslutning och tvinga en inloggning att återansluta. SQL Server Management Studio kan återanvända anslutningsinformation när du öppnar flera anslutningar till Objektutforskaren och Frågeredigerarens fönster. Stäng alla anslutningar för att framtvinga återanslutning.
HASHED
Gäller endast för SQL Server-inloggningar. Anger att lösenordet som angetts efter argumentet LÖSENORD redan har hashats. Om det här alternativet inte är markerat hashas lösenordet innan det lagras i databasen. Det här alternativet bör endast användas för inloggningssynkronisering mellan två servrar. Använd inte HASHED-alternativet för att rutinmässigt ändra lösenord.
OLD_PASSWORD = "old_password"
Gäller endast för SQL Server-inloggningar. Det aktuella lösenordet för inloggningen som ett nytt lösenord ska tilldelas till. Lösenord är skiftlägeskänsliga.
MUST_CHANGE
Gäller endast för SQL Server-inloggningar. Om det här alternativet ingår frågar SQL Server efter ett uppdaterat lösenord första gången den ändrade inloggningen används.
DEFAULT_DATABASE = databas
Anger en standarddatabas som ska tilldelas inloggningen.
DEFAULT_LANGUAGE = språk
Anger ett standardspråk som ska tilldelas till inloggningen. Standardspråket för alla SQL Database-inloggningar är engelska och kan inte ändras. Standardspråket för sa
inloggning på SQL Server på Linux är engelska, men det kan ändras.
NAME = login_name
Det nya namnet på inloggningen som håller på att byta namn. Om det här är en Windows-inloggning måste SID för Det Windows-huvudnamn som motsvarar det nya namnet matcha det SID som är associerat med inloggningen i SQL Server. Det nya namnet på en SQL Server-inloggning får inte innehålla ett omvänt snedstreck (\
).
CHECK_EXPIRATION = { ON | AV }
Gäller endast för SQL Server-inloggningar. Anger om lösenordets förfalloprincip ska tillämpas vid den här inloggningen. Standardvärdet är AV.
CHECK_POLICY = { ON | AV }
Gäller endast för SQL Server-inloggningar. Anger att Windows-lösenordsprinciperna för den dator där SQL Server körs ska tillämpas vid den här inloggningen. Standardvärdet är PÅ.
CREDENTIAL = credential_name
Namnet på en autentiseringsuppgift som ska mappas till en SQL Server-inloggning. Autentiseringsuppgifterna måste redan finnas på servern. Mer information finns i autentiseringsuppgifter. Det går inte att mappa en autentiseringsuppgift till sa-inloggningen.
INGA AUTENTISERINGSUPPGIFTER
Tar bort all befintlig mappning av inloggningen till en serverautentiseringsuppgift. Mer information finns i autentiseringsuppgifter.
LÅSA UPP
Gäller endast för SQL Server-inloggningar. Anger att en inloggning som är utelåst ska låsas upp.
LÄGG TILL AUTENTISERINGSUPPGIFTER
Lägger till en EKM-providerautentisering (Extensible Key Management) till inloggningen. Mer information finns i Utökningsbar nyckelhantering (EKM).
SLÄPP AUTENTISERINGSUPPGIFTER
Tar bort en EKM-providerautentisering (Extensible Key Management) från inloggningen. Mer information finns i [Extensible Key Management (EKM)] (.. /.. /relational-databases/security/encryption/extensible-key-management-ekm.md).
Anmärkningar
När CHECK_POLICY är inställt på PÅ kan hashed-argumentet inte användas.
När CHECK_POLICY ändras till PÅ inträffar följande beteende:
- Lösenordshistoriken initieras med värdet för den aktuella lösenordshashen.
När CHECK_POLICY ändras till OFF inträffar följande beteende:
- CHECK_EXPIRATION är också inställt på OFF.
- Lösenordshistoriken rensas.
- Värdet för lockout_time återställs.
Om MUST_CHANGE anges måste CHECK_EXPIRATION och CHECK_POLICY anges till PÅ. Annars misslyckas -instruktionen.
Om CHECK_POLICY är inställt på AV kan CHECK_EXPIRATION inte anges till PÅ. En ALTER LOGIN-instruktion som har den här kombinationen av alternativ misslyckas.
Du kan inte använda ALTER LOGIN med argumentet DISABLE för att neka åtkomst till en Windows-grupp.
ALTER LOGIN [<domain>\<group>] DISABLE
returnerar till exempel följande felmeddelande:
"Msg 15151, Level 16, State 1, Line 1
Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission.
Detta är avsiktligt.
I SQL Database cachelagras de inloggningsdata som krävs för att autentisera en anslutning och brandväggsregler på servernivå tillfälligt i varje databas. Den här cachen uppdateras regelbundet. Om du vill framtvinga en uppdatering av autentiseringscacheminnet och se till att en databas har den senaste versionen av inloggningstabellen kör du DBCC FLUSHAUTHCACHE.
Behörigheter
Kräver ALTER ANY LOGIN permission (Ändra alla inloggningsbehörigheter).
Om alternativet CREDENTIAL används kräver även ALTER ANY CREDENTIAL-behörighet.
Om inloggningen som ändras är medlem i sysadmin fast serverroll eller en beviljad behörighet för CONTROL SERVER, kräver även KONTROLLSERVER-behörighet när du gör följande ändringar:
- Återställa lösenordet utan att ange det gamla lösenordet.
- Aktivera MUST_CHANGE, CHECK_POLICY eller CHECK_EXPIRATION.
- Ändra inloggningsnamnet.
- Aktivera eller inaktivera inloggningen.
- Mappa inloggningen till en annan autentiseringsuppgift.
Ett huvudnamn kan ändra lösenordet, standardspråket och standarddatabasen för sin egen inloggning.
Exempel
A. Aktivera en inaktiverad inloggning
I följande exempel aktiveras inloggnings-Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Ändra lösenordet för en inloggning
I följande exempel ändras lösenordet för inloggning Mary5
till ett starkt lösenord.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Ändra lösenordet för en inloggning när du är inloggad som inloggning
Om du försöker ändra lösenordet för inloggningen som du för närvarande är inloggad med och du inte har behörigheten ALTER ANY LOGIN
måste du ange alternativet OLD_PASSWORD
.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' OLD_PASSWORD = '<oldWeakPasswordHere>';
D. Ändra namnet på en inloggning
I följande exempel ändras namnet på inloggningen Mary5
till John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
E. Mappa en inloggning till en autentiseringsuppgift
I följande exempel mappas inloggningen John2
till autentiseringsuppgifterna Custodian04
.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
F. Mappa en inloggning till en utökningsbar nyckelhanteringsautentiseringsuppgift
I följande exempel mappas inloggningen Mary5
till EKM-autentiseringsuppgifterna EKMProvider1
.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Låsa upp en inloggning
Om du vill låsa upp en SQL Server-inloggning kör du följande instruktion och ersätter ****
med önskat kontolösenord.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
Om du vill låsa upp en inloggning utan att ändra lösenordet inaktiverar du kontrollprincipen och sedan på igen.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Ändra lösenordet för en inloggning med HASHED
I följande exempel ändras lösenordet för TestUser
inloggning till ett redan hashat värde.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Relaterat innehåll
* SQL Database *
SQL Database
Syntax för Azure SQL Database
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
]
| NAME = login_name
Argument
login_name
Anger namnet på den SQL Server-inloggning som ändras. Domäninloggningar måste omges av hakparenteser i formatet [domän\användare].
AKTIVERA | INAKTIVERA
Aktiverar eller inaktiverar den här inloggningen. Inaktivering av en inloggning påverkar inte beteendet för inloggningar som redan är anslutna. (Använd KILL
-instruktionen för att avsluta en befintlig anslutning.) Inaktiverade inloggningar behåller sina behörigheter och kan fortfarande personifieras.
PASSWORD =lösenord
Gäller endast för SQL Server-inloggningar. Anger lösenordet för inloggningen som ändras. Lösenord är skiftlägeskänsliga.
Kontinuerligt aktiva anslutningar till SQL Database kräver omauktorisering (utförs av databasmotorn) minst var 10:e timme. Databasmotorn försöker auktorisera igen med det ursprungligen skickade lösenordet och inga användarindata krävs. När ett lösenord återställs i SQL Database av prestandaskäl autentiseras inte anslutningen igen, även om anslutningen återställs på grund av anslutningspoolen. Detta skiljer sig från beteendet för den lokala SQL Server. Om lösenordet har ändrats sedan anslutningen ursprungligen auktoriserades måste anslutningen avslutas och en ny anslutning upprättas med det nya lösenordet. En användare med behörigheten KILL DATABASE CONNECTION kan uttryckligen avsluta en anslutning till SQL Database med hjälp av kommandot KILL. Mer information finns i KILL.
Viktig
När en inloggning (eller en innesluten databasanvändare) ansluter och autentiseras cachelagrar anslutningen identitetsinformation om inloggningen. För inloggning med Windows-autentisering innehåller detta information om medlemskap i Windows-grupper. Inloggningens identitet förblir autentiserad så länge anslutningen upprätthålls. För att tvinga fram ändringar i identiteten, till exempel en lösenordsåterställning eller ändring i Windows-gruppmedlemskap, måste inloggningen logga ut från autentiseringsutfärdare (Windows eller SQL Server) och logga in igen. En medlem i sysadmin fast serverroll eller någon inloggning med ALTER ANY CONNECTION behörighet kan använda kommandot KILL för att avsluta en anslutning och tvinga en inloggning att återansluta. SQL Server Management Studio kan återanvända anslutningsinformation när du öppnar flera anslutningar till Objektutforskaren och Frågeredigerarens fönster. Stäng alla anslutningar för att framtvinga återanslutning.
OLD_PASSWORD = "old_password"
Gäller endast för SQL Server-inloggningar. Det aktuella lösenordet för inloggningen som ett nytt lösenord ska tilldelas till. Lösenord är skiftlägeskänsliga.
NAME = login_name
Det nya namnet på inloggningen som håller på att byta namn. Om det här är en Windows-inloggning måste SID för Det Windows-huvudnamn som motsvarar det nya namnet matcha det SID som är associerat med inloggningen i SQL Server. Det nya namnet på en SQL Server-inloggning får inte innehålla ett omvänt snedstreck (\).
Anmärkningar
I SQL Database cachelagras de inloggningsdata som krävs för att autentisera en anslutning och brandväggsregler på servernivå tillfälligt i varje databas. Den här cachen uppdateras regelbundet. Om du vill framtvinga en uppdatering av autentiseringscacheminnet och se till att en databas har den senaste versionen av inloggningstabellen kör du DBCC FLUSHAUTHCACHE.
Behörigheter
Kräver ALTER ANY LOGIN permission (Ändra alla inloggningsbehörigheter).
Om inloggningen som ändras är medlem i sysadmin fast serverroll eller en beviljad behörighet för CONTROL SERVER, kräver även KONTROLLSERVER-behörighet när du gör följande ändringar:
- Återställa lösenordet utan att ange det gamla lösenordet.
- Ändra inloggningsnamnet.
- Aktivera eller inaktivera inloggningen.
- Mappa inloggningen till en annan autentiseringsuppgift.
Ett huvudnamn kan ändra lösenordet för sin egen inloggning.
Exempel
De här exemplen innehåller också exempel på hur du använder andra SQL-produkter. Se vilka tidigare argument som stöds.
A. Aktivera en inaktiverad inloggning
I följande exempel aktiveras inloggnings-Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Ändra lösenordet för en inloggning
I följande exempel ändras lösenordet för inloggning Mary5
till ett starkt lösenord.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Ändra namnet på en inloggning
I följande exempel ändras namnet på inloggningen Mary5
till John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Mappa en inloggning till en autentiseringsuppgift
I följande exempel mappas inloggningen John2
till autentiseringsuppgifterna Custodian04
.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Mappa en inloggning till en utökningsbar nyckelhanteringsautentiseringsuppgift
I följande exempel mappas inloggningen Mary5
till EKM-autentiseringsuppgifterna EKMProvider1
.
gäller för: SQL Server 2008 (10.0.x) och senare.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Ändra lösenordet för en inloggning med HASHED
I följande exempel ändras lösenordet för TestUser
inloggning till ett redan hashat värde.
gäller för: SQL Server 2008 (10.0.x) och senare.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Relaterat innehåll
* SQL Managed Instance *
Azure SQL Managed Instance
Syntax för SQL Server och Azure SQL Managed Instance
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
| <cryptographic_credential_option>
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password' | hashed_password HASHED
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
| CREDENTIAL = credential_name
| NO CREDENTIAL
<password_option> ::=
MUST_CHANGE | UNLOCK
<cryptographic_credentials_option> ::=
ADD CREDENTIAL credential_name
| DROP CREDENTIAL credential_name
-- Syntax for Azure SQL Managed Instance using Microsoft Entra logins
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
Argument
Argument som gäller för SQL- och Microsoft Entra-inloggningar
login_name
Anger namnet på den SQL Server-inloggning som ändras. Microsoft Entra-inloggningar måste anges som user@domain. Till exempel john.smith@contoso.com, eller som Microsoft Entra-grupp eller programnamn. För Microsoft Entra-inloggningar måste login_name motsvara en befintlig Microsoft Entra-inloggning som skapats i master
-databasen.
AKTIVERA | INAKTIVERA
Aktiverar eller inaktiverar den här inloggningen. Inaktivering av en inloggning påverkar inte beteendet för inloggningar som redan är anslutna. (Använd KILL
-instruktionen för att avsluta en befintlig anslutning.) Inaktiverade inloggningar behåller sina behörigheter och kan fortfarande personifieras.
DEFAULT_DATABASE = databas
Anger en standarddatabas som ska tilldelas inloggningen.
DEFAULT_LANGUAGE = språk
Anger ett standardspråk som ska tilldelas till inloggningen. Standardspråket för alla SQL Database-inloggningar är engelska och kan inte ändras. Standardspråket för sa
inloggning på SQL Server på Linux är engelska, men det kan ändras.
Argument som endast gäller för SQL-inloggningar
PASSWORD =lösenord
Gäller endast för SQL Server-inloggningar. Anger lösenordet för inloggningen som ändras. Lösenord är skiftlägeskänsliga. Lösenord gäller inte heller när de används med externa inloggningar, till exempel Microsoft Entra-inloggningar.
Kontinuerligt aktiva anslutningar till SQL Database kräver omauktorisering (utförs av databasmotorn) minst var 10:e timme. Databasmotorn försöker auktorisera igen med det ursprungligen skickade lösenordet och inga användarindata krävs. När ett lösenord återställs i SQL Database av prestandaskäl autentiseras inte anslutningen igen, även om anslutningen återställs på grund av anslutningspoolen. Detta skiljer sig från beteendet för den lokala SQL Server. Om lösenordet har ändrats sedan anslutningen ursprungligen auktoriserades måste anslutningen avslutas och en ny anslutning upprättas med det nya lösenordet. En användare med behörigheten KILL DATABASE CONNECTION kan uttryckligen avsluta en anslutning till SQL Database med hjälp av kommandot KILL. Mer information finns i KILL.
PASSWORD = hashed_password
Gäller endast för HASHED-nyckelordet. Anger hashvärdet för lösenordet för inloggningen som skapas.
HASHED
Gäller endast för SQL Server-inloggningar. Anger att lösenordet som angetts efter argumentet LÖSENORD redan har hashats. Om det här alternativet inte är markerat hashas lösenordet innan det lagras i databasen. Det här alternativet bör endast användas för inloggningssynkronisering mellan två servrar. Använd inte HASHED-alternativet för att rutinmässigt ändra lösenord.
OLD_PASSWORD = "old_password"
Gäller endast för SQL Server-inloggningar. Det aktuella lösenordet för inloggningen som ett nytt lösenord ska tilldelas till. Lösenord är skiftlägeskänsliga.
MUST_CHANGE
Gäller endast för SQL Server-inloggningar. Om det här alternativet ingår frågar SQL Server efter ett uppdaterat lösenord första gången den ändrade inloggningen används.
NAME = login_name
Det nya namnet på inloggningen som håller på att byta namn. Om inloggningen är en Windows-inloggning måste SID för Det Windows-huvudnamn som motsvarar det nya namnet matcha det SID som är associerat med inloggningen i SQL Server. Det nya namnet på en SQL Server-inloggning får inte innehålla ett omvänt snedstreck (\).
CHECK_EXPIRATION = { ON | AV }
Gäller endast för SQL Server-inloggningar. Anger om lösenordets förfalloprincip ska tillämpas vid den här inloggningen. Standardvärdet är AV.
CHECK_POLICY = { ON | AV }
Gäller endast för SQL Server-inloggningar. Anger att Windows-lösenordsprinciperna för den dator där SQL Server körs ska tillämpas vid den här inloggningen. Standardvärdet är PÅ.
CREDENTIAL = credential_name
Namnet på en autentiseringsuppgift som ska mappas till en SQL Server-inloggning. Autentiseringsuppgifterna måste redan finnas på servern. Mer information finns i autentiseringsuppgifter. Det går inte att mappa en autentiseringsuppgift till sa-inloggningen.
INGA AUTENTISERINGSUPPGIFTER
Tar bort all befintlig mappning av inloggningen till en serverautentiseringsuppgift. Mer information finns i autentiseringsuppgifter.
LÅSA UPP
Gäller endast för SQL Server-inloggningar. Anger att en inloggning som är utelåst ska låsas upp.
LÄGG TILL AUTENTISERINGSUPPGIFTER
Lägger till en EKM-providerautentisering (Extensible Key Management) till inloggningen. Mer information finns i Utökningsbar nyckelhantering (EKM).
SLÄPP AUTENTISERINGSUPPGIFTER
Tar bort en EKM-providerautentisering (Extensible Key Management) från inloggningen. Mer information finns i Utökningsbar nyckelhantering (EKM).
Anmärkningar
När CHECK_POLICY är inställt på PÅ kan hashed-argumentet inte användas.
När CHECK_POLICY ändras till PÅ inträffar följande beteende:
- Lösenordshistoriken initieras med värdet för den aktuella lösenordshashen.
När CHECK_POLICY ändras till OFF inträffar följande beteende:
- CHECK_EXPIRATION är också inställt på OFF.
- Lösenordshistoriken rensas.
- Värdet för lockout_time återställs.
Om MUST_CHANGE anges måste CHECK_EXPIRATION och CHECK_POLICY anges till PÅ. Annars misslyckas -instruktionen.
Om CHECK_POLICY är inställt på AV kan CHECK_EXPIRATION inte anges till PÅ. En ALTER LOGIN-instruktion som har den här kombinationen av alternativ misslyckas.
Du kan inte använda ALTER_LOGIN med argumentet INAKTIVERA för att neka åtkomst till en Windows-grupp. Detta är avsiktligt. Till exempel returnerar ALTER_LOGIN [domain\group] DISABLE följande felmeddelande:
"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."
I SQL Database cachelagras de inloggningsdata som krävs för att autentisera en anslutning och brandväggsregler på servernivå tillfälligt i varje databas. Den här cachen uppdateras regelbundet. Om du vill framtvinga en uppdatering av autentiseringscacheminnet och se till att en databas har den senaste versionen av inloggningstabellen kör du DBCC FLUSHAUTHCACHE.
Behörigheter
Kräver ALTER ANY LOGIN permission (Ändra alla inloggningsbehörigheter).
Om alternativet CREDENTIAL används kräver även ALTER ANY CREDENTIAL-behörighet.
Om inloggningen som ändras är medlem i sysadmin fast serverroll eller en beviljad behörighet för CONTROL SERVER, kräver även KONTROLLSERVER-behörighet när du gör följande ändringar:
- Återställa lösenordet utan att ange det gamla lösenordet.
- Aktivera MUST_CHANGE, CHECK_POLICY eller CHECK_EXPIRATION.
- Ändra inloggningsnamnet.
- Aktivera eller inaktivera inloggningen.
- Mappa inloggningen till en annan autentiseringsuppgift.
Ett huvudnamn kan ändra lösenordet, standardspråket och standarddatabasen för sin egen inloggning.
Endast ett SQL-huvudnamn med sysadmin
behörigheter kan köra ett ALTER LOGIN-kommando mot en Microsoft Entra-inloggning.
Exempel
De här exemplen innehåller också exempel på hur du använder andra SQL-produkter. Se vilka tidigare argument som stöds.
A. Aktivera en inaktiverad inloggning
I följande exempel aktiveras inloggnings-Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Ändra lösenordet för en inloggning
I följande exempel ändras lösenordet för inloggning Mary5
till ett starkt lösenord.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Ändra namnet på en inloggning
I följande exempel ändras namnet på inloggningen Mary5
till John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Mappa en inloggning till en autentiseringsuppgift
I följande exempel mappas inloggningen John2
till autentiseringsuppgifterna Custodian04
.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Mappa en inloggning till en utökningsbar nyckelhanteringsautentiseringsuppgift
I följande exempel mappas inloggningen Mary5
till EKM-autentiseringsuppgifterna EKMProvider1
.
gäller för: SQL Server 2008 (10.0.x) och senare och Azure SQL Managed Instance.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Låsa upp en inloggning
Om du vill låsa upp en SQL Server-inloggning kör du följande instruktion och ersätter ****
med önskat kontolösenord.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
Om du vill låsa upp en inloggning utan att ändra lösenordet inaktiverar du kontrollprincipen och sedan på igen.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Ändra lösenordet för en inloggning med HASHED
I följande exempel ändras lösenordet för TestUser
inloggning till ett redan hashat värde.
gäller för: SQL Server 2008 (10.0.x) och senare och Azure SQL Managed Instance.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
H. Inaktivera inloggningen för en Microsoft Entra-användare
I följande exempel inaktiveras inloggningen för en Microsoft Entra-användare joe@contoso.com.
ALTER LOGIN [joe@contoso.com] DISABLE;
Relaterat innehåll
* Azure Synapse
Analys *
Azure Synapse Analytics
Syntax för Azure Synapse
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
]
| NAME = login_name
Argument
login_name
Anger namnet på den SQL Server-inloggning som ändras. Domäninloggningar måste omges av hakparenteser i formatet [domän\användare].
AKTIVERA | INAKTIVERA
Aktiverar eller inaktiverar den här inloggningen. Inaktivering av en inloggning påverkar inte beteendet för inloggningar som redan är anslutna. (Använd KILL
-instruktionen för att avsluta en befintlig anslutning.) Inaktiverade inloggningar behåller sina behörigheter och kan fortfarande personifieras.
PASSWORD =lösenord
Gäller endast för SQL Server-inloggningar. Anger lösenordet för inloggningen som ändras. Lösenord är skiftlägeskänsliga.
Kontinuerligt aktiva anslutningar till SQL Database kräver omauktorisering (utförs av databasmotorn) minst var 10:e timme. Databasmotorn försöker auktorisera igen med det ursprungligen skickade lösenordet och inga användarindata krävs. När ett lösenord återställs i SQL Database av prestandaskäl autentiseras inte anslutningen igen, även om anslutningen återställs på grund av anslutningspoolen. Detta skiljer sig från beteendet för den lokala SQL Server. Om lösenordet har ändrats sedan anslutningen ursprungligen auktoriserades måste anslutningen avslutas och en ny anslutning upprättas med det nya lösenordet. En användare med behörigheten KILL DATABASE CONNECTION kan uttryckligen avsluta en anslutning till SQL Database med hjälp av kommandot KILL. Mer information finns i KILL.
Viktig
När en inloggning (eller en innesluten databasanvändare) ansluter och autentiseras cachelagrar anslutningen identitetsinformation om inloggningen. För inloggning med Windows-autentisering innehåller detta information om medlemskap i Windows-grupper. Inloggningens identitet förblir autentiserad så länge anslutningen upprätthålls. För att tvinga fram ändringar i identiteten, till exempel en lösenordsåterställning eller ändring i Windows-gruppmedlemskap, måste inloggningen logga ut från autentiseringsutfärdare (Windows eller SQL Server) och logga in igen. En medlem i sysadmin fast serverroll eller någon inloggning med ALTER ANY CONNECTION behörighet kan använda kommandot KILL för att avsluta en anslutning och tvinga en inloggning att återansluta. SQL Server Management Studio kan återanvända anslutningsinformation när du öppnar flera anslutningar till Objektutforskaren och Frågeredigerarens fönster. Stäng alla anslutningar för att framtvinga återanslutning.
OLD_PASSWORD = "old_password"
Gäller endast för SQL Server-inloggningar. Det aktuella lösenordet för inloggningen som ett nytt lösenord ska tilldelas till. Lösenord är skiftlägeskänsliga.
NAME = login_name
Det nya namnet på inloggningen som håller på att byta namn. Om det här är en Windows-inloggning måste SID för Det Windows-huvudnamn som motsvarar det nya namnet matcha det SID som är associerat med inloggningen i SQL Server. Det nya namnet på en SQL Server-inloggning får inte innehålla ett omvänt snedstreck (\).
Anmärkningar
I SQL Database cachelagras de inloggningsdata som krävs för att autentisera en anslutning och brandväggsregler på servernivå tillfälligt i varje databas. Den här cachen uppdateras regelbundet. Om du vill framtvinga en uppdatering av autentiseringscacheminnet och se till att en databas har den senaste versionen av inloggningstabellen kör du DBCC FLUSHAUTHCACHE.
Behörigheter
Kräver ALTER ANY LOGIN permission (Ändra alla inloggningsbehörigheter).
Om inloggningen som ändras är medlem i sysadmin fast serverroll eller en beviljad behörighet för CONTROL SERVER, kräver även KONTROLLSERVER-behörighet när du gör följande ändringar:
- Återställa lösenordet utan att ange det gamla lösenordet.
- Ändra inloggningsnamnet.
- Aktivera eller inaktivera inloggningen.
- Mappa inloggningen till en annan autentiseringsuppgift.
Ett huvudnamn kan ändra lösenordet för sin egen inloggning.
Exempel
De här exemplen innehåller också exempel på hur du använder andra SQL-produkter. Se vilka tidigare argument som stöds.
A. Aktivera en inaktiverad inloggning
I följande exempel aktiveras inloggnings-Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Ändra lösenordet för en inloggning
I följande exempel ändras lösenordet för inloggning Mary5
till ett starkt lösenord.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Ändra namnet på en inloggning
I följande exempel ändras namnet på inloggningen Mary5
till John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Mappa en inloggning till en autentiseringsuppgift
I följande exempel mappas inloggningen John2
till autentiseringsuppgifterna Custodian04
.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Mappa en inloggning till en utökningsbar nyckelhanteringsautentiseringsuppgift
I följande exempel mappas inloggningen Mary5
till EKM-autentiseringsuppgifterna EKMProvider1
.
gäller för: SQL Server 2008 (10.0.x) och senare.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Låsa upp en inloggning
Om du vill låsa upp en SQL Server-inloggning kör du följande instruktion och ersätter ****
med önskat kontolösenord.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
G. Ändra lösenordet för en inloggning med HASHED
I följande exempel ändras lösenordet för TestUser
inloggning till ett redan hashat värde.
gäller för: SQL Server 2008 (10.0.x) och senare.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Relaterat innehåll
* Analys
Plattformssystem (PDW) *
Analysplattformssystem
Syntax för Analysplattformssystem
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
}
<status_option> ::= ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
<password_option> ::=
MUST_CHANGE | UNLOCK
Argument
login_name
Anger namnet på den SQL Server-inloggning som ändras. Domäninloggningar måste omges av hakparenteser i formatet [domän\användare].
AKTIVERA | INAKTIVERA
Aktiverar eller inaktiverar den här inloggningen. Inaktivering av en inloggning påverkar inte beteendet för inloggningar som redan är anslutna. (Använd KILL
-instruktionen för att avsluta en befintlig anslutning.) Inaktiverade inloggningar behåller sina behörigheter och kan fortfarande personifieras.
PASSWORD =lösenord
Gäller endast för SQL Server-inloggningar. Anger lösenordet för inloggningen som ändras. Lösenord är skiftlägeskänsliga.
Viktig
När en inloggning (eller en innesluten databasanvändare) ansluter och autentiseras cachelagrar anslutningen identitetsinformation om inloggningen. För inloggning med Windows-autentisering innehåller detta information om medlemskap i Windows-grupper. Inloggningens identitet förblir autentiserad så länge anslutningen upprätthålls. För att tvinga fram ändringar i identiteten, till exempel en lösenordsåterställning eller ändring i Windows-gruppmedlemskap, måste inloggningen logga ut från autentiseringsutfärdare (Windows eller SQL Server) och logga in igen. En medlem i sysadmin fast serverroll eller någon inloggning med ALTER ANY CONNECTION behörighet kan använda kommandot KILL för att avsluta en anslutning och tvinga en inloggning att återansluta. SQL Server Management Studio kan återanvända anslutningsinformation när du öppnar flera anslutningar till Objektutforskaren och Frågeredigerarens fönster. Stäng alla anslutningar för att framtvinga återanslutning.
OLD_PASSWORD = "old_password"
Gäller endast för SQL Server-inloggningar. Det aktuella lösenordet för inloggningen som ett nytt lösenord ska tilldelas till. Lösenord är skiftlägeskänsliga.
MUST_CHANGE
Gäller endast för SQL Server-inloggningar. Om det här alternativet ingår frågar SQL Server efter ett uppdaterat lösenord första gången den ändrade inloggningen används.
NAME = login_name
Det nya namnet på inloggningen som håller på att byta namn. Om inloggningen är en Windows-inloggning måste SID för Det Windows-huvudnamn som motsvarar det nya namnet matcha det SID som är associerat med inloggningen i SQL Server. Det nya namnet på en SQL Server-inloggning får inte innehålla ett omvänt snedstreck (\).
CHECK_EXPIRATION = { ON | AV }
Gäller endast för SQL Server-inloggningar. Anger om lösenordets förfalloprincip ska tillämpas vid den här inloggningen. Standardvärdet är AV.
CHECK_POLICY = { ON | AV }
Gäller endast för SQL Server-inloggningar. Anger att Windows-lösenordsprinciperna för den dator där SQL Server körs ska tillämpas vid den här inloggningen. Standardvärdet är PÅ.
LÅSA UPP
Gäller endast för SQL Server-inloggningar. Anger att en inloggning som är utelåst ska låsas upp.
Anmärkningar
När CHECK_POLICY är inställt på PÅ kan hashed-argumentet inte användas.
När CHECK_POLICY ändras till PÅ inträffar följande beteende:
- Lösenordshistoriken initieras med värdet för den aktuella lösenordshashen.
När CHECK_POLICY ändras till OFF inträffar följande beteende:
- CHECK_EXPIRATION är också inställt på OFF.
- Lösenordshistoriken rensas.
- Värdet för lockout_time återställs.
Om MUST_CHANGE anges måste CHECK_EXPIRATION och CHECK_POLICY anges till PÅ. Annars misslyckas -instruktionen.
Om CHECK_POLICY är inställt på AV kan CHECK_EXPIRATION inte anges till PÅ. En ALTER LOGIN-instruktion som har den här kombinationen av alternativ misslyckas.
Du kan inte använda ALTER_LOGIN med argumentet INAKTIVERA för att neka åtkomst till en Windows-grupp. Detta är avsiktligt. Till exempel returnerar ALTER_LOGIN [domain\group] DISABLE följande felmeddelande:
"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."
I SQL Database cachelagras de inloggningsdata som krävs för att autentisera en anslutning och brandväggsregler på servernivå tillfälligt i varje databas. Den här cachen uppdateras regelbundet. Om du vill framtvinga en uppdatering av autentiseringscacheminnet och se till att en databas har den senaste versionen av inloggningstabellen kör du DBCC FLUSHAUTHCACHE.
Behörigheter
Kräver ALTER ANY LOGIN permission (Ändra alla inloggningsbehörigheter).
Om alternativet CREDENTIAL används kräver även ALTER ANY CREDENTIAL-behörighet.
Om inloggningen som ändras är medlem i sysadmin fast serverroll eller en beviljad behörighet för CONTROL SERVER, kräver även KONTROLLSERVER-behörighet när du gör följande ändringar:
- Återställa lösenordet utan att ange det gamla lösenordet.
- Aktivera MUST_CHANGE, CHECK_POLICY eller CHECK_EXPIRATION.
- Ändra inloggningsnamnet.
- Aktivera eller inaktivera inloggningen.
- Mappa inloggningen till en annan autentiseringsuppgift.
Ett huvudnamn kan ändra lösenordet, standardspråket och standarddatabasen för sin egen inloggning.
Exempel
De här exemplen innehåller också exempel på hur du använder andra SQL-produkter. Se vilka tidigare argument som stöds.
A. Aktivera en inaktiverad inloggning
I följande exempel aktiveras inloggnings-Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Ändra lösenordet för en inloggning
I följande exempel ändras lösenordet för inloggning Mary5
till ett starkt lösenord.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Ändra namnet på en inloggning
I följande exempel ändras namnet på inloggningen Mary5
till John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Mappa en inloggning till en autentiseringsuppgift
I följande exempel mappas inloggningen John2
till autentiseringsuppgifterna Custodian04
.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Mappa en inloggning till en utökningsbar nyckelhanteringsautentiseringsuppgift
I följande exempel mappas inloggningen Mary5
till EKM-autentiseringsuppgifterna EKMProvider1
.
gäller för: SQL Server 2008 (10.0.x) och senare.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Låsa upp en inloggning
Om du vill låsa upp en SQL Server-inloggning kör du följande instruktion och ersätter ****
med önskat kontolösenord.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
Om du vill låsa upp en inloggning utan att ändra lösenordet inaktiverar du kontrollprincipen och sedan på igen.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Ändra lösenordet för en inloggning med HASHED
I följande exempel ändras lösenordet för TestUser
inloggning till ett redan hashat värde.
gäller för: SQL Server 2008 (10.0.x) och senare.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO