Megosztás a következőn keresztül:


sp_addlogin (Transact-SQL)

A következőkre vonatkozik:SQL Server

Létrehoz egy új SQL Server-bejelentkezést, amely lehetővé teszi, hogy a felhasználó SQL Server-hitelesítéssel csatlakozzon egy SQL Server-példányhoz.

Fontos

Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Használja helyette a CREATE LOGIN parancsot .

Fontos

Ha lehetséges, windowsos hitelesítést használjon.

Transact-SQL szintaxis konvenciók

Szemantika

sp_addlogin
    [ @loginame = ] N'loginame'
    [ , [ @passwd = ] N'passwd' ]
    [ , [ @defdb = ] N'defdb' ]
    [ , [ @deflanguage = ] N'deflanguage' ]
    [ , [ @sid = ] sid ]
    [ , [ @encryptopt = ] 'encryptopt' ]
[ ; ]

Érvek

[ @loginame = ] N'loginame'

A bejelentkezés neve. @loginamea sysname, alapértelmezés nélkül.

[ @passwd = ] N'passwd'

A bejelentkezési jelszó. @passwda sysname, alapértelmezés szerint NULLa .

Fontos

Ne használjon üres jelszót. Használjon erős jelszót.

[ @defdb = ] N'defdb'

A bejelentkezés alapértelmezett adatbázisa (az adatbázis, amelyhez a bejelentkezés először csatlakozik a bejelentkezés után). @defdba sysname, alapértelmezés szerint mastera .

[ @deflanguage = ] N'deflanguage'

A bejelentkezés alapértelmezett nyelve. @deflanguagea sysname, alapértelmezés szerint NULLa . Ha nincs megadva @deflanguage, az új bejelentkezés alapértelmezett @deflanguage a kiszolgáló aktuális alapértelmezett nyelvére van állítva.

[ @sid = ] sid

A biztonsági azonosító szám (SID). @sida varbinary(16), alapértelmezés szerint NULLa . Ha @sid , NULLa rendszer létrehoz egy SID-t az új bejelentkezéshez. A varbináris adattípus használata ellenére a nem csak 16 bájt hosszúságú értékeknek NULL kell lenniük, és még nem létezhetnek. A @sid megadása hasznos lehet például akkor, ha SQL Server-bejelentkezéseket szkriptel vagy helyez át egyik kiszolgálóról a másikra, és azt szeretné, hogy a bejelentkezések ugyanazt a SID-et használják a különböző kiszolgálókon.

[ @encryptopt = ] "encryptopt"

Megadja, hogy a jelszó tiszta szövegként vagy a tiszta szöveges jelszó kivonataként legyen-e átadva. Nincs titkosítás. A "titkosítás" szó a visszafelé kompatibilitás érdekében használatos ebben a vitában. Ha tiszta szöveges jelszót ad át, az kivonatos lesz. A kivonatot a rendszer tárolja. @encryptoptvarchar(20), és az alábbi értékek egyike lehet.

Érték Leírás
NULL (alapértelmezett) A jelszó átadása egyértelmű.
skip_encryption A jelszó már kivonatolt. Az adatbázismotornak újramosás nélkül kell tárolnia az értéket.
skip_encryption_old A megadott jelszót az SQL Server egy korábbi verziója kivonatolt. Az adatbázismotornak újramosás nélkül kell tárolnia az értéket. Ez a beállítás csak frissítési célokra érhető el.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Megjegyzések

Az SQL Server-bejelentkezések 1–128 karaktert tartalmazhatnak, beleértve a betűket, szimbólumokat és számokat. A bejelentkezések nem tartalmazhatnak fordított perjelet (\); lehet fenntartott bejelentkezési név, például sa vagy nyilvános, vagy már létezik; vagy üres NULL sztring.

Ha meg van adva egy alapértelmezett adatbázis neve, az utasítás végrehajtása nélkül is csatlakozhat a USE megadott adatbázishoz. Az alapértelmezett adatbázist azonban csak akkor használhatja, ha az adatbázis tulajdonosa ( sp_adduser, sp_addrolemember) vagy sp_addrole kap hozzáférést az adatbázishoz.

A SID-szám egy GUID, amely egyedileg azonosítja a bejelentkezést a kiszolgálón.

A kiszolgáló alapértelmezett nyelvének módosítása nem módosítja a meglévő bejelentkezések alapértelmezett nyelvét. A kiszolgáló alapértelmezett nyelvének módosításához használja a sp_configure.

A skip_encryption jelszókivonatolás mellőzése akkor hasznos, ha a jelszó már kivonatolt, amikor a bejelentkezés hozzáadódik az SQL Serverhez. Ha a jelszót az SQL Server egy korábbi verziója kivonatolt, használja a következőt skip_encryption_old: .

sp_addlogin nem hajtható végre felhasználó által megadott tranzakción belül.

Az alábbi táblázat számos olyan tárolt eljárást mutat be, amelyek a következőkkel sp_addloginhasználhatók:

Tárolt eljárás Leírás
sp_grantlogin Windows-felhasználót vagy -csoportot ad hozzá.
sp_password Módosítja egy felhasználó jelszavát.
sp_defaultdb Módosítja egy felhasználó alapértelmezett adatbázisát.
sp_defaultlanguage A felhasználó alapértelmezett nyelvének módosítása.

Engedélyek

MINDEN BEJELENTKEZÉSI ENGEDÉLY MÓDOSÍTÁSA szükséges.

Példák

Egy. SQL Server-bejelentkezés létrehozása

Az alábbi példa létrehoz egy SQL Server-bejelentkezést a felhasználó Victoriaszámára az alapértelmezett adatbázis megadása nélkül. Cserélje le <password> erős jelszóra.

EXECUTE sp_addlogin 'Victoria', '<password>';
GO

B. Alapértelmezett adatbázissal rendelkező SQL Server-bejelentkezés létrehozása

Az alábbi példa létrehoz egy SQL Server-bejelentkezést a felhasználó Albertszámára, és egy alapértelmezett adatbázist.corporate Cserélje le <password> erős jelszóra.

EXECUTE sp_addlogin 'Albert', '<password>', 'corporate';
GO

C. Más alapértelmezett nyelvvel rendelkező SQL Server-bejelentkezés létrehozása

Az alábbi példa egy SQL Server-bejelentkezést hoz létre a felhasználó TzTodorovszámára, egy alapértelmezett adatbázist AdventureWorks2025és egy alapértelmezett nyelvet Bulgarian. Cserélje le <password> erős jelszóra.

EXECUTE sp_addlogin 'TzTodorov', '<password>', 'AdventureWorks2022', N'български';

D. Adott SID-sel rendelkező SQL Server-bejelentkezés létrehozása

Az alábbi példa létrehoz egy SQL Server-bejelentkezést a felhasználó Michaelszámára, egy alapértelmezett adatbázist AdventureWorks2025, egy alapértelmezett nyelvet us_englishés egy SID-t 0x0123456789ABCDEF0123456789ABCDEF. Cserélje le <password> erős jelszóra.

EXECUTE sp_addlogin 'Michael', '<password>', 'AdventureWorks2022', 'us_english', 0x0123456789ABCDEF0123456789ABCDEF;