3 Richtlinienbasierte Verwaltung und Multi-Server

Werbung
Richtlinienbasierte Verwaltung und Multi-Server-Administration
3 Richtlinienbasierte Verwaltung und Multi-ServerAdministration
SQL Server Management Studio bietet eine Reihe von Unterstützungsmöglichkeiten, wenn viele SQLServer-Instanzen gemeinsam verwaltet werden sollen. In diesem Kapitel sollen diese Möglichkeiten
erläutert werden.
Aktivieren Sie zunächst die Ansicht Registrierte Server:
Um mehrere Server zu verwalten, müssen Sie einen zentralen Verwaltungsserver erstellen. Ein
zentraler Verwaltungsserver erhält Daten über registrierte Server, die zentral verwaltet werden sollen.
37
SQL Server 2012: Administration
Erstellen Sie anschließend Servergruppen. Registrieren Sie alle vorhandenen SQL-Server-Instanzen
und ordnen Sie sie den erstellten Servergruppen zu.
Nun können Richtlinien eingerichtet werden, die dann auch für mehrere Server übernommen werden
können.
Beispiele für Richtlinien:
•
Autoshrink muss ausgeschaltet sein
•
Tabellennamen müssen mit t... beginnen
•
Datendateien müssen auf E: liegen
Die Richtlinien können als XML-Dateien abgelegt werden und auf verschiedenen Servern verteilt
werden.
Leider kann der Configserver die eigene Konfiguration nicht verwalten!
Außerdem sind im Moment nur Registrierungen von Windows-authentifizierten Servern möglich.
Die Registrierungsinformationen liegen in der msdb-Datenbank auf dem Konfigurationsserver und
können folgendermaßen abgerufen werden:
select * from sysmanagement_shared_registered_servers
Mitglieder der Rollen ServerGroupAdministratorRole und ServerGroupReaderRole dürfen diese Daten
abfragen. Standardmäßig sind nur sysadmins Mitglieder.
Richtlinien, Facetten sind immer in der msdn-Datenbank gespeichert.
38
Richtlinienbasierte Verwaltung und Multi-Server-Administration
Richtlinien ersetzen eine Unzahl von Features, die bisher über folgende Tools verwaltet wurden:
•
SQL Server Agent
•
DDL Triggers/Event Notifications
•
SQL Server Best Practice Analyzer
•
SQL Server 2005 Surface Area Configuration Tool (gibt es nicht mehr)
Auf Targets (zB Server) werden Facets (vorkonfigurierte Eigenschaftsgruppen) konfiguriert. Diese
Facets werden von Microsoft vordefiniert, es wird ca. 30 - 40 Facets geben. Aus den Facets zieht man
sich Bedingungen (autocreatestatistices muss true sein usw.), die auch mit und/oder kombiniert
werden können.
Beispiel: In der Datenbank AW_Marketing sollen ausschließlich Gespeicherte Prozeduren angelegt
werden dürfen, deren Name mit p beginnt.
Schritt 1: Auswählen des Facets „Gespeicherte Prozedur“, Kontextmenü [Neue Bedingung…]:
Im folgenden Dialogfeld geben Sie zunächst einen Namen für die gewünschte Bedingung ein, dann
legen Sie einen Ausdruck fest. In diesem Fall muss die Variable @Name (entspricht dem Namen der
gespeicherten Prozedur) mit dem Suchmuster ‚p%‘ verglichen werden.
Speichern Sie die Bedingung durch Klick auf OK.
39
SQL Server 2012: Administration
Erstellen Sie nun eine neue Richtlinie:
Legen Sie einen Namen für die Richtlinie fest und wählen Sie die vorher gespeicherte Bedingung aus.
Da die Richtlinie nicht für alle Datenbanken gelten soll, müssen Sie für die Auswahl der Datenbank
AW_Marketing eine zusätzliche Bedingung formulieren. Dies erreichen Sie durch Anklicken des
Pfeilchens neben dem Hyperlink „Alle“:
Es öffnet sich automatisch eine Bedingung im Facet Databases:
40
Richtlinienbasierte Verwaltung und Multi-Server-Administration
Konfigurieren Sie den Ausdruck wie angegeben und speichern Sie mit OK.
Legen Sie zuletzt den Auswertungsmodus fest (Bei Änderung: Verhindern) und aktivieren Sie die
Richtlinie.
Erstellt man eine gespeicherte Prozedur, die nicht den Namenskonventionen entspricht, so wird ein
Rollback durchgeführt:
Die Richtlinie 'AW SP Name' wurde von
'SQLSERVER:\SQL\SQL13\DEFAULT\Databases\AW_Marketing\StoredProcedures\dbo.TestProzedur'
verletzt.
Für diese Transaktion wird ein Rollback ausgeführt.
Richtlinienbedingung: '@Name LIKE 'p%''
Richtlinienbeschreibung: ''
Zusätzliche Hilfe: '': ''
Anweisung: 'create proc TestProzedur as
select * from PastPromotions.ProductDiscounts
'.
Meldung 3609, Ebene 16, Status 1, Prozedur sp_syspolicy_dispatch_event, Zeile 65
Die Transaktion endete mit dem Trigger. Der Batch wurde abgebrochen.
41
SQL Server 2012: Administration
Beispiel: Database-Facet
Richtlinien können auch verwendet werden, um einen Server zu konfigurieren. Nicht alle Parameter
können gesetzt werden (nur deterministische Eigenschaften, also zB true/false-Werte möglich, aber
nicht Dateigröße).
Vorkonfigurierte Richtlinien importieren:
42
Richtlinienbasierte Verwaltung und Multi-Server-Administration
Richtlinien und Bedingungen werden importiert.
Beispiel:
43
SQL Server 2012: Administration
Beispiel: In der AdventureWorks-Datenbank darf niemand ein Objekt im dbo-Schema erstellen
Jede Bedingung kann nur auf einer Facette aufbauen:
44
Richtlinienbasierte Verwaltung und Multi-Server-Administration
Für jede Richtlinie kann nur eine Bedingung überprüft werden.
Das Feature ist abwärtskompatibel zu SQL Server 2005, das bedeutet, man kann auch SQL Server
2005 prüfen und ändern lassen.
45
SQL Server 2012: Administration
Richtlinien können folgendermaßen ausgeführt werden:
•
manuell gegen bestimmte Server (On Demand)
•
oder: in bestimmten Zeitabständen (On Schedule)
•
oder: bei Änderungen (On Change - Log Only)
•
oder: Änderungen ggf. verbieten (On Change - Prevent)
Nicht bei allen Ereignissen gibt es alle vier Möglichkeiten!
46
Herunterladen