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
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Megváltoztatja egy védhető objektum tulajdonjogát.
Transact-SQL szintaxis konvenciók
Note
A Microsoft Entra ID-t korábban Azure Active Directorynak (Azure AD) nevezték.
Syntax
-- Syntax for SQL Server
ALTER AUTHORIZATION
ON [ <class_type>:: ] entity_name
TO { principal_name | SCHEMA OWNER }
[;]
<class_type> ::=
{
OBJECT | ASSEMBLY | ASYMMETRIC KEY | AVAILABILITY GROUP | CERTIFICATE
| CONTRACT | TYPE | DATABASE | ENDPOINT | FULLTEXT CATALOG
| FULLTEXT STOPLIST | MESSAGE TYPE | REMOTE SERVICE BINDING
| ROLE | ROUTE | SCHEMA | SEARCH PROPERTY LIST | SERVER ROLE
| SERVICE | SYMMETRIC KEY | XML SCHEMA COLLECTION
}
-- Syntax for SQL Database
ALTER AUTHORIZATION
ON [ <class_type>:: ] entity_name
TO { principal_name | SCHEMA OWNER }
[;]
<class_type> ::=
{
OBJECT | ASSEMBLY | ASYMMETRIC KEY | CERTIFICATE
| TYPE | DATABASE | FULLTEXT CATALOG
| FULLTEXT STOPLIST
| ROLE | SCHEMA | SEARCH PROPERTY LIST
| SYMMETRIC KEY | XML SCHEMA COLLECTION
}
-- Syntax for Azure Synapse Analytics and Microsoft Fabric
ALTER AUTHORIZATION ON
[ <class_type> :: ] <entity_name>
TO { principal_name | SCHEMA OWNER }
[;]
<class_type> ::= {
SCHEMA
| OBJECT
}
<entity_name> ::=
{
schema_name
| [ schema_name. ] object_name
}
-- Syntax for Parallel Data Warehouse
ALTER AUTHORIZATION ON
[ <class_type> :: ] <entity_name>
TO { principal_name | SCHEMA OWNER }
[;]
<class_type> ::= {
DATABASE
| SCHEMA
| OBJECT
}
<entity_name> ::=
{
database_name
| schema_name
| [ schema_name. ] object_name
}
Note
Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.
Arguments
< > class_type Annak az entitásnak a biztonságos osztálya, amelyhez a tulajdonost módosítják. Az OBJEKTUM az alapértelmezett.
| Class | Product |
|---|---|
| OBJECT | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW). |
| ASSEMBLY | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. |
| ASZIMMETRIKUS KULCS | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. |
| RENDELKEZÉSRE ÁLLÁSI CSOPORT | A következőkre vonatkozik: SQL Server 2012 és újabb verziók. |
| CERTIFICATE | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. |
| CONTRACT | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók. |
| DATABASE | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. További információ: ALTER AUTHORIZATION for databases. |
| ENDPOINT | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók. |
| FULLTEXT KATALÓGUS | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. |
| Teljes szöveges leállítási lista | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. |
| ÜZENET TÍPUSA | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók. |
| TÁVOLI SZOLGÁLTATÁS KAPCSOLÁS | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók. |
| ROLE | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. |
| ROUTE | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók. |
| SCHEMA | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW). |
| KERESÉSI TULAJDONSÁGLISTA | A következőkre vonatkozik: SQL Server 2012 (11.x) és újabb, Azure SQL Database. |
| KISZOLGÁLÓI SZEREPKÖR | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók. |
| SERVICE | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók. |
| SZIMMETRIKUS KULCS | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. |
| TYPE | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. |
| XML-SÉMAGYŰJTEMÉNY | A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Azure SQL Database. |
entity_name Az entitás neve.
principal_name | AZ entitást birtokbaadó biztonsági tag SÉMATULAJDONOS neve. Az adatbázis-objektumoknak egy egyszerű adatbázis tulajdonában kell lenniük; adatbázis-felhasználó vagy -szerepkör. A kiszolgálóobjektumoknak (például adatbázisoknak) egy kiszolgálónévnek (bejelentkezésnek) kell lenniük. Adja meg a SÉMA TULAJDONOSA *principal_name- értéket, amely azt jelzi, hogy az objektumnak az objektum sémáját birtokbaadó tagnak kell lennie.
Remarks
Az ALTER AUTHORIZATION bármely tulajdonossal rendelkező entitás tulajdonjogának módosítására használható. Az adatbázis-alapú entitások tulajdonjoga bármely adatbázisszintű taghoz átadható. A kiszolgálószintű entitások tulajdonjoga csak kiszolgálószintű tagoknak ruházható át.
Important
Az SQL Server 2005 -től (9.x) kezdődően a felhasználó birtokolhat egy objektumot vagy TÍPUSt, amelyet egy másik adatbázis-felhasználó tulajdonában lévő séma tartalmaz. Ez az SQL Server korábbi verzióinak viselkedésváltozása. További információ: OBJECTPROPERTY (Transact-SQL) és TYPEPROPERTY (Transact-SQL).
Az "objektum" típusú sémafüggvények tulajdonjoga átadható: táblák, nézetek, függvények, eljárások, üzenetsorok és szinonimák.
A következő entitások tulajdonjoga nem ruházható át: csatolt kiszolgálók, statisztikák, korlátozások, szabályok, alapértelmezett értékek, eseményindítók, Service Broker-üzenetsorok, hitelesítő adatok, partíciófüggvények, partíciós sémák, adatbázis-főkulcsok, szolgáltatás főkulcsa és eseményértesítések.
A következő biztonságos osztályok tagjainak tulajdonjoga nem ruházható át: kiszolgáló, bejelentkezés, felhasználó, alkalmazásszerepkör és oszlop.
A SÉMATULAJDONOS beállítás csak akkor érvényes, ha egy séma által tartalmazott entitás tulajdonjogát adja át. A SÉMATULAJDONOS az entitás tulajdonjogát annak a sémának a tulajdonosára továbbítja, amelyben található. Csak az OBJEKTUM, TÍPUS vagy XML SÉMAGYŰJTEMÉNY osztály entitásai tartalmaznak sémát.
Ha a cél entitás nem adatbázis, és az entitás át lesz adva egy új tulajdonoshoz, a célhoz tartozó összes engedély elveszik.
Note
A sémák nem egyenértékűek az adatbázis felhasználóival. A rendszerkatalógus nézeteivel azonosíthatja az adatbázis-felhasználók és a sémák közötti különbségeket.
Vegye figyelembe a következőket is:
Important
Az objektumok tulajdonosának megkeresésének egyetlen megbízható módja a sys.objects katalógusnézet lekérdezése. Egy típus tulajdonosának megkeresésének egyetlen megbízható módja a TYPEPROPERTY függvény használata.
Különleges esetek és feltételek
Az alábbi táblázat az engedélyezés módosítására vonatkozó különleges eseteket, kivételeket és feltételeket sorolja fel.
| Class | Condition |
|---|---|
| OBJECT | Az eseményindítók, megkötések, szabályok, alapértelmezett értékek, statisztikák, rendszerobjektumok, üzenetsorok, indexelt nézetek vagy indexelt nézetekkel rendelkező táblák tulajdonjoga nem módosítható. |
| SCHEMA | A tulajdonjog átadásakor a rendszer elveti a séma által tartalmazott objektumokra vonatkozó engedélyeket, amelyek nem rendelkeznek explicit tulajdonosokkal. A sys, dbo vagy information_schema tulajdonosa nem módosítható. |
| TYPE | A sys vagy information_schema típushoz tartozó típus tulajdonjoga nem módosítható. |
| SZERZŐDÉS, ÜZENETTÍPUS VAGY SZOLGÁLTATÁS | A rendszerentitások tulajdonjoga nem módosítható. |
| SZIMMETRIKUS KULCS | A globális ideiglenes kulcsok tulajdonjoga nem módosítható. |
| TANÚSÍTVÁNY vagy ASZIMMETRIKUS KULCS | Az entitások tulajdonjoga nem ruházható át szerepkörbe vagy csoportba. |
| ENDPOINT | Az egyszerűnek bejelentkezésnek kell lennie. |
ADATBÁZISOK ENGEDÉLYEZÉSÉNEK MÓDOSÍTÁSA
SQL Server esetében
Az új tulajdonosra vonatkozó követelmények: Az új tulajdonosnévnek a következők egyikének kell lennie:
- SQL Server-hitelesítési bejelentkezés.
- Windows-hitelesítési bejelentkezés Windows-felhasználót (nem csoportot) jelöl.
- Windows-felhasználó, aki windowsos hitelesítési bejelentkezéssel hitelesít egy Windows-csoportot.
Az ALTER AUTHORIZATION utasítást végrehajtó személy követelményei: Ha nem tagja a sysadmin rögzített kiszolgálói szerepkörnek, legalább TULAJDONOSi jogosultsággal kell rendelkeznie az adatbázisban, és impERSONATE engedéllyel kell rendelkeznie az új tulajdonosi bejelentkezéshez.
Az Azure SQL Database-hez
Az új tulajdonosra vonatkozó követelmények: Az új tulajdonosnévnek a következők egyikének kell lennie:
- SQL Server-hitelesítési bejelentkezés.
- A Microsoft Entra-azonosítóban található összevont felhasználó (nem csoport).
- Felügyelt felhasználó (nem csoport) vagy Microsoft Entra-azonosítóban található alkalmazás.
Ha az új tulajdonos Microsoft Entra-felhasználó, nem létezhet felhasználóként abban az adatbázisban, amelyben az új tulajdonos lesz az új adatbázis tulajdonosa (dbo). A Microsoft Entra-felhasználót először el kell távolítani az adatbázisból, mielőtt végrehajtaná az ALTER AUTHORIZATION utasítást, amely az adatbázis tulajdonjogát az új felhasználóra módosítja. További információ a Microsoft Entra-felhasználók SQL Database-sel való konfigurálásáról: Microsoft Entra-hitelesítés konfigurálása.
Az ALTER AUTHORIZATION utasítást végrehajtó személy követelményei: Az adatbázis tulajdonosának módosításához csatlakoznia kell a céladatbázishoz.
Az alábbi típusú fiókok módosíthatják az adatbázis tulajdonosát.
- A szolgáltatásszintű egyszerű bejelentkezés, amely az Azure-beli logikai kiszolgáló létrehozásakor kiépített SQL-rendszergazda.
- A logikai kiszolgáló Microsoft Entra-rendszergazdája.
- Az adatbázis jelenlegi tulajdonosa.
Az alábbi táblázat összefoglalja a követelményeket:
| Executor | Target | Result |
|---|---|---|
| SQL Server-hitelesítés bejelentkezése | SQL Server-hitelesítés bejelentkezése | Success |
| SQL Server-hitelesítés bejelentkezése | Microsoft Entra-felhasználó | Fail |
| Microsoft Entra-felhasználó | SQL Server-hitelesítés bejelentkezése | Success |
| Microsoft Entra-felhasználó | Microsoft Entra-felhasználó | Success |
Az adatbázis Microsoft Entra-tulajdonosának ellenőrzéséhez hajtsa végre a következő Transact-SQL parancsot egy felhasználói adatbázisban (ebben a példában testdb).
SELECT CAST(owner_sid as uniqueidentifier) AS Owner_SID
FROM sys.databases
WHERE name = 'testdb';
A kimenet egy GUID (például XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) lesz, amely megfelel az adatbázis tulajdonosaként hozzárendelt Microsoft Entra-felhasználó vagy szolgáltatásnév objektumazonosítójának. Ezt a felhasználó objektumazonosítójának Microsoft Entra-azonosítóban való ellenőrzésével ellenőrizheti. Ha egy SQL Server-hitelesítési bejelentkezési felhasználó az adatbázis tulajdonosa, hajtsa végre a következő utasítást a fő adatbázisban az adatbázis tulajdonosának ellenőrzéséhez:
SELECT d.name, d.owner_sid, sl.name
FROM sys.databases AS d
JOIN sys.sql_logins AS sl
ON d.owner_sid = sl.sid;
Ajánlott eljárások
AHelyett, hogy a Microsoft Entra-felhasználókat az adatbázis egyéni tulajdonosaiként használták, egy Microsoft Entra-csoportot használjon a db_owner rögzített adatbázis-szerepkör tagjaként. Az alábbi lépések bemutatják, hogyan konfigurálhat letiltott bejelentkezést adatbázis-tulajdonosként, és hogyan teheti a Microsoft Entra-csoportot (mydbogroup) a db_owner szerepkör tagává.
Jelentkezzen be az SQL Serverre Microsoft Entra-rendszergazdaként, és módosítsa az adatbázis tulajdonosát egy letiltott SQL Server-hitelesítési bejelentkezésre. Például a felhasználói adatbázisból hajtsa végre a következőt:
ALTER AUTHORIZATION ON database::testdb TO DisabledLogin;Hozzon létre egy Microsoft Entra-csoportot, amely az adatbázis tulajdonosa, és adja hozzá felhasználóként a felhasználói adatbázishoz. Például:
CREATE USER [mydbogroup] FROM EXTERNAL PROVIDER;A felhasználói adatbázisban adja hozzá a Microsoft Entra csoportot képviselő felhasználót a db_owner rögzített adatbázis-szerepkörhöz. Például:
ALTER ROLE db_owner ADD MEMBER mydbogroup;
A mydbogroup tagok mostantól központilag kezelhetik az adatbázist a db_owner szerepkör tagjaiként.
- Ha a csoport tagjait eltávolítják a Microsoft Entra csoportból, automatikusan elveszítik az adatbázis dbo-engedélyeit.
- Hasonlóképpen, ha új tagokat adnak hozzá a Microsoft Entra-csoporthoz
mydbogroup, automatikusan kapják meg az adatbázis dbo-hozzáférését.
Annak ellenőrzéséhez, hogy egy adott felhasználó rendelkezik-e érvényes dbo-engedéllyel, hajtsa végre a következő utasítást:
SELECT IS_MEMBER ('db_owner');
Az 1 visszatérési érték azt jelzi, hogy a felhasználó tagja a szerepkörnek.
Permissions
Tulajdonosi jogosultságot igényel az entitáson. Ha az új tulajdonos nem az a felhasználó, aki végrehajtja ezt az utasítást, akkor az 1. megszemélyesítési engedélyt is meg kell adnia az új tulajdonosnak, ha az felhasználó vagy bejelentkezés; vagy 2) ha az új tulajdonos szerepkör, tagság a szerepkörben, vagy ALTER engedély a szerepkörre; vagy 3) ha az új tulajdonos egy alkalmazásszerepkör, módosítsa az alkalmazásszerepkör engedélyét.
Examples
A. Tábla tulajdonjogának átadása
Az alábbi példa a tábla Sprockets tulajdonjogát továbbítja a felhasználónak MichikoOsada. A tábla a sémában Partstalálható.
ALTER AUTHORIZATION ON OBJECT::Parts.Sprockets TO MichikoOsada;
GO
A lekérdezés az alábbihoz hasonlóan is nézhet ki:
ALTER AUTHORIZATION ON Parts.Sprockets TO MichikoOsada;
GO
Ha az objektumséma nem szerepel az utasítás részeként, az adatbázismotor megkeresi az objektumot a felhasználók alapértelmezett sémájában. Például:
ALTER AUTHORIZATION ON Sprockets TO MichikoOsada;
ALTER AUTHORIZATION ON OBJECT::Sprockets TO MichikoOsada;
B. Nézet tulajdonjogának átadása a sématulajdonosnak
Az alábbi példa a nézet ProductionView06 tulajdonjogát az azt tartalmazó séma tulajdonosának továbbítja. A nézet a sémában Productiontalálható.
ALTER AUTHORIZATION ON OBJECT::Production.ProductionView06 TO SCHEMA OWNER;
GO
C. Séma tulajdonjogának átadása egy felhasználónak
Az alábbi példa a séma SeattleProduction11 tulajdonjogát továbbítja a felhasználónak SandraAlayo.
ALTER AUTHORIZATION ON SCHEMA::SeattleProduction11 TO SandraAlayo;
GO
D. Végpont tulajdonjogának átadása SQL Server-bejelentkezésbe
Az alábbi példa a végpont tulajdonjogát továbbítja a következőnek CantabSalesServer1JaePak: Mivel a végpont egy kiszolgálószintű biztonságos, a végpont csak egy kiszolgálószintű taghoz továbbítható.
Az: SQL Server 2008 (10.0.x) és újabb verziókra vonatkozik.
ALTER AUTHORIZATION ON ENDPOINT::CantabSalesServer1 TO JaePak;
GO
E. Tábla tulajdonosának módosítása
Az alábbi példák mindegyike az adatbázis táblájának Sprockets tulajdonosát Parts az adatbázis felhasználójára MichikoOsadamódosítja.
ALTER AUTHORIZATION ON Sprockets TO MichikoOsada;
ALTER AUTHORIZATION ON dbo.Sprockets TO MichikoOsada;
ALTER AUTHORIZATION ON OBJECT::Sprockets TO MichikoOsada;
ALTER AUTHORIZATION ON OBJECT::dbo.Sprockets TO MichikoOsada;
F. Adatbázis tulajdonosának módosítása
A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb, Analytics Platform System (PDW), SQL Database.
Az alábbi példa az adatbázis tulajdonosát Parts a bejelentkezésre MichikoOsadamódosítja.
ALTER AUTHORIZATION ON DATABASE::Parts TO MichikoOsada;
G. Adatbázis tulajdonosának módosítása Microsoft Entra-felhasználóra
Az alábbi példában az SQL Server microsoft entra-rendszergazdája egy egyéni Microsoft Entra-tartománnyal rendelkező cqclinic.onmicrosoft.comszervezetnél módosíthatja egy adatbázis targetDB jelenlegi tulajdonjogát, és az alábbi paranccsal egy meglévő Microsoft Entra-felhasználót richel@cqclinic.onmicorsoft.com tehet új adatbázis-tulajdonossá:
ALTER AUTHORIZATION ON database::targetDB TO [rachel@cqclinic.onmicrosoft.com];
Lásd még:
OBJECTPROPERTY (Transact-SQL)TYPEPROPERTY (Transact-SQL)EVENTDATA (Transact-SQL)