Aby utworzyć niestandardowe zestawy uprawnień przy użyciu jako wykonywanie

Określenie kontekstu wykonania dla modułu może być bardzo przydatne podczas definiowania niestandardowych uprawnień ustawia.Na przykład niektóre akcje takie jak OBCIĄĆ tabelę uprawnień grantable.wykonać OBCIĄĆ tabela, użytkownik musi mieć uprawnienia do zmiany w określonej tabela.Udzielenie użytkownikowi uprawnienia do zmiany tabela może nie być idealnie, ponieważ użytkownik będzie skutecznie uprawnień daleko poza możliwość obciąć tabela.

Dołączając instrukcja OBCIĄĆ tabela w module i określanie, wykonać tego modułu jako użytkownik z uprawnieniami do modyfikowania tabela, można rozszerzyć uprawnienia obciąć tabela użytkownikowi udzielić uprawnienia wykonywania na module.

Należy uwzględnić tę procedura składowana:

CREATE PROCEDURE TruncateMyTable
WITH EXECUTE AS SELF
AS TRUNCATE TABLE MyDB..MyTable;

Założono Maria tworzy tę procedurę i udziela wykonać uprawnienia TruncateMyTable do Scotta.Gdy Scott wykonuje procedura składowana Aparat baz danych sprawdza uprawnienia obciąć tabela tak, jakby Maria były wykonywanie procedura składowana.Ponieważ użytkownik jest właścicielem tabela instrukcja powiedzie się, mimo że Scott nie ma bezpośredniego uprawnień w tabela.Maria została szybko i efektywnie rozszerzone uprawnienia Scott, który użytkownik chciał, bez nadawania mu więcej uprawnień niż wymagany do wykonania zadania.