Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-adatbázis a Microsoft Fabricben
Hozzáad egy felhasználót az aktuális adatbázishoz. Az alábbi lista a 13 felhasználótípust mutatja be, valamint a legalapvetőbb szintaxis mintáját:
Note
Bár a Microsoft Entra ID az Azure Active Directory (Azure AD)
felhasználók a master
Windows Active Directory-fiókon alapuló bejelentkezésen alapuló felhasználó.
CREATE USER [Contoso\test];Felhasználó windowsos csoporton alapuló bejelentkezés alapján.
CREATE USER [Contoso\Sales];Felhasználó egy bejelentkezés alapján, amely SQL Server hitelesítést használ.
CREATE USER Mary;Microsoft Entra-bejelentkezésen alapuló felhasználó.
CREATE USER [test@contoso.com] FROM LOGIN [test@contoso.com]Note
Microsoft Entra-kiszolgálónevek (bejelentkezések) jelenleg nyilvános előzetes verzióban érhetők el az Azure SQL Database-hez.
Note
Az SQL adatbázis a Microsoft Fabric-ben nem támogatja a bejelentkezéseket vagy a bejelentkezések alapján használt felhasználókat.
Adatbázisban hitelesítő felhasználók – Használj tárolt felhasználókat, hogy az adatbázisod hordozhatóbbé váljon.
Mindig engedélyezett az Azure SQL Database-ben. Csak az SQL Server egy tartalmazott adatbázisában engedélyezett.
Olyan Windows-felhasználón alapuló felhasználó, aki nem rendelkezik bejelentkezéssel.
CREATE USER [Contoso\test];Olyan Windows-csoporton alapuló felhasználó, amely nem rendelkezik bejelentkezéssel.
CREATE USER [Contoso\Sales];Felhasználó az SQL Database-ben vagy az Azure Synapse Analyticsben Egy Microsoft Entra-felhasználó alapján.
CREATE USER [test@contoso.com] FROM EXTERNAL PROVIDER;Tartalmazott adatbázis-felhasználó jelszóval. (Az Azure Synapse Analytics nem érhető el.)
CREATE USER Mary WITH PASSWORD = '********';
Windows-csoportbeli bejelentkezéseken keresztül csatlakozó Windows-tagokon alapuló felhasználók
Olyan Windows-felhasználón alapuló felhasználó, aki nem rendelkezik bejelentkezéssel, de egy Windows-csoport tagságán keresztül csatlakozhat az adatbázismotorhoz.
CREATE USER [Contoso\test];A felhasználó olyan Windows-csoporton alapul, amely nem rendelkezik bejelentkezéssel, de egy másik Windows-csoport tagságán keresztül csatlakozhat az adatbázismotorhoz.
CREATE USER [Contoso\test];
felhasználók, amelyek nem tudnak hitelesíteni – Ezek a felhasználók nem tudnak bejelentkezni az SQL Serverbe vagy az SQL Database-be.
- Bejelentkezés nélküli felhasználó. Nem lehet bejelentkezni, de engedélyt kaphat.
CREATE USER CustomApp WITHOUT LOGIN; - Felhasználó tanúsítvány alapján. Nem lehet bejelentkezni, de engedélyeket kaphat, és modulokat írhat alá.
CREATE USER TestProcess FOR CERTIFICATE Contoso50; - Felhasználó aszimmetrikus kulcs alapján. Nem lehet bejelentkezni, de engedélyeket kaphat, és modulokat írhat alá.
CREATE User TestProcess FROM ASYMMETRIC KEY Contoso09;
Transact-SQL szintaxis konvenciói
Syntax
Szintaxis az SQL Serverhez, az Azure SQL Database-hez és a felügyelt Azure SQL-példányhoz
-- Syntax Users based on logins in master
CREATE USER user_name
[
{ FOR | FROM } LOGIN login_name
]
[ WITH <limited_options_list> [ , ... ] ]
[ ; ]
-- Users that authenticate at the database
CREATE USER
{
windows_principal [ WITH <options_list> [ , ... ] ]
| user_name WITH PASSWORD = 'password' [ , <options_list> [ , ... ]
| Microsoft_Entra_principal FROM EXTERNAL PROVIDER [ WITH OBJECT_ID = 'objectid' ]
}
[ ; ]
-- Users based on Windows principals that connect through Windows group logins
CREATE USER
{
windows_principal [ { FOR | FROM } LOGIN windows_principal ]
| user_name { FOR | FROM } LOGIN windows_principal
}
[ WITH <limited_options_list> [ , ... ] ]
[ ; ]
-- Users that cannot authenticate
CREATE USER user_name
{
WITHOUT LOGIN [ WITH <limited_options_list> [ , ... ] ]
| { FOR | FROM } CERTIFICATE cert_name
| { FOR | FROM } ASYMMETRIC KEY asym_key_name
}
[ ; ]
<options_list> ::=
DEFAULT_SCHEMA = schema_name
| DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }
| SID = sid
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ] ]
<limited_options_list> ::=
DEFAULT_SCHEMA = schema_name ]
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ] ]
-- SQL Database syntax when connected to a federation member
CREATE USER user_name
[;]
-- Syntax for users based on Microsoft Entra logins for Azure SQL Managed Instance
CREATE USER user_name
[ { FOR | FROM } LOGIN login_name ]
| FROM EXTERNAL PROVIDER
[ WITH <limited_options_list> [ , ... ] ]
[ ; ]
<limited_options_list> ::=
DEFAULT_SCHEMA = schema_name
| DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ] ]
Az Azure Synapse Analytics szintaxisa
CREATE USER user_name
[ { { FOR | FROM } { LOGIN login_name }
| WITHOUT LOGIN
]
[ WITH DEFAULT_SCHEMA = schema_name ]
[;]
CREATE USER Microsoft_Entra_principal FROM EXTERNAL PROVIDER
[ WITH DEFAULT_SCHEMA = schema_name ]
[;]
Az SQL Database szintaxisa a Microsoft Fabricben és az Azure SQL Database-ben
CREATE USER
{
Microsoft_Entra_principal FROM EXTERNAL PROVIDER [ WITH <limited_options_list> [ , ... ] ]
| Microsoft_Entra_principal WITH <options_list> [ , ... ]
}
[ ; ]
-- Users that cannot authenticate
CREATE USER user_name
{ WITHOUT LOGIN [ WITH DEFAULT_SCHEMA = schema_name ]
| { FOR | FROM } CERTIFICATE cert_name
| { FOR | FROM } ASYMMETRIC KEY asym_key_name
}
[ ; ]
<limited_options_list> ::=
DEFAULT_SCHEMA = schema_name
| OBJECT_ID = 'objectid'
<options_list> ::=
DEFAULT_SCHEMA = schema_name
| SID = sid
| TYPE = { X | E }
Arguments
user_name
Megadja azt a nevet, amellyel a felhasználó azonosítható az adatbázisban. user_name egy sysname. Legfeljebb 128 karakter hosszú lehet. Ha windowsos rendszernév alapján hoz létre felhasználót, a Windows egyszerű neve lesz a felhasználónév, kivéve, ha más felhasználónév van megadva.
LOGIN login_name
Megadja azt a bejelentkezést, amelyhez az adatbázis-felhasználó létrejön. login_name érvényes bejelentkezésnek kell lennie a kiszolgálón. Lehet windowsos egyszerű (felhasználó vagy csoport), SQL Server-hitelesítést használó bejelentkezés vagy Microsoft Entra-egyszerű (felhasználó, csoport vagy alkalmazás) használatával történő bejelentkezés. Amikor ez az SQL Server-bejelentkezés belép az adatbázisba, beolvasja a létrehozott adatbázis-felhasználó nevét és azonosítóját. Windows-tagról leképezett bejelentkezés létrehozásakor használja a következő formátumot: [<domainName>\<loginName>]. Példák: Szintaxis összegzése.
Ha az utasítás CREATE USER az egyetlen utasítás egy SQL batchben, az Azure SQL Database támogatja az WITH LOGIN záradékot. Ha az utasítás CREATE USER nem az egyetlen utasítás egy SQL batchben, vagy dinamikus SQL-ben fut, akkor a WITH LOGIN záradék nem támogatott.
AHOL DEFAULT_SCHEMA = schema_name
A kiszolgáló által az adatbázis-felhasználó objektumainak neveinek feloldásakor keresett első sémát adja meg.
'windows_principal'
Megadja azt a Windows-tagot, amelyhez az adatbázis-felhasználó létrejön. A windows_principal lehet Windows-felhasználó vagy Windows-csoport. A felhasználó akkor is létrejön, ha a windows_principal nem rendelkezik bejelentkezéssel. Ha az SQL Serverhez csatlakozik, ha a windows_principal nem rendelkezik bejelentkezéssel, a Windows-tagnak hitelesítenie kell az adatbázismotorban egy bejelentkezéssel rendelkező Windows-csoport tagságán keresztül, vagy a kapcsolati sztringnek meg kell adnia a tartalmazott adatbázist a kezdeti katalógusként. Ha windowsos egyszerű felhasználót hoz létre, használja a következő formátumot: [<domainName>\<loginName>]. Példák: Szintaxis összegzése. Az Active Directory-felhasználókon alapuló felhasználók legfeljebb 21 karakter hosszúságúak.
'Microsoft_Entra_principal'
Alkalmazható: SQL Server 2022 (16.x) és újabb verziók, SQL Database, SQL Managed Instance, Azure Synapse Analytics, SQL database in Microsoft Fabric
Megadja azt a Microsoft Entra-tagot, amelyhez az adatbázis-felhasználó létrejön. A Microsoft_Entra_principal lehet Microsoft Entra-felhasználó, Microsoft Entra-csoport vagy Microsoft Entra-alkalmazás. (A Microsoft Entra-felhasználók nem használhatnak Windows-hitelesítéses bejelentkezéseket az SQL Database-ben, csak az adatbázis felhasználói.) A kapcsolati sztringnek meg kell adnia a tartalmazott adatbázist kezdeti katalógusként.
Microsoft Entra alapvetítők számára a CREATE USER szintaxis megköveteli:
A Microsoft Entra-objektum UserPrincipalName neve a Microsoft Entra-felhasználók számára.
CREATE USER [test@contoso.com] FROM EXTERNAL PROVIDER;CREATE USER [alice@fabrikam.onmicrosoft.com] FROM EXTERNAL PROVIDER;
A Microsoft Entra-kiszolgálónevek (bejelentkezések) olyan felhasználók létrehozását vezetik be, amelyek az adatbázisban lévő Microsoft Entra-bejelentkezésekhez
mastervannak megfeleltetve. PéldáulCREATE USER [test@contoso.com] FROM LOGIN [test@contoso.com];A 2048-nál több Microsoft Entra biztonsági csoport tagjaiként működő Microsoft Entra-felhasználók és szolgáltatásnevek (alkalmazások) nem támogatottak az Azure SQL Database, az Azure SQL Managed Instance vagy az Azure Synapse adatbázisaiba való bejelentkezéshez.
Microsoft Entra-objektum DisplayName a Microsoft Entra-csoportokhoz és a Microsoft Entra-alkalmazásokhoz. Ha a Nővérek biztonsági csoportot használná, a következőt használná:
CREATE USER [Nurses] FROM EXTERNAL PROVIDER;
További információ: Csatlakozás az SQL Database-hez Microsoft Entra-hitelesítéssel.
További információ a Microsoft Entra-hitelesítésről az SQL Serverben : Oktatóanyag: A Microsoft Entra-hitelesítés beállítása az Azure Arc által engedélyezett SQL Serverhez.
JELSZÓVAL = 'jelszó'
Érvényes: SQL Server 2012 (11.x) és későbbi verziók, SQL Database.
Csak tartalmazott adatbázisban használható. Megadja a létrehozott felhasználó jelszavát.
Az SQL Server 2012-től (11.x) kezdve az SQL Server és az Azure SQL Database SHA-512 hash-et használt, amelyet egy 32 bites véletlenszerű és egyedi sót kombináltak. Ez a módszer statisztikailag kiszámíthatatlanná tette, hogy a támadók jelszavakat következtethessenek.
Az SQL Server 2025 (17.x) iterált kivonatoló algoritmust vezet be, RFC2898, más néven jelszóalapú kulcs származtatási függvényt (PBKDF). Ez az algoritmus továbbra is SHA-512-t használ, de többször is kivonatosítja a jelszót (100 000 iteráció), jelentősen lelassítva a találgatásos támadásokat. Ez a módosítás javítja a jelszóvédelmet a változó biztonsági fenyegetésekre válaszul, és segít az ügyfeleknek megfelelni az NIST SP 800-63b irányelveinek. Ez a biztonsági fejlesztés erősebb kivonatolási algoritmust használ, amely kis mértékben növelheti az SQL Authentication-bejelentkezések bejelentkezési idejét. A hatás általában alacsonyabb a kapcsolatkészletezéssel rendelkező környezetekben, de a készletezés nélküli helyzetekben vagy a bejelentkezési késést szorosan figyelik.
NÉLKÜLE LOGIN
Azt határozza meg, hogy a felhasználót nem szabad meglévő bejelentkezéshez leképezni.
CERTIFICATE cert_name
Érvényes: SQL Server 2008 (10.0.x) és újabb verziók, SQL Database, SQL adatbázis a Microsoft Fabric-ben
Megadja azt a tanúsítványt, amelyhez az adatbázis-felhasználó létrejön.
ASYMMETRIC KEY asym_key_name
Érvényes: SQL Server 2008 (10.0.x) és újabb verziók, SQL Database, SQL adatbázis a Microsoft Fabric-ben
Megadja azt az aszimmetrikus kulcsot, amelyhez az adatbázis-felhasználó létrejön.
DEFAULT_LANGUAGE = { NONE | <lcid> | <nyelv neve> | <nyelvi salias> }
Alkalmazható: SQL Server 2012 (11.x) és későbbi verziók, SQL Database
Az új felhasználó alapértelmezett nyelvét adja meg. Ha a felhasználónak alapértelmezett nyelvet adsz meg, majd később megváltoztatod az adatbázis alapértelmezett nyelvét, a felhasználó alapértelmezett nyelve a megadott módon marad. Ha nem határozsz meg alapértelmezett nyelvet, a felhasználó megkapja az adatbázis alapértelmezett nyelvét. Ha nem határozsz meg alapértelmezett nyelvet a felhasználónak, és később megváltoztatod az adatbázis alapértelmezett nyelvét, akkor a felhasználó alapértelmezett nyelve az adatbázis új alapértelmezett nyelvére változik.
Important
DEFAULT_LANGUAGE csak egy tartalmazott adatbázis-felhasználóhoz használható.
SID = sid
Érvényes: az SQL Server 2012 (11.x) és újabb verzióihoz, valamint az SQL adatbázisra a Microsoft Fabric-ben.
Az SQL Server 2012 (11.x) és későbbi verzióiban csak azokra a felhasználókra vonatkozik, akiknek jelszavakuk (SQL Server hitelesítés) van egy zárt adatbázisban. Az új adatbázis-felhasználó SID-azonosítóját adja meg. Ha nem választod ezt az opciót, az SQL Server automatikusan SID-et rendel hozzá. A SID paraméter használatával több olyan adatbázisban hozhat létre felhasználókat, amelyek azonos identitással (SID) rendelkeznek. Ez a funkció hasznos, amikor több adatbázisban is létrehozunk felhasználókat, hogy felkészüljenek a Always On rendszeres failoverre. A felhasználó SID-jának meghatározásához lekérdezést hajtson sys.database_principalsvégre.
A Microsoft Fabric SQL-adatbázisában sid a megadott Microsoft Entra-tag érvényes azonosítójának kell lennie. Ha az alap felhasználó vagy csoport, az azonosítónak a felhasználó vagy csoport Microsoft Entra objektumazonosítója kell legyen. Ha a Microsoft Entra alapvető szolgáltatási alap (alkalmazás vagy menedzselt identitás), akkor az azonosítónak alkalmazásazonosítónak vagy kliensazonosítónak kell lennie. A megadott azonosítónak binary(16) értéknek kell lennie. Az adatbázismotor nem ellenőrzi a megadott azonosítót a Microsoft Entra-ban. Ha az SID érvet használod, akkor be kell illesztened TYPE.
TYPE = [ E | X ]
A következőkre vonatkozik: SQL Database a Microsoft Fabricben és az Azure SQL Database-ben.
A Microsoft Entra-tag típusát adja meg.
E azt jelzi, hogy az egyszerű felhasználó vagy szolgáltatásnév (alkalmazás vagy felügyelt identitás).
X azt jelzi, hogy az egyszerű csoport.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ BE | KI ]
Érvényes: SQL Server 2016 (13.x) és későbbi verziók, SQL Database.
Letiltja a titkosítási metaadatok ellenőrzését a kiszolgálón tömeges másolási műveletek során. Így a felhasználó tömegesen másolhat titkosított adatokat táblák vagy adatbázisok között az adatok visszafejtése nélkül. Az alapértelmezett érték ki van kapcsolva.
Warning
A beállítás helytelen használata adatsérüléshez vezethet. További információ: Bizalmas adatok migrálása Always Encryptedáltal védett.
KÜLSŐ SZOLGÁLTATÓTÓL
Alkalmazható: SQL Server 2022 (16.x) és újabb verziók, SQL Database, Azure SQL Managed Instance, SQL database in Microsoft Fabric
Megadja, hogy a rendszernév a Microsoft Entra-hitelesítéshez legyen használva. Az SQL Server automatikusan ellenőrzi a megadott egyszerű nevet a Microsoft Entra-ban.
Ha a kijelentést kiadó megbízó CREATE USER Microsoft Entra felhasználói fő, akkor a megbízó vagy az igazgató csoportja a Microsoft Entra Directory Readers szerepében kell lennie.
Az SQL Database-ben és a felügyelt Azure SQL-példányban, ha a
Az SQL adatbázisban a Microsoft Fabric-ben nem használhatodFROM EXTERNAL PROVIDER, ha a kibocsátó fő CREATE USER szolgáltatási főszereplő a Microsoft Entra-ban. A szolgáltatásneveknek TYPE és SID argumentumokat kell használniuk a Microsoft Entra-tagok felhasználóinak létrehozásához.
WITH OBJECT_ID = "objectid"
Alkalmazható: SQL Server 2025 (17.x) és újabb verziók, SQL Database, Azure SQL Managed Instance, SQL database in Microsoft Fabric
A Microsoft Entra objektumazonosítóját adja meg. Ha megadod a OBJECT_ID, akkor user_name lehet egy felhasználó által definiált alias, amely az eredeti fő megjelenítési névből származik, és egy utótaggal van hozzácsatolva. A user_name egyedi névnek kell lennie a sys.database_principals nézetben, és be kell tartania az összes többi sysname korlátozást. További információért WITH OBJECT_ID a lehetőség használatáról lásd: Microsoft Entra bejelentkezések és nem egyedi megjelenítési nevű felhasználók oldala.
Note
Az SQL Server 2025-től (17.x) kezdve ez az WITH OBJECT_ID opció támogatott a Microsoft Entra bejelentkezések és egyedi megjelenítési nevű felhasználók számára.
Ha a szolgáltatásfő megjelenítési neve nem duplikát, használd az alapértelmezett CREATE LOGIN vagy CREATE USER utasítást. A WITH OBJECT_ID bővítmény egy hibaelhárítási javítóelem, amelyet nemunique szolgáltatásnévvel való használatra implementáltak. Nem ajánlott egyedi szolgáltatásfelelőssel használni. A szolgáltatásnév bővítményének WITH OBJECT_ID használata utótag hozzáadása nélkül sikeresen fut, de nem egyértelmű, hogy melyik szolgáltatásnévhez lett létrehozva a bejelentkezés vagy a felhasználó. Ajánlott alias létrehozása utótag használatával a szolgáltatási alap egyedi azonosítására.
Remarks
Ha kihagyod FOR LOGIN, az új adatbázis-felhasználó a SQL Server bejelentkezéshez hasonló néven egyezik meg.
Az alapértelmezett séma az első séma, amelyet a szerver keres, amikor megoldja az objektumok nevét az adatbázis-felhasználó számára. Ha másként nincs megadva, az alapértelmezett séma az adatbázis-felhasználó által létrehozott objektumok tulajdonosa.
Ha a felhasználónak alapértelmezett sémája van, a szerver azt használja az alapértelmezett sémát. Ha a felhasználónak nincs alapértelmezett sémája, de tagja egy olyan csoportnak, amelynek alapértelmezett sémája van, a szerver a csoport alapértelmezett sémáját használja. Ha a felhasználónak nincs alapértelmezett sémája, és több csoporthoz tartozik, a szerver a Windows csoport alapértelmezett sémáját használja, amely a legalacsonyabb principal_id a csoportok között, amelyeknek kifejezetten beállított alapértelmezett sémája van. Nem választhatod ki kifejezetten az alapértelmezett sémák közül az egyik preferált sémát. Ha a szerver nem tud alapértelmezett sémát meghatározni egy felhasználónak, akkor a dbo sémát használja.
Be lehet állítani DEFAULT_SCHEMA , mielőtt létrehoznád azt a sémát, amire mutat.
Nem lehet megadni DEFAULT_SCHEMA , mikor hozol létre egy tanúsítványhoz vagy aszimmetrikus kulcshoz leképezett felhasználót.
A szerver figyelmen kívül hagyja azt az értéket, hogy DEFAULT_SCHEMA ha a felhasználó tagja a sysadmin fix szerver szerepnek. A sysadmin fix szerver szerep minden tagjának alapértelmezett sémája .dbo
Ez a WITHOUT LOGIN záradék olyan felhasználót hoz létre, amely nem egy SQL hitelesítésű bejelentkezéshez van leképezve. Vendégként más adatbázisokhoz is csatlakozhat. Jogosultságokat rendelhetsz hozzá a felhasználónak bejelentkezés nélkül is. Amikor a biztonsági kontextus megváltozik a bejelentkezés nélküli felhasználóra, az eredeti felhasználó megkapja a bejelentkezés nélküli felhasználó jogosultságát. Például lásd : D. Felhasználó létrehozása és használata bejelentkezés nélkül.
Csak a Windows-tagokra leképezett felhasználók tartalmazhatják a fordított perjel karaktert (\).
Nem lehet használni CREATE USER vendégfelhasználót, mert a vendégfelhasználó már minden adatbázisban létezik. Engedélyezheted a vendégfelhasználót azzal, hogy engedélyt adsz neki CONNECT , ahogy az látható:
GRANT CONNECT TO guest;
GO
Az adatbázis felhasználóiról szóló információkat a sys.database_principals katalógus nézetben tekintheted meg.
A szintaxisbővítmény FROM EXTERNAL PROVIDER kiszolgálószintű Microsoft Entra-bejelentkezések létrehozásához az Azure SQL Database-ben és a felügyelt Azure SQL-példányban. Microsoft Entra bejelentkezések használatával az adatbázis-szintű Microsoft Entra alapelveket szerverszintű Microsoft Entra bejelentkezésekkel térképezhetjük le. Ha Microsoft Entra felhasználót szeretnél létrehozni egy Microsoft Entra bejelentkezésből, használd a következő szintaxist:
CREATE USER [Microsoft_Entra_principal] FROM LOGIN [Microsoft Entra login];
Amikor létrehozod a felhasználót a Azure SQL adatbázisban, a login_name egy meglévő Microsoft Entra bejelentkezésnek kell felelnie. Ellenkező esetben FROM EXTERNAL PROVIDER a záradék használata csak egy Microsoft Entra felhasználót hoz létre bejelentkezés nélkül az master adatbázisban. Például a következő parancs létrehoz egy zárt felhasználót:
CREATE USER [test@contoso.com] FROM EXTERNAL PROVIDER;
Szintaxis összefoglaló
felhasználók a master
Az alábbi lista a bejelentkezések alapján a felhasználók lehetséges szintaxisát mutatja be. Az alapértelmezett sémabeállítások nincsenek felsorolva.
CREATE USER [Domain1\WindowsUserTest]CREATE USER [Domain1\WindowsUserTest] FOR LOGIN Domain1\WindowsUserTestCREATE USER [Domain1\WindowsUserTest] FROM LOGIN Domain1\WindowsUserTestCREATE USER [Domain1\WindowsGroupManagers]CREATE USER [Domain1\WindowsGroupManagers] FOR LOGIN [Domain1\WindowsGroupManagers]CREATE USER [Domain1\WindowsGroupManagers] FROM LOGIN [Domain1\WindowsGroupManagers]CREATE USER SQLAUTHLOGINCREATE USER SQLAUTHLOGIN FOR LOGIN SQLAUTHLOGINCREATE USER SQLAUTHLOGIN FROM LOGIN SQLAUTHLOGIN
az adatbázis- hitelesítést használó felhasználók
Az alábbi lista olyan felhasználók lehetséges szintaxisát mutatja be, amelyek csak tartalmazott adatbázisban használhatók. A létrehozott felhasználók nem fognak kapcsolódni a fő-adatbázisban lévő bejelentkezésekhez. Az alapértelmezett séma- és nyelvi beállítások nincsenek felsorolva.
Important
Ez a szintaxis hozzáférést biztosít a felhasználóknak az adatbázishoz, és új hozzáférést biztosít az adatbázismotorhoz.
CREATE USER [Domain1\WindowsUserTest]CREATE USER [Domain1\WindowsGroupManagers]CREATE USER Test WITH PASSWORD = '<strong password>'
Windows-tagokon alapuló felhasználók bejelentkezés nélkül a master rendszeradatbázisban
Az alábbi lista olyan felhasználók lehetséges szintaxisát mutatja be, akiknek hozzáférésük van az adatbázismotorhoz egy Windows-csoporton keresztül, de nem rendelkeznek bejelentkezéssel a master rendszeradatbázisban. Ez a szintaxis minden típusú adatbázisban használható. Az alapértelmezett séma- és nyelvi beállítások nincsenek felsorolva.
Ez a szintaxis hasonló a master-ben lévő bejelentkezéseken alapuló felhasználókhoz, de ebben a felhasználókategóriában nincs bejelentkezés a master. A felhasználónak hozzáféréssel kell rendelkeznie az adatbázismotorhoz Egy Windows-csoport bejelentkezésével.
Ez a szintaxis hasonló a Windows-tagokon alapuló tárolt adatbázis-felhasználókhoz, de ez a felhasználókategória nem kap új hozzáférést az adatbázismotorhoz.
CREATE USER [Domain1\WindowsUserTest]CREATE USER [Domain1\WindowsUserTest] FOR LOGIN Domain1\WindowsUserTestCREATE USER [Domain1\WindowsUserTest] FROM LOGIN Domain1\WindowsUserTestCREATE USER [Domain1\WindowsGroupManagers]CREATE USER [Domain1\WindowsGroupManagers] FOR LOGIN [Domain1\WindowsGroupManagers]CREATE USER [Domain1\WindowsGroupManagers] FROM LOGIN [Domain1\WindowsGroupManagers]
felhasználók, amelyek nem tudják hitelesíteni
Az alábbi lista olyan felhasználók lehetséges szintaxisát mutatja be, amelyek nem tudnak bejelentkezni az SQL Serverre.
CREATE USER RIGHTSHOLDER WITHOUT LOGINCREATE USER CERTUSER FOR CERTIFICATE SpecialCertCREATE USER CERTUSER FROM CERTIFICATE SpecialCertCREATE USER KEYUSER FOR ASYMMETRIC KEY SecureKeyCREATE USER KEYUSER FROM ASYMMETRIC KEY SecureKey
Biztonság
A felhasználó létrehozása hozzáférést biztosít egy adatbázishoz, de nem biztosít automatikusan hozzáférést az adatbázis objektumaihoz. A felhasználó létrehozása után gyakori műveletek a felhasználók hozzáadása adatbázis-szerepkörökhöz, amelyek rendelkeznek hozzáféréssel az adatbázis-objektumokhoz, vagy objektumengedélyek biztosítása a felhasználó számára. Az engedélyrendszer kialakításáról további információt az Az adatbázismotor engedélyeinek használatának első lépéseicímű témakörben talál.
Speciális szempontok a zárt adatbázisokra vonatkozóan
Tartalmazott adatbázishoz való csatlakozáskor, ha a felhasználó nem rendelkezik bejelentkezéssel a master adatbázisban, a kapcsolati sztringnek tartalmaznia kell a tartalmazott adatbázis nevét kezdeti katalógusként. A kezdeti katalógusparaméterre mindig szükség van egy jelszóval rendelkező tárolt adatbázis-felhasználó számára.
A tárolt adatbázisokban a felhasználók létrehozása segít elválasztani az adatbázist az adatbázismotor példányától, hogy az adatbázis könnyen áthelyezhető legyen az SQL Server egy másik példányára. További információ: Tartalmazott adatbázisok és Tartalmazott adatbázis-felhasználók – Az adatbázis hordozhatóvá tétele. Az adatbázis-felhasználó SQL hitelesítésű bejelentkezési alapú felhasználóról jelszóval rendelkező zárt adatbázis-felhasználóra való megváltoztatásához lásd a sp_migrate_user_to_contained (Transact-SQL) oldalt.
Egy tartalmazott adatbázisban a felhasználóknak nem kell bejelentkezni a master adatbázisba. Az adatbázismotor-rendszergazdáknak tisztában kell lenniük azzal, hogy a tartalmazott adatbázisokhoz való hozzáférés az adatbázis-motorszint helyett az adatbázis szintjén biztosítható. További információ: Ajánlott biztonsági eljárások a tartalmazott adatbázisokkal.
Ha tartalmazott adatbázis-felhasználókat használ az Azure SQL Database-ben, a hozzáférést kiszolgálószintű tűzfalszabály helyett egy adatbázisszintű tűzfalszabály használatával konfigurálja. További információ: sp_set_database_firewall_rule (Azure SQL Database).
SQL Server 2022 (16.x), Azure SQL Database, Azure SQL Managed Instance és Azure Synapse Analytics által tartalmazott adatbázis-felhasználók esetében az SSMS támogatja a többfaktoros hitelesítést. További információ: A Microsoft Entra többtényezős hitelesítés használata.
Permissions
Megköveteli az adatbázis BÁRMILYEN USER MÓDOSÍTÁSI engedélyét.
Jogosultságok az SQL Server 2022 és későbbi verziókhoz
Az adatbázishoz CREATE USER engedély szükséges.
Examples
A. Hozzon létre adatbázis-felhasználót egy SQL Server bejelentkezés alapján
A következő példa először létrehoz egy SQL Server bejelentkezést az adatbázisban nevelt testmaster, majd létrehoz egy hozzá tartozó adatbázis-felhasználót test az adatbázisban AdventureWorks2025.
--Connect to the master database
CREATE LOGIN test
WITH PASSWORD = '<strong password>';
Váltson felhasználói adatbázisra. Az SQL Serverben például használja a USE [AdventureWorks2022] utasítást. Az Azure SQL Database-ben a USE mondalomkifejezés nem elérhető. Ehelyett csatlakozz közvetlenül a tervezett adatbázishoz, és futtasd le a kódmintát a többi részt. Ez a bejelentkezésalapú példa nem vonatkozik az SQL adatbázisra a Microsoft Fabric-ben, amely nem támogatja a bejelentkezéseket vagy a bejelentkezések alapján történő felhasználókat.
--Connect to a user database
CREATE USER test FOR LOGIN test;
GO
B. Hozzon létre adatbázis-felhasználót alapértelmezett sémával
A következő példa először létrehoz egy szerver bejelentkezést egy megadott jelszóval elnevezve testlogin , majd létrehoz egy megfelelő adatbázis-felhasználót testuser, az alapértelmezett sémával Marketing.
--Connect to the master database
CREATE LOGIN testlogin
WITH PASSWORD = '<strong password>';
Váltson felhasználói adatbázisra. Az SQL Serverben például használja a USE [AdventureWorks2022] utasítást. Az Azure SQL Database-ben és az SQL adatbázisban a Microsoft Fabric-ben ez USE a mondalomkifejezés nem elérhető. Ehelyett csatlakozz közvetlenül a tervezett adatbázishoz, és futtasd le a kódmintát a többi részt.
--Connect to a user database
CREATE USER testuser FOR LOGIN testlogin
WITH DEFAULT_SCHEMA = Marketing;
C. Adatbázis-felhasználót hozz létre egy tanúsítványból
Az alábbi példa létrehoz egy adatbázis-felhasználót, test a tanúsítványból Contoso_Cert. További információ: CREATE CERTIFICATE (Transact-SQL).
USE AdventureWorks2022;
CREATE CERTIFICATE Contoso_Cert
ENCRYPTION BY PASSWORD = '<strong password>'
WITH SUBJECT = 'Contoso Facility Supervisors',
EXPIRY_DATE = '11/11/2011';
GO
CREATE USER test FOR CERTIFICATE Contoso_Cert;
GO
D. Felhasználó létrehozása és használata bejelentkezés nélkül
Az alábbi példa létrehoz egy adatbázis-felhasználót CustomApp, amely nem képez le SQL Server-bejelentkezést. A példa ezután engedélyt ad a felhasználónak adventure-works\test a CustomApp felhasználó megszemélyesítésére.
USE AdventureWorks2022;
CREATE USER CustomApp WITHOUT LOGIN ;
GRANT IMPERSONATE ON USER::CustomApp TO [adventure-works\test] ;
GO
A CustomApp hitelesítő adatainak használatához a felhasználó adventure-works\test a következő utasítást hajtja végre.
EXECUTE AS USER = 'CustomApp' ;
GO
Ha vissza szeretne térni a adventure-works\test hitelesítő adataihoz, a felhasználó végrehajtja az alábbi utasítást.
REVERT ;
GO
E. Hozz létre egy zárt adatbázis-felhasználót jelszóval
Az alábbi példa egy tartalmazott adatbázis-felhasználót hoz létre jelszóval. Ezt a példát csak egy zárt adatbázisban lehet futtatni.
Ez a példa működik SQL Database-ben, ha eltávolítod DEFAULT_LANGUAGE.
USE AdventureWorks2022;
GO
CREATE USER test
WITH PASSWORD='<password>'
, DEFAULT_LANGUAGE=[Brazilian]
, DEFAULT_SCHEMA=[dbo]
GO
F. Hozzon létre egy tárolt adatbázis-felhasználót egy domain bejelentkezéshez
A következő példa egy bezárt adatbázis-felhasználót hoz létre egy olyan bejelentkezéshez, amelyet egy domainben neveztek test el, amelyet .Contoso Ezt a példát csak egy zárt adatbázisban lehet futtatni.
USE AdventureWorks2022;
GO
CREATE USER [Contoso\test] ;
GO
G. Hozzon létre egy tárolt adatbázis-felhasználót egy specifikus SID-vel
A következő példa egy SQL Server hitelesített, tartalmazott adatbázis-felhasználót hoz létre .TestUser Ezt a példát csak egy zárt adatbázisban lehet futtatni.
USE AdventureWorks2022;
GO
CREATE USER TestUser WITH PASSWORD = '<strong password>'
, SID = 0x01050000000000090300000063FF0451A9E7664BA705B10E37DDC4B7;
H. Hozzon létre egy felhasználót, aki titkosított adatokat másolhat
Az alábbi példa egy olyan felhasználót hoz létre, aki az Always Encrypted szolgáltatás által védett adatokat egy táblából, titkosított oszlopokat tartalmazó táblából egy másik, titkosított oszlopokkal rendelkező táblába másolhatja (ugyanabban vagy egy másik adatbázisban). További információ: Bizalmas adatok migrálása Always Encryptedáltal védett.
Érvényes: SQL Server 2016 (13.x) és későbbi verziók, SQL Database.
CREATE USER [test]
WITH
DEFAULT_SCHEMA = dbo
, ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = ON ;
I. Hozzon létre egy Microsoft Entra felhasználót egy Microsoft Entra bejelentkezésből az Azure SQL Database-ben és az Azure SQL Managed Instance-ban
Microsoft Entra-felhasználó Microsoft Entra-bejelentkezésből való létrehozásához használja az alábbi szintaxist.
Jelentkezzen be Azure SQL Database logikai szerveredre vagy SQL Managed Instance-ba egy Microsoft Entra bejelentkezéssel. Használd a szerveradminisztrátor bejelentkezést vagy olyan bejelentkezést, amely az loginmanager SQL Database szerepének tagja, vagy az SQL Managed Instance-ban adott szerepetsysadmin.
A következő T-SQL-szkript létrehoz egy Microsoft Entra-felhasználót test@contoso.com, a bejelentkezési test@contoso.com. Ez a bejelentkezés a CREATE LOGIN példában lett létrehozva.
CREATE USER [test@contoso.com] FROM LOGIN [test@contoso.com];
GO
Important
Amikor létrehoznak egy USER Microsoft Entra bejelentkezést, jelöld meg a user_name ugyanaznak a login_name-nek a LOGIN-től .
A Microsoft Entra-felhasználó csoportként való létrehozása egy csoportnak minősülő Microsoft Entra-bejelentkezésből támogatott.
CREATE USER [MS Entra group] FROM LOGIN [MS Entra group];
GO
Microsoft Entra-felhasználót is létrehozhat egy csoportnak számító Microsoft Entra-bejelentkezésből.
CREATE USER [test@contoso.com] FROM LOGIN [MS Entra group];
GO
J. Tartalmazott adatbázis-felhasználó létrehozása Microsoft Entra-tagból
Az alábbi szintaxis létrehoz egy Microsoft Entra-felhasználót test@contoso.comegy adatbázisban, amely nem rendelkezik társított bejelentkezéssel az master. Az adatbázismotor ellenőrzi, hogy a megadott felhasználó létezik-e a Microsoft Entra-ban.
CREATE USER [test@contoso.com] FROM EXTERNAL PROVIDER;
GO
Az SQL adatbázisban a Microsoft Fabric-ben nem használhatodFROM EXTERNAL PROVIDER, ha a kibocsátó fő CREATE USER szolgáltatási főszereplő a Microsoft Entra-ban.
K. Tartalmazott adatbázis-felhasználó létrehozása Microsoft Entra-tagból ellenőrzés nélkül
Alkalmazható: SQL database in Microsoft Fabric és Azure SQL Database
Az ebben a szakaszban található példák adatbázis-felhasználókat hoznak létre a Microsoft Entra-tagok számára anélkül, hogy a Microsoft Entra-ban érvényesítenék az egyszerű neveket.
Az alábbi T-SQL-példa létrehoz egy adatbázis-felhasználót a Microsoft Entra-felhasználó számára, test@contoso.comnéven. Cserélje le <unique identifier sid> az új felhasználó SID-azonosítójára a Microsoft Entra-felhasználó objektumazonosítójára.
DECLARE @principal_name SYSNAME = 'test@contoso.com';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- user's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castObjectId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castObjectId + ', TYPE = E;'
EXEC (@cmd);
Az alábbi példa létrehoz egy adatbázis-felhasználót a Microsoft Entra szolgáltatásnévhez HRAppnéven. Cserélje le <unique identifier sid> az új felhasználó SID-azonosítójára a Microsoft Entra szolgáltatásnév ügyfél-azonosítójára.
Note
Használd az ügyfélazonosítót, nem az objektumazonosítót, amikor Microsoft Entra szolgáltatásalapot (User-Assigned Managed Identity (UAMI) vagy System-Assigned Managed Identity (SAMI) meghatározása során használsz.
DECLARE @principal_name SYSNAME = 'HRApp';
DECLARE @clientId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's client ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castClientId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @clientId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castClientId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castClientId + ', TYPE = E;'
EXEC (@cmd);
Az alábbi példa létrehoz egy adatbázis-felhasználót a Microsoft Entra csoport számára, HRnéven. Cserélje le a <unique identifier sid> az új felhasználó SID-azonosítójára a csoport objektumazonosítójára.
DECLARE @principal_name SYSNAME = 'HR';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castObjectId, TYPE = X;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castObjectId + ', TYPE = X;'
EXEC (@cmd);
Kapcsolódó tartalom
- Adatbázis-felhasználó létrehozása
- sys.database_principals (Transact-SQL)
- ALTER USER (Transact-SQL)
- DROP USER (Transact-SQL)
- CREATE LOGIN (Transact-SQL)
- ESEMÉNYADATOK (Transact-SQL)
- Adatbázisok, amelyeket tartalmaz
- Microsoft Entra hitelesítés az Azure SQL számára
- Ismerkedés az adatbázismotor engedélyeivel
- ALTER ROLE (Transact-SQL)
- GRANT objektumengedélyek (Transact-SQL)
- Engedélyek (Adatbázis-motor)