Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Vytvoří nové přihlášení k SQL Serveru, které uživateli umožní připojit se k instanci SQL Serveru pomocí ověřování SQL Serveru.
Důležité
Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Místo toho použijte CREATE LOGIN .
Důležité
Pokud je to možné, použijte ověřování systému Windows.
Syntaxe
sp_addlogin
[ @loginame = ] N'loginame'
[ , [ @passwd = ] N'passwd' ]
[ , [ @defdb = ] N'defdb' ]
[ , [ @deflanguage = ] N'deflanguage' ]
[ , [ @sid = ] sid ]
[ , [ @encryptopt = ] 'encryptopt' ]
[ ; ]
Argumenty
[ @loginame = ] N'loginame'
Jméno přihlášení. @loginame je sysname bez výchozího nastavení.
[ @passwd = ] N'passwd'
Přihlašovací heslo.
@passwd je sysname s výchozím nastavením NULL.
Důležité
Nepoužívejte prázdné heslo. Použijte silné heslo.
[ @defdb = ] N'defdb'
Výchozí databáze přihlášení (databáze, ke které je přihlášení poprvé připojeno po přihlášení).
@defdb je sysname, s výchozím nastavením master.
[ @deflanguage = ] N'deflanguage'
Výchozí jazyk přihlášení.
@deflanguage je sysname s výchozím nastavením NULL. Pokud není zadaný @deflanguage , výchozí @deflanguage nového přihlášení je nastaveno na aktuální výchozí jazyk serveru.
[ @sid = ] Sid
Identifikační číslo zabezpečení (SID).
@sid je varbinary(16) s výchozím nastavením NULL. Pokud je @sidNULL, systém vygeneruje identifikátor SID pro nové přihlášení. Navzdory použití varbinárního datového typu musí být hodnoty jiné než NULL přesně 16 bajtů v délce a nemohou již existovat. Zadání @sid je užitečné, například při skriptování nebo přesouvání přihlášení SQL Serveru z jednoho serveru do druhého a chcete, aby přihlášení měla stejný identifikátor SID na různých serverech.
[ @encryptopt = ] 'encryptpt'
Určuje, zda je heslo předáno jako prostý text nebo jako hodnota hash hesla s jasným textem. Neprobíhá žádné šifrování. Slovo "šifrovat" se používá v této diskuzi kvůli zpětné kompatibilitě. Pokud se předá nezašifrované textové heslo, zatřiďuje se. Hodnota hash se uloží. @encryptopt je varchar(20) a může to být jedna z následujících hodnot.
| Hodnota | Popis |
|---|---|
NULL (výchozí) |
Heslo se předává beze dokumentace. |
skip_encryption |
Heslo je již hashováno. Databázový stroj by měl hodnotu uložit, aniž by ji znovu namašli. |
skip_encryption_old |
Zadané heslo bylo hashováno starší verzí SQL Serveru. Databázový stroj by měl hodnotu uložit, aniž by ji znovu namašli. Tato možnost je k dispozici pouze pro účely upgradu. |
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Poznámky
Přihlášení k SQL Serveru můžou obsahovat 1 až 128 znaků, včetně písmen, symbolů a čísel. Přihlášení nemohou obsahovat zpětné lomítko (\), být vyhrazené přihlašovací jméno, například sa nebo veřejné nebo již existuje, nebo být NULL nebo prázdný řetězec.
Pokud je zadán název výchozí databáze, můžete se připojit k zadané databázi bez provedení USE příkazu. Výchozí databázi ale nemůžete použít, dokud k této databázi nebudete mít přístup vlastníkem databáze (pomocí sp_adduser, sp_addrolemember) nebo sp_addrole.
Identifikátor SID je identifikátor GUID, který jednoznačně identifikuje přihlášení na serveru.
Změna výchozího jazyka serveru nezmění výchozí jazyk existujících přihlášení. Pokud chcete změnit výchozí jazyk serveru, použijte sp_configure.
Použití skip_encryption k potlačení hash hesel je užitečné, pokud je heslo již hashováno při přidání přihlášení do SQL Serveru. Pokud heslo zatěžoval starší verze SQL Serveru, použijte skip_encryption_old.
sp_addlogin nelze spustit v rámci uživatelem definované transakce.
Následující tabulka uvádí několik uložených procedur, které se používají s sp_addlogin.
| Uložená procedura | Popis |
|---|---|
| sp_grantlogin | Přidá uživatele nebo skupinu Windows. |
| sp_password | Změní heslo uživatele. |
| sp_defaultdb | Změní výchozí databázi uživatele. |
| sp_defaultlanguage | Změní výchozí jazyk uživatele. |
Povolení
Vyžaduje oprávnění ALTER ANY LOGIN.
Příklady
A. Vytvoření přihlášení k SQL Serveru
Následující příklad vytvoří pro uživatele Victoriapřihlášení k SQL Serveru bez zadání výchozí databáze. Nahraďte <password> silným heslem.
EXECUTE sp_addlogin 'Victoria', '<password>';
GO
B. Vytvoření přihlášení k SQL Serveru s výchozí databází
Následující příklad vytvoří přihlášení SQL Serveru pro uživatele Alberta výchozí databázi corporate. Nahraďte <password> silným heslem.
EXECUTE sp_addlogin 'Albert', '<password>', 'corporate';
GO
C. Vytvoření přihlášení k SQL Serveru s jiným výchozím jazykem
Následující příklad vytvoří přihlášení SQL Serveru pro uživatele TzTodorov, výchozí databázi AdventureWorks2025a výchozí jazyk Bulgarian. Nahraďte <password> silným heslem.
EXECUTE sp_addlogin 'TzTodorov', '<password>', 'AdventureWorks2022', N'български';
D. Vytvoření přihlášení SQL Serveru s konkrétním identifikátorem SID
Následující příklad vytvoří přihlášení SQL Serveru pro uživatele Michael, výchozí databázi AdventureWorks2025, výchozí jazyk us_englisha IDENTIFIKÁTOR SID .0x0123456789ABCDEF0123456789ABCDEF Nahraďte <password> silným heslem.
EXECUTE sp_addlogin 'Michael', '<password>', 'AdventureWorks2022', 'us_english', 0x0123456789ABCDEF0123456789ABCDEF;
Související obsah
- VYTVOŘIT PŘIHLÁŠENÍ (Transact-SQL)
- sp_droplogin (Transact-SQL)
- sp_helpuser (Transact-SQL)
- sp_revokelogin (Transact-SQL)
- xp_logininfo (Transact-SQL)