Sdílet prostřednictvím


sp_addlogin (Transact-SQL)

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.

Transact-SQL konvence syntaxe

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;