különböző adatbázisobjektumokkal rendelkezünk, mint például nézet, tárolt eljárások, triggerek, funkciók és indexek egy relációs adatbázisban. Sokszor meg akarjuk tekinteni az objektumok definícióit. Tudjuk használni akár SSMS grafikus módon, vagy t-SQL generálni szkriptek.
például szeretnénk megtekinteni az SQL nézet meghatározását .. Fedezzük fel a Szkriptek létrehozásának mindkét módját.,
különböző módszerek az objektumok definíciójának megtekintéséhez
SSMS Script Wizard:
bontsa ki az adatbázist, majd lépjen a nézetekre. Kattintson a jobb gombbal egy adott nézetre, amelyhez szkriptet akarunk létrehozni, majd kattintson a Script nézetre ->Create To.
a szkriptet a következő módon kaphatjuk meg.
- az új lekérdezési ablakban
- Szerezd meg a szkriptet a.,SQL fájl
- másolja a script a vágólapra
- Get script egy SQL Agent feladat
generál Script Wizard:
tudjuk használni generál Script Wizard SSMS, valamint generálni script. Kattintson a jobb gombbal az adatbázisra, majd lépjen a feladatok -> szkriptek létrehozása elemre.
a parancsfájl létrehozása varázslóban válassza ki az adott adatbázisobjektumot, majd kattintson a Tovább gombra.
befejezheti a varázslót, hogy megkapja a szkriptet.,
T-SQL használatával:
t-SQL lekérdezéseket is használhatunk az objektumok szkriptjének megszerzéséhez. A következő t-SQL módszerek segítségével meghatározásokat kaphat egy objektumhoz.
- szkriptek beszerzése az Information_Schama segítségével.,Megtekintések:
Végre a következő lekérdezés a forrás adatbázis, majd adja meg az objektum nevét a hol záradék
1234VÁLASSZA ki TABLE_NAME, mint ViewName,VIEW_DEFINITION, mint ViewDefinitionA INFORMATION_SCHEMA.,Viewswhere TABLE_NAME=’vEmployee’ - Sp_helptext system procedure:
You can use sp_helptext system procedure as well to get the script. You need to specify the object name along with the schema if it is other than dbo.
1EXEC sp_helptext ‘.,’ - object_definition function
object_definition függvényt is használhatunk object_definition függvényt is generálni egy script az objektum. A következő lekérdezés, használjuk az object_definition függvény egy nézet vEmployee a AdventureWorks2017 adatbázis
1válassza az object_definition (object_id(n’.,”))az objektumok létrehozásához szükséges engedélyek script
alapvető szempont minden DBA számára a felhasználói jogosultságok ellenőrzéséhez a tárgyak. Sokszor a felhasználók további jogokat igényelnek az adatbázisban a feladataik elvégzéséhez. Alapértelmezés szerint a nyilvános szerepkörrel rendelkező felhasználók nem rendelkeznek jogosultsággal az objektum meghatározásának megtekintéséhez. Hasznos a fejlesztők számára, hogy megkapják az objektum definícióit, hogy ezt nem termelési környezetben hajthassák végre., Nem akarunk kiváltságos engedélyeket adni a felhasználóknak, különösen a termelési környezetben.
hozzunk létre egy új adatbázis-felhasználót, amely nyilvános szerepet biztosít a AdventureWorks2014 adatbázisban.
csatlakozzon az SQL Serverhez a nyilvános szerepkör engedélyével rendelkező bejelentkezési hitelesítő adatok használatával.
végezze el a lekérdezést, hogy megkapja az objektum nézet definícióját. Az sp_helptext parancs hibaüzenetet ad arról, hogy egy objektum nem létezik az adatbázisban.,
ha megpróbáljuk megszerezni a szkriptet az INFORMATION_SCHEMA segítségével.Nézetek, nem ad semmilyen hibaüzenetet; azonban, nem tér vissza semmilyen sorban.
nem használhatja az SSMS-t is, mert nem jeleníti meg a nyilvános szerepkör-hozzáféréshez tartozó objektumokat.
Az SQL Serverben a Nézetdefiníció engedélyével a felhasználók megtekinthetik az objektumdefiníciókat. Ezt a hozzáférést nyilvános szerephez vagy egyéni felhasználóhoz biztosíthatjuk.,
- ha objektummeghatározási jogokat akarunk biztosítani minden nyilvános szerepkörrel rendelkező felhasználó számára, hajtsa végre a következő lekérdezést.,v>
123USE AdventureWorks2017GOGRANT VIEW ANY DEFINITION TO Rajendra
- ha objektummeghatározási jogokat akarunk biztosítani minden nyilvános szerepkörrel rendelkező felhasználó számára, hajtsa végre a következő lekérdezést.,v>
- To grant View Definition rights to a specific user and an object for a particular database
1GRANT VIEW DEFINITION on ., TO Rajendra
Let’s provide access to a specific user (Rajendra) on a specific object ( .) and verify the permissions to view the definition of an object.
1
|
EXEC sp_helptext ‘.,”
|
megpróbálhat más módszereket az előző szakaszban meghatározott objektumdefiníciók megtekintéséhez. Frissítheti a kapcsolatot az SSMS-ben is, hogy megtekinthesse az összes objektumot a Nézetfelbontási engedélyek hozzárendelése után.
az engedélyeket a sp_helprotect parancs segítségével nyomon követhetjük.,
- a lenti képen, akkor tartsa be a következőket:
- Tárgy: vEmployee
- Tulajdonos( Séma) : Emberi
- Jogosult ( Felhasználó): Rajendra
- Átengedő ( engedélyt Átengedő): dbo
- Engedélyt: Grant
- Akció( jogok): Kilátás Definíció
Visszavonja Megtekintése Meghatározások engedélye
megtudtuk, hogy megadja a Nézet meghatározása engedélyeket, hogy egy felhasználó, szerep vagy tárgy az SQL Server az előző részben., Fontos szempont az is, hogy tudjuk, hogyan lehet visszavonni ezeket a Nézetdefiníciók engedélyeit. Sokszor előfordulhat, hogy ideiglenes hozzáférést szeretnénk biztosítani egy felhasználóhoz, majd később visszavonjuk. Mi lehet visszavonni az engedélyeket, hogy a felhasználó az összes adatbázist a visszavonás megtekintése bármilyen definíció parancsot.,iv>
1
2
3
|
USE AdventureWorks2017
GO
REVOKE VIEW DEFINITION on ., A Rajendra
|
következtetés
ebben a cikkben az SQL Server definícióinak megadását és visszavonását vizsgáltuk meg egy objektum definícióinak megtekintéséhez. Ez biztosítja a szükséges információkat az objektummeghatározások engedélyeinek kezeléséhez. Ha bármilyen észrevétele vagy kérdése van, nyugodtan hagyja őket az alábbi megjegyzésekben.,
- Szerző
- Utolsó Hozzászólás
ő az alkotója az egyik legnagyobb ingyenes online gyűjtemények cikkek egyetlen témában, az ő 50 részes sorozat SQL Server mindig rendelkezésre álló csoportok. Az SQL Server közösséghez való hozzájárulása alapján 2020-ban és 2021-ben az SQLShack-en folyamatosan elismerték különböző díjakkal, köztük a rangos “az év legjobb szerzőjével”.,
Raj mindig érdekli az új kihívásokat, így ha segítségre van szüksége az írásaiban szereplő bármely témában, akkor rajendra-ban érhető el.gupta16@gmail.,com
összes Megtekintése hozzászólások Rajendra Gupta
- Session timeout az SQL Server Mindig A Rendelkezésre állás Csoportok – február 8, 2021
- Végrehajtása kisebb-nagyobb verzió frissítéseket AWS RDS SQL Server – január 29, 2021
- Bevetni AWS RDS PostgreSQL esetekben – január 27, 2021
Leave a Reply