it-swarm.com.de

Was sind einige bewährte Methoden für die Verwendung von Schemas in SQL Server?

Ich verstehe die Funktionen von SQL Server-Schemas, aber was sind die Best Practices? Sicher, sie bieten eine weitere Sicherheitsebene und bieten eine logische Gruppierung von Datenbankobjekten innerhalb der Datenbank. Aber was ist da draußen typisch? Nach meiner Erfahrung werden häufig nicht viele benutzerdefinierte Schemata verwendet. Ist das typisch? Ist es das seltenere Szenario, in dem benutzerdefinierte Schemas verwendet werden sollten?

25
anon

Wir benutzen sie

  • um Berechtigungen pro Client zu trennen (z. B. haben wir Desktop-, WebGUI- usw. Schemata)
  • zur logischen Gruppierung zB (Daten- und Staging-Schemata für unsere Tabellen).

Nützliche und praktische Beobachtungen nach dem von Marian erwähnten Weißbuch:

  • GRANT für das Schema: Keine Berechtigungen mehr pro Objekt. Ein neuer Prozess im WebGUI-Schema verfügt also automatisch über die Berechtigungen des Schemas
  • Schöne Gruppierungen im SSMS Object Explorer
  • OBJECT_SCHEMA_NAME
  • Sie müssen Objektnamen qualifizieren (was eine bewährte Methode ist).
17
gbn

Ich denke, dass eine Antwort in diesem MSDN-Artikel zu finden ist: SQL Server Best Practices - Implementierung von Datenbankobjektschemata .

Zitat: "In diesem Whitepaper werden die Möglichkeiten für Verbesserungen bei der Sicherheitsverwaltung einer Benutzerdatenbank erörtert und einige bewährte Methoden zur Verwendung von Schemas zum Verwalten von Datenbankobjekten in Entwicklungs- und Produktionsdatenbanken beschrieben. Insbesondere werden drei reale Szenarien behandelt:

  • Schutz von Datenbankobjekten vor Änderungen durch Benutzer ohne Wissen des Datenbankeigentümers
  • Verhindern, dass Datenbankbasisobjekte, insbesondere ISV-Datenbanken (Independent Software Vendor), Ad-hoc- oder falsche Benutzerzugriffe ausführen, was zu einer schlechten Anwendungsleistung führt
  • Zusammenführen verwandter Objektgruppen (logische Entitäten) in einer physischen Datenbank, um den Verwaltungsaufwand für die physische Datenbank zu verringern ".

Ich verwende insbesondere den dritten Teil - Gruppe von Objekten basierend auf ihrer logischen Bedeutung miteinander verknüpfen - verschiedene Schemata, die zu verschiedenen Projekten innerhalb derselben Datenbank gehören.

15
Marian