Hi Marabu,
die Zugriffskontrolle auf einzelne Datenbankobjekte, Tabellen und Spalten sowie die Kontrolle über einzelne DDL Statements via Grant/Revoke kenne ich.
Um das für meine Zwecke nutzen zu können, muss ich doch aber für jeden Mandanten eine eigene Tabelle erstellen, die nur er benutzen darf oder ?
Gibt es einen Trick, bei der ich die vorhandenen SP's, Trigger, UDF's und Views unverändert mandantenisoliert nutzen kann ?
Warum konsequent auf Views setzen ?
Gibt einen Weg, der es mit Hilfe von Views ermöglicht, die SP's usw. rolebezogen auf unterschiedliche Tabellen zu verteilen ?
Views bereiten mir im Hinblick aif die Performance Bauchschmerzen. Beim
SQL Server 2005 Enterprise gibt es indizierte Sichten. Damit relativiert sich der Performancerinbruch durch Views. Beim
SQL-Server 2000 sehe ich keine Möglichkeit, die Performance mit Views oben zu halten. Kennst du einen Weg ?
Zitat:
Was mir wesentlich mehr Probleme bereiten würde, wäre ein griffiges Konzept für die Datensicherheit (backup, restore).
Darüber habe ich mir auch schon den Kopf zerbrochen.
Derzeit tendiere ich zu folgender Variante:
-
DB wird mehrmals täglich gesichert
Im Restorefall (ein Mandant hat versehentlich seine Daten gelöscht):
-
DB unter anderem
DB-Namen rücksüchern
- mandanteneigene Tabellen aus der Live-
DB löschen
- DDL und Daten der mandanteneigenen
DB-Objekte aus der 2.
DB via DTS oder Script in die Live-
DB schieben
Würde es doch nur einen "INSTEAD OF SELECT" Trigger geben ...