SQL: Ansicht von Tabellen in der Datenbank einschränken

SQL: Ansicht von Tabellen in der Datenbank einschränken

Das ist wahrscheinlich ein Nein, aber ich möchte sicher sein. Ein Client möchte eine Verbindung zu SQL Server 2008 herstellen, den wir hosten. Er wird auf eine Tabelle zugreifen, um ein SSIS-Paket auszuführen und einige Daten, die er in seiner Datenbank hat, in unsere Datenbank zu kopieren. Ich mache mir Sorgen um die Sicherheit. Nun habe ich bestimmte Beiträge darüber gelesen, wie man einen Benutzer darauf beschränken kann, nur eine Datenbank zu sehen. Ich möchte jedoch fragen, ob dies für Tabellen innerhalb der Datenbank möglich ist. Das heißt, können Sie es so einstellen, dass der Benutzer nur die Tabellen sehen kann, mit denen er in Management Studio arbeiten muss?

Antwort1

Ja, das können Sie, und zwar so:

GRANT [Permission] ON [SchemaName].[TableName] to [UserName]

Wobei , , , oder [Permission]ist . Sie können auch anstelle von verwenden, um Berechtigungen zu entziehen.SELECTUPDATEDELETEINSERTDENYGRANT

Weiterführende Literatur:https://msdn.microsoft.com/en-us/library/ms188371.aspx

Antwort2

Zusätzlich zu imthemans Antwort, die gut ist, können Sie auch eineAnsicht erstellenBefehl, der es ihnen nur erlaubt, mit den Spalten zu interagieren, die sie sehen sollen. Alle anderen Spalten sind nicht einmal vorhanden.

Siehe diesen Microsoft MSDN-Artikel: https://msdn.microsoft.com/en-us/library/ms187956.aspx

verwandte Informationen