2009-06-08 4 views
2

Wie würden Sie die Sicherheit auf Datensatzebene in SQL Server implementieren?Sicherheit auf Datensatzebene in SQL Server

EDIT:

Ich habe eine Anforderung Daten auf Benutzerrechte zu beschränken basiert. Sagen wir, ich habe eine Tabelle mit Kontakten. Ich sollte in der Lage sein, die Datenmenge zu beschränken, die ein Benutzer sehen kann. Hoffe, das hilft :-)

+1

Ich denke, Sie müssen Ihre Frage neu formulieren/klarstellen: was genau meinen Sie mit "Implementierung von Sicherheit auf Rekordniveau"? –

Antwort

2

Sie müssten Ihre eigenen Tabellen erstellen und mit denen, um Sicherheit zu bekommen. Zum Beispiel in einer Tabelle mit nur UserID, RecordID und einem Lese- und Schreib Spalte, würden Sie dies tun:

select 
    a.* 
from 
    mytable a 
    inner join permissions b on 
     a.recordid = b.recordid 
where 
    b.userid = myuserid 
    and b.read = 1 

Analysis Services (die mit SQL Server Standard oder höher frei kommt) gibt Ihnen Rekordniveau Sicherheit. Es gibt Ihnen auch die Notwendigkeit, OLAP und multidimensionale Datenbanken zu lernen, was je nach Ihren Bedürfnissen ein Nachteil sein kann.