Wyświetlanie definicji obiektu

Zasady wyświetlania Transact-SQL źródło kod obiektów bazy danych są bardziej rygorystyczne niż przeglądania metadane.Aby zobaczyć Transact-SQL definicji obiektu użytkownik musi albo właścicielem obiektu lub mieć udzielone jedną z następujących uprawnień do obiektu:

  • FORMANT

  • ALTER

  • PRZEJĘCIE NA WŁASNOŚĆ

  • DEFINICJA WIDOKU

Oto niektóre przykłady działania tych reguł:

  • Jeśli użytkownik jest uprawnienie ALTER tabela MojaTabela, użytkownik może wyświetlić Transact-SQL definicji podskładniki, związanych z tabela w definicji kolumna w każdym z widoki wykazu, które są wymienione w poniższej tabela.Jeśli użytkownik nie ma uprawnień do poprzedniego lub nie jest właścicielem obiektu, Transact-SQL definicji w definicji kolumna widoku wykazu jest NULL.

  • Jeśli użytkownik nie jest właścicielem tabela MojaTabela i ma uprawnienia tylko SELECT na tabela, gdy użytkownik uzyskuje dostęp do następujących widoki wykazu definicji kolumny są wartości NULL.

    Nazwa katalogu

    Definicje Transact-SQL

    sys.sql_modules

    Wszystkie wyzwalacze w MojaTabela

    sys.computed_columns

    Wszystkie kolumna obliczana w MojaTabela

    sys.check_constraints

    Wszystkie ograniczenia CHECK w MojaTabela

    sys.default_constraints

    Wszystkie ograniczenia domyślnego w MojaTabela

  • Załóżmy, że użytkownik jest przyznane uprawnienie EXECUTE procedury myProcedure.Gdy użytkownik próbuje Zobacz Transact-SQL definicji procedury uzyskiwania dostępu do sys.sql_modules wykazu widoku definicji kolumna ma wartość null.Natomiast jeśli użytkownik został udzielone PRZEJMUJE własność, uprawnienie myProcedure, użytkownik zobaczy Transact-SQL definicji procedury w definicji kolumna sys.sql_modules.