sql >> Databáze >  >> RDS >> Sqlserver

Změňte heslo pro přihlášení k serveru SQL

Tento článek ukazuje, jak změnit heslo pro přihlášení k serveru SQL pomocí T-SQL.

Heslo pro jiné přihlášení můžete změnit (za předpokladu, že máte příslušná oprávnění), nebo jej můžete změnit pro své vlastní přihlášení. Tento článek popisuje oba tyto scénáře.

Příklad

Chcete-li změnit heslo pro přihlášení k serveru SQL Server, použijte ALTER LOGIN příkaz s WITH PASSWORD argument.

Zde je příklad.

ALTER LOGIN Bart
    WITH PASSWORD = '$trongPwd123';

Tento příkaz můžete spustit a změnit heslo svého vlastního nebo jiného přihlášení, ale vyžaduje to, abyste měli ALTER ANY LOGIN povolení.

Pokud nemáte ALTER ANY LOGIN povolení, zobrazí se tato chyba:

Msg 15151, Level 16, State 1, Line 2
Cannot alter the login 'Bart', because it does not exist or you do not have permission.

Změňte své vlastní heslo

Pro změnu vlastního přihlašovacího hesla (tj. když jste přihlášeni jako přihlašovací jméno) můžete použít výpis z předchozího příkladu. Jak již bylo zmíněno, budete potřebovat ALTER ANY LOGIN povolení.

Své vlastní heslo však můžete změnit, i když neučiníte mít ALTER ANY LOGIN povolení.

Způsob, jak toho dosáhnout, je zahrnout staré i nové heslo.

ALTER LOGIN Bart
    WITH PASSWORD = 'StrongPwd!'
    OLD_PASSWORD = '$trongPwd123';

Ve skutečnosti jsem se přihlásil jako Bart a provedl toto prohlášení a obdržel následující potvrzení.

Commands completed successfully.

Bart ve skutečnosti nemá ALTER ANY LOGIN svolení, ale stále byl schopen změnit své vlastní heslo poskytnutím svého starého hesla.

Zde je to, co se stane, když se Bart pokusí změnit heslo, aniž by zadal staré heslo.

ALTER LOGIN Bart
    WITH PASSWORD = 'WheelyStwongPwd!';

Výsledek:

Msg 15151, Level 16, State 1, Line 1
Cannot alter the login 'Bart', because it does not exist or you do not have permission.

Ale jak můžete očekávat, pokud se přihlásím jako sa a znovu jej spustit, mohu jej změnit bez zadání starého hesla.

ALTER LOGIN Bart
    WITH PASSWORD = 'WheelyStwongPwd!';

Výsledek:

Commands completed successfully.

  1. Jak získat počet řádků v tabulce MySQL pomocí PHP?

  2. Jak získat aktuální čas v SQLite

  3. Proč PostgreSQL provádí sekvenční skenování na indexovaném sloupci?

  4. Oracle:jak seskupit podle rozsahu?