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.SELECT
UPDATE
DELETE
INSERT
DENY
GRANT
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