Welche Erlaubnis benötige ich, um einem Benutzer die Berechtigung, MSSQL, um der Lage sein abschneiden eine Tabelle?
Ich versuche zu gewähren, die den minimalen Satz von Berechtigungen, aber ich kann Sie nicht LÖSCHEN, weil die Tabelle sehr groß ist, und ich will, dass die operation schnell sein.
InformationsquelleAutor der Frage Shahar Mosek | 2011-01-19
Benötigen Sie die ALTER-Berechtigung: siehe Berechtigungen Abschnitt hier.
Beachten Sie, dass Sie können auch verwenden Sie eine gespeicherte Prozedur AUSFÜHREN, so dass der Benutzer bei der Ausführung der gespeicherten Prozedur muss nicht auch gewährt werden, die ALTER-Berechtigung.
InformationsquelleAutor der Antwort Shahar Mosek
Quelle
InformationsquelleAutor der Antwort Martin Smith
Können Sie eine gespeicherte Prozedur erstellen
with execute as owner
:Dann gewähren Ausführung Berechtigungen, wer braucht abschneiden, Tabelle:
Nun
TheUser
können kürzen Sie die Tabelle wie:InformationsquelleAutor der Antwort Andomar
Nicht GEWÄHREN, verstecken...
SET CONTEXT_INFO
vielleichtist ohne jeden Zweifel besser zu trennen, eine normale LÖSCHEN von einer TRUNCATE TABLE -Ich habe nicht versucht, diese...
Bearbeiten: geändert für die Verwendung von SET CONTEXT_INFO.
InformationsquelleAutor der Antwort gbn
Können Sie erstellen eine gespeicherte Prozedur mit execute as owner nur auf eine Tabelle oder eine gespeicherte Prozedur auf jedem Tisch:
InformationsquelleAutor der Antwort user3854427