Avem diverse obiecte bază de date, cum ar fi vedere, proceduri stocate, triggere, funcțiilor și indicilor într-o bază de date relațională. De multe ori, vrem să vedem definiții pentru aceste obiecte. Putem folosi fie SSMS mod grafic sau T-SQL pentru a genera script-uri.
de exemplu, dorim să vizualizăm definiția unei vizualizări SQL .. Să explorăm ambele moduri de a genera scripturi.,
diferite metode pentru a vizualiza definiția obiectelor
SSMS Script Wizard:
extindeți baza de date și accesați Vizualizări. Faceți clic dreapta pe o anumită vizualizare pentru care dorim să generăm script și faceți clic pe Script View as ->Create To.
putem obține scriptul în următoarele moduri.
- În noua fereastră de interogare
- Obțineți scriptul în .,Fișier SQL
- copiați scriptul în clipboard
- ia script într-un loc de muncă Agent SQL
genera Script Wizard:
putem folosi genera Script Wizard în SSMS, precum și pentru a genera script. Faceți clic dreapta pe o bază de date și accesați SARCINI -> generați scripturi.
în Expertul generare script, Selectați obiectul specific bazei de date și faceți clic pe Următorul.
puteți completa expertul pentru a obține scriptul.,
folosind T-SQL:
putem folosi interogări T-SQL, precum și pentru a obține script-ul obiectelor. Puteți utiliza următoarele metode T-SQL pentru a obține definiții pentru un obiect.
- ia script-uri folosind Information_Schama.,Opinii:
Executați următoarea interogare în baza de date sursă și specificați numele obiectului în clauza where
1234SELECT TABLE_NAME ca ViewName,VIEW_DEFINITION ca ViewDefinitionDIN 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 funcția
putem folosi un object_definition funcție, precum și pentru a genera un script pentru obiect. În următoarea interogare, vom folosi object_definition funcție pentru o vizualizare vEmployee în AdventureWorks2017 baza de date
1SELECTAȚI object_definition (OBJECT_ID(N’.,’))
Permisiunile necesare pentru a genera obiecte script
Acesta este un aspect esențial pentru orice DBA pentru a controla permisiunile de utilizator pentru accesarea obiecte. De multe ori utilizatorii necesită drepturi suplimentare pe o bază de date pentru a-și îndeplini datoria. În mod implicit, utilizatorii cu rol public nu au permisiuni pentru a vizualiza definiția unui obiect. Este util ca dezvoltatorii să obțină definițiile obiectului, astfel încât să poată executa acest lucru într-un mediu non-producție., De asemenea, nu dorim să acordăm permisiuni privilegiate utilizatorilor, în special în mediul de producție.
să creăm un nou utilizator de bază de date și să oferim un rol public în baza de date AdventureWorks2014.
Conectați-vă la SQL Server folosind acreditările de conectare cu permisiunea rolului Public.
executați interogarea pentru a obține definiția vizualizării unui obiect. Comanda sp_helptext oferă un mesaj de eroare că un obiect nu există în baza de date.,
Dacă vom încerca pentru a obține script folosind INFORMATION_SCHEMA.Vizualizări, nu dă niciun mesaj de eroare; cu toate acestea, nu returnează niciun rând.
nu puteți utiliza SSMS, precum și pentru că nu arată obiecte pentru rolul public de acces.
putem folosi permisiunea View Definition în SQL Server pentru a permite utilizatorilor să vizualizeze definițiile obiectului. Putem oferi acest acces la un rol public sau la un utilizator individual.,dacă dorim să oferim drepturi de definire a obiectului de vizualizare tuturor utilizatorilor cu rol public, executați următoarea interogare.,v>
1
|
GRANT 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 ‘.,’
|
puteți încerca alte metode pentru a vizualiza obiect definițiile specificate în secțiunea anterioară. Puteți actualiza conexiunea în SSMS, precum și pentru a vizualiza toate obiectele după atribuirea permisiunilor de definiție Vizualizare.
putem urmări permisiunile folosind sp_helprotect comanda.,
- În imaginea de mai jos, puteți observa următoarele:
- Obiect: vEmployee
- Proprietar( Schemă) : Umane
- Beneficiar ( Utilizator): Rajendra
- Concedent ( permisiunea Concedentului): dbo
- Permisiunea: Grant
- Acțiuni( drepturi): Vezi Definiție
Revoca Vedere Definițiile permisiunea
Am învățat să Acorde Vedere definirea permisiunilor pentru un utilizator, rolul sau obiect din SQL Server în secțiunea anterioară., De asemenea, este un aspect important să știți cum să revocați aceste permisiuni de definiții de vizualizare. De multe ori, este posibil să dorim să oferim acces temporar unui utilizator și să îl revocăm mai târziu. Putem revoca permisiunile utilizatorului în toate bazele de date cu comanda Revoke View Any Definition.,iv>
1
2
3
|
USE AdventureWorks2017
GO
REVOKE VIEW DEFINITION on ., PENTRU a Rajendra
|
Concluzie
În acest articol, am explorat Acorda și Revoca vedere definirea drepturilor de acces, SQL Server pentru a vedea definițiile pentru un obiect. Acesta vă oferă informațiile necesare pentru a gestiona permisiunile pentru definiții obiect. Dacă aveți comentarii sau întrebări, nu ezitați să le lăsați în comentariile de mai jos.,
- Autor
- Mesajele Recente
el este creatorul uneia dintre cele mai mari colecții online gratuite de articole pe un singur subiect, cu seria sa de 50 de părți pe SQL Server întotdeauna pe grupuri de disponibilitate. Pe baza contribuției sale la comunitatea SQL Server, el a fost recunoscut cu diverse premii, inclusiv prestigiosul „cel mai bun autor al anului” continuu în 2020 și 2021 la sqlshack.,
Raj este întotdeauna interesat de noi provocări, așa că dacă aveți nevoie de ajutor de consultanță cu privire la orice subiect acoperit în scrierile sale, el poate fi contactat la rajendra.gupta16 @ gmail.,com
Vezi toate posturile de Rajendra Gupta
- timeout Sesiune în SQL Server Mereu Pe Grupuri de Disponibilitate – februarie 8, 2021
- Efectuarea minore și majore versiune upgrade-uri pentru AWS RDS SQL Server – 29 ianuarie 2021
- Implementarea AWS RDS PostgreSQL cazuri – 27 ianuarie 2021
Leave a Reply