Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Uprawnienie do odpytywania dbo.sysobjects

Po pierwsze - powinieneś używać sys.objects zamiast dbo.sysobjects. dbo.sysobjects to konstrukcja SQL 2000 dostępna tylko w SQL 2008 ze względu na zgodność wsteczną. sys.objects zawiera wiersz dla każdego zdefiniowanego przez użytkownika obiektu o zakresie schematu, który jest tworzony w bazie danych, dzięki czemu nie trzeba w ogóle filtrować zapytania. sys.all_objects to nadzbiór, który zawiera zarówno obiekty systemowe, jak i użytkownika.

Po drugie — po stronie uprawnień — w programie SQL Server 2005 i nowszych wersjach widoczność metadanych w widokach wykazu jest ograniczona do elementów zabezpieczanych, które użytkownik posiada lub do których przyznano użytkownikowi pewne uprawnienia. Więc twój użytkownik będzie musiał otrzymać pewne uprawnienia do przedmiotów, których szuka. Przyznanie użytkownikowi funkcji VIEW DEFINITION na schemacie(ach) w bazie danych umożliwiłoby działanie zapytania bez udzielania dostępu do jakichkolwiek danych.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekazywanie datatable do procedury składowanej

  2. SQL — Jak uzyskać tylko liczby po przecinku?

  3. Czy prawidłowe użycie jest NULL i Coalesce

  4. SQL Server CTE — Znajdź najwyższy identyfikator nadrzędny dla każdego identyfikatora podrzędnego?

  5. Dlaczego nie mogę wykonać zapytania OFFSET/FETCH na moim serwerze SQL?