Backup und Restore

Oder: Vertrauen ist gut, Kontrolle ist besser

Welcher Administrator kenn diese Situation nicht?

Man ist zwar eigentlich kein Datenbankadministrator aber da gibt es ja noch diesen Server. Ach ja und da läuft auch noch eine Datenbank, oder mehrere. So ganz genau weiß dies auch keiner. Kümmere dich doch mal darum.

Nachdem man sich mühevoll einen Überblick über den Server verschafft hat und auch den SQL Server inspizieren konnte, stellt man fest, dass alles in Ordnung scheint. Server läuft, die Datenbanken laufen und auch das Backup ist die letzten Jahre immer erfolgreich gewesen. Aber ein erfolgreiches Backup ist eigentlich nur die halbe Wahrheit.

Es gilt der Spruch:

Was interessiert mich das erfolgreiche Backup, der erfolgreiche Restore ist mir viel wichtiger!

Weiterlesen

Advertisements

SQL Server Express – Public vs. Sicherheit

In den letzten Jahren hat Microsoft immer mehr Features der kostenpflichtigen SQL Server Editionen in die kostenlose Express Edition aufgenommen. Somit können Entwickler immer mehr Anwendungen  mit der SQL Express Edition bereitstellen. Leider gibt es seit langer Zeit einen Unterschied zwischen der Express Edition und der Standard/Enterprise welche nicht so offensichtlich ist und Auswirkungen auf die Sicherheit haben kann.

Wie ist es in den anderen Edition?

Will man sich mit einer SQL Server Instanz der Standard, Developer oder Enterprise Edition verbinden, benötigt man zunächst einen Login für die Instanz. Dieser Login kann entweder über einen Windows Account oder eine Windows Gruppe erfolgen welcher im SQL Server berechtigt wird oder man erzeugt einen SQL Server Login (falls der gemischte Modus aktiv ist). Generell gilt: Nur wer einen gültigen Login besitzt darf sich am Server anmelden und ist damit Mitglied der Serverrolle „Public“ Weiterlesen

SSMS – Über TCP Port Nr. verbinden

Wenn man sich über das SSMS (SQL Server Management Studio) mit einer bestimmten Instanz verbinden will, kann man dies standardmäßig über die Kombination Server\Instanznamen tun. Bei benannten Instanzen wird hier im Hintergrund ein dynamischer Port für die benannte Instanz geöffnet und der Dienst SQL Browser führt die Zuordnung zwischen Instanznamen und dynmischen TCP Port durch.

Oder falls man nicht den SQL Browser nutzen will/kann, kann man auch Servernamen,TCP Port angeben. Voraussetzung hierfür ist, dass man im Vorfeld einen festen Port in der Netzwerkkonfiguration definiert hat.

Der Vorteil bei statischen TCP Ports auch für nicht Standardinstanzen liegt in der einfacheren Verwaltung von Netzfirewall Regeln. Netzfirewalls tun sich schwer mit Regeln auf dynamischen Ports.

SSMS-TCP

Durch die Angabe des TCP Ports kann man auch direkt testen ob die Zuweisung des statischen Ports in der Netzwerkkonfiguration des SQL Servers funktioniert hat.

 

Anlegen von Warnungen per Powershell

Wie auch sonst in der IT ist auch ein Datenbankserver nicht frei von Fehlern oder Problemen. Um schnell auf Fehler reagieren zu können ist es notwendig zeitnah über Probleme informiert zu werden. Innerhalb des SQL Server übernimmt der SQL Server Agent (nicht in der Express Edition vorhanden) diese Aufgabe.

Vorbereitungen

Damit der SQL Server Agent Benachrichtigungen versenden kann ist es erforderlich das Datenbank-Mail eingerichtet ist. Weitere Informationen zu Einrichtung von Datenbank Mail findet man im Technet unter https://technet.microsoft.com/de-de/library/ms175887(v=sql.105).aspx Weiterlesen

SQL Server Dienstkonten

Oder wie viel Rechte dürfen es sein?

Bei der Installation eines neuen SQL Servers wird man unter anderem nach den Account-Informationen der Dienstkonten gefragt. Leider geht die Frage in dem umfangreichen Installationsprozess etwas unter.  Hinter der Frage verbirgt sich aber ein sehr wichtiges Thema, über welches man sich unbedingt im Vorfeld Gedanken machen sollte.

Wie viele Berechtigungen gebe ich meinem SQL Server?

Oder anders gefragt:

Welche Berechtigungen benötigt der SQL Server eigentlich um seine Aufgaben korrekt und sicher zu erledigen? Weiterlesen

Sperren von Seiten im Speicher

Level – Einsteiger

Wie verhindert man, das die Daten des SQL Server im Pagefile landen.

Arbeitsspeicher ist teuer, zumindest im Verhältnis zu anderen Speichermedien. Das Betriebssystem versucht daher die Ressource Arbeitsspeicher möglichst gerecht zu verteilen. Wird nun mehr Arbeitsspeicher von den Anwendungen angefordert als tatsächlich zur Verfügung steht, lagert das Betriebssystem Teile des Arbeitsspeichers in das Pagefile aus. Weiterlesen

SQL Express – Sicherung mit der Powershell

Hinweise: 11.11.2016 Anleitung für die Aufgabenplanung ergänzt

Die SQL Express Edition erfreut sich gerade für kleine Anwendungen großer Beliebtheit da sie keine Lizenzkosten verursacht. Diese Beliebtheit dürfte sogar noch steigen seit dem Microsoft mit dem Service Pack 1 für den SQL Server 2016 viele Funktionen der Standard und sogar Enterprise Edition nun auch in der Express Edition verfügbar macht.

Nun stehen hier auch viele der InMemory Features und Sicherheitsfunktionen wie AlwaysEncrypted auch in der Express Edition bereit. Weiterlesen

Kostenschwelle für Parallelität

Level – Fortgeschritten

Im SQL Server gibt es einen Konfigurationsparameter mit dem Namen „Kostenschwelle für Parallelität“. Standardmäßig ist er mit dem Wert 5 konfiguriert was aber nicht mehr zeitgemäß ist.

Aktuell kann man sagen, dass ein Wert zwischen 25 – 50 für OLTP Anwendungen angemessen ist. Leider kann man keine allgemein gültige Aussage treffen welcher Wert der Richtige ist.  Weiterlesen

DB Sicherung unter AlwaysOn Verfügbarkeitsgruppen

Level – Anfänger

Wer die inzwischen nicht mehr ganz so neuen AlwaysOnVerfügbarkeitsgruppen in SQL Server nutzen möchte, sollte sich schon früh über eine Sicherungsstrategie Gedanken machen. Denn schon bei der Einrichtung einer neuen Verfügbarkeitsgruppe will der Assistent eine Entscheidung darüber, wie man die Datenbanken zukünftig gesichert haben möchte. Genauer gesagt geht es darum auf welchem Replikat soll die Sicherung ausgeführt werden. Weiterlesen