SQL Server: Sicherheit mit Schema

Die älteren SQL Server-Versionen haben einen Nachteil: Sie benötigen hier einen Benutzer, dem eine neu erstellte Datenbank gehört. Genauso gibt es auch für alle weiteren Objekte wie Tabellen, Sichten, gespeicherte Prozeduren und so weiter einen Besitzer – nämlich den Benutzer, der das Objekt erstellt hat. Meist legt man diese Elemente im Kontext eines Windows-Benutzers an, was zum Beispiel dazu führt, dass Sie diesen Benutzer nicht einfach löschen können, ohne zuvor alle Elemente dieses Benutzers an einen anderen Benutzer übertragen zu haben. Aus diesem Grund hat Microsoft mit SQL Server 2005 den Typ namens „Schema“ eingeführt. Diesem werden nun nicht nur neu erstellte Objekte zugeordnet, sondern Sie können auch mehrere Schemas pro Datenbank verwenden, um beispielsweise Elemente nach verschiedenen Gruppen zu sortieren.

Weiterlesen

Berechtigungen für Access-Objekte per SQL Server I: Datenmodell

Im Beitrag „SQL Server: Sicherheit und Benutzerverwaltung“ haben wir gezeigt, wie Sie die Sicherheitsfunktionen für den Zugriff auf SQL Server und SQL Server-Datenbanken für Benutzergruppen und Benutzer einrichten. Damit ist der Zugriff auf die Elemente des SQL Servers geregelt. Was aber ist mit den Objekten im Access-Frontend – also beispielsweise mit Formularen, Schaltflächen, Ribbon-Einträgen und so weiter Wenn wir schon Benutzer und Benutzergruppen im SQL Server einrichten, möchten wir diese ja auch nutzen, um die Elemente der Benutzeroberfläche je nach der Anmeldung für Benutzergruppe oder Benutzer freizugeben oder auch nicht. Ein Beispiel dafür, wie Sie dies realisieren können, liefert der vorliegende Beitrag. In diesem ersten Teil erstellen wir das Datenmodell für die Berechtigungsverwaltung.

Weiterlesen

SQL Server: Tabellendefinition ändern

Unter Access sind Sie es gewohnt, nach Lust und Laune am Entwurf einer Tabelle zu arbeiten. Probleme gibt es nur, wenn Sie einmal die Feldgröße oder den Felddatentyp ändern wollen – etwa, weil die Daten dann nicht mehr in das Feld passen könnten. Das können Sie jedoch durch einen Mausklick bestätigen und weitermachen. Beim SQL Server sieht das etwas anders aus. Relevante Änderungen, die sich auf bestehende Felder beziehen, sieht das SQL Server Management Studio nicht so gern und blockiert dies – Sie müssen dann die Tabelle neu anlegen. Wer einen kleinen Trick nicht kennt, macht sich auf diese Weise viel unnötige Arbeit.

Weiterlesen

ODBC-Verknüpfungen in Formularen

Es gibt verschiedene Möglichkeiten, auf die Daten einer SQL Server-Datenbank zuzugreifen. Die einfachste Variante, gerade wenn es um die Migration einer reinen Access-Datenbank in eine Kombination aus Access-Frontend und SQL Server-Backend geht, ist der Einsatz von per ODBC verknüpften Tabellen. Dabei werden die Tabellen einfach nur zum SQL Server migriert und man greift dann über ODBC-Verknüpfungen auf die Tabellen zu. Für den Zugriff auf diese Daten von Formularen aus ergeben sich so gut wie keine Änderungen – und was sich doch ändern kann, erfahren Sie in diesem Beitrag.

Weiterlesen

Access und SQL Server im Web

Wenn Sie die Daten Ihrer Access-Datenbank über das Internet für verschiedene Access-Frontends verfügbar machen wollen, müssen Sie zwei Schritte erledigen: Der erste ist die Migration der Tabellen in eine SQL Server-Datenbank, der zweite die Bereitstellung dieser Datenbank über das Internet. Letzteres gelingt mit den Azure-Diensten von Microsoft. Wie das funktioniert, zeigt der vorliegende Beitrag im Detail.

Weiterlesen

SQL Server: Sicherheit und Benutzerverwaltung

Der Wechsel von einem Access-Backend zum SQL Server als Backend-System hat – neben der Performance und dem Speicherplatz – oft einen entscheidenden Grund: Access schützt die Daten nicht ausreichend vor fremden Zugriffen. Hier hat der SQL Server deutlich die Nase vorn, denn er bietet verschiedene Möglichkeiten der Sicherung der Daten vor dem unbefugten Zugriff. Dieser Artikel zeigt, wie das Sicherheitssystem und die Benutzerverwaltung im SQL Server funktionieren.

Weiterlesen

SQL Server-Authentifizierung

Im Beitrag „SQL Server: Sicherheit und Benutzerverwaltung“ haben wir gezeigt, wie Sie grundsätzlich mit Benutzern, Benutzergruppen und den Berechtigungen an den einzelnen Elementen einer SQL Server-Datenbank umd dem SQL Server selbst umgehen. Dort sind wir allerdings nur auf den Zugriff per Windows-Authentifizierung eingegangen. Viele Szenarios erfordern es allerdings, dass Sie die SQL Server-Authentifizierung verwenden, was bedeutet, dass Sie unter dem SQL Server eigene Konten für Benutzergruppen und Benutzer anlegen – unabhängig von den Windows-Benutzergruppen und -Benutzern. Dieser Beitrag liefert die Grundlagen rund um die Verwendung der SQL Server-Authentifizierung.

Weiterlesen

SQL Server-Zugriff ohne gespeichertes Kennwort

Wenn Sie per ODBC auf die Tabellen etwa eines SQL Servers zugreifen, kennen Sie das Dilemma: Entweder Sie nutzen die Windows-Authentifizierung, was nicht überall möglich ist, aber ohne größere Probleme funktioniert. Oder Sie verwenden die SQL Server-Authentifizierung. Dann haben Sie zwei Möglichkeiten: Entweder Sie erlauben das Speichern des Kennworts in den Systemtabellen von Access. Oder der Benutzer muss nach dem eigentlichen Anmelden nochmal seine Benutzerdaten eingeben, wenn der erste Zugriff auf eine Tabelle erfolgt. In dieser Lösung schauen wir uns diese Varianten an – und eine bessere, bei der Sie einfach die Tabellen beim Start neu verknüpfen.

Weiterlesen

Authentifizierung im SQL Server testen

Wenn Sie sich in die Programmierung des Sicherheitssystems des SQL Servers einarbeiten, wollen Sie die Berechtigungen der verschiedenen Windows-Benutzer, Windows-Gruppen oder SQL Server-Benutzer ausprobieren. Bei SQL Server-Benutzern, die sich über die SQL Server-Authentifizierung anmelden, ist das einfach. Bei Windows-Benutzern und -Benutzergruppen denkt der eine oder andere sicher schon darüber nach, dass er dann immer den Windows-Benutzer abmelden und sich unter dem Namen des zu prüfenden Benutzers einloggen muss. Das ist aber nicht der Fall – es gibt einfachere Methoden sowohl für den Zugriff von Access als auch direkt über das SQL Server Management Studio.

Weiterlesen

SQL Server: Zugriffe untersuchen mit XEvents

Wenn es darum ging, die Zugriffe auf eine SQL Server-Datenbank zu tracken – sei es zur Performance-Messung oder zur Optimierung einer Datenbank – war bis vor kurzem der SQL Server Profiler die Anwendung der Wahl. Mittlerweile gibt es allerdings einen in das SQL Server Management Studio integrierten Objekttyp namens „Erweiterte Ereignisse“. In diesem Beitrag wollen wir Ihnen diesen Objekttyp vorstellen. Das einfache Beispiel zu diesem Zweck stammt aus einem anderen Beitrag namens „SQL Server-Zugriff ohne gespeichertes Kennwort“. Hier wollen wir herausfinden, unter welchem Benutzer ein Zugriff auf eine SQL Server-Datenbank von Access aus erfolgt, bei dem offensichtlich gar kein Benutzer angemeldet ist.

Weiterlesen