Blog rund um SQL Server und Sharepoint
T-SQL
SQL Server Monitoring: Messen der Leistung mit Systemmonitor – wichtige Leistungsindikatoren
21. Feb
Systemmonitor
Jede Instanz eines SQL Servers installiert ihre persönllichen Leistungsobjekte bzw. Leistungsindikatoren. Der unter Windows verfügbare Systemmonitor (Perfmon) stellt diese und auch OS eigene Indikatoren zur Verfügung.
Der Systemmonitor stellt dadurch – als Werkzeug der ersten Wahl – die Real time Auslastung der Maschine dar. Natürlich könnte man den Taskmanager ebenso verwenden, aber hier sind keine weitere Messwerte für etwa SQL Server enthalten.
Unter Leistungsindikatorenprotokolle lassen sich die gemessenen Werte per Zeitplan aufzeichnen.
Leistungsindikatoren
Um nun wichtige Werte für das finden von Übertätern zu finden hier ein Auswahl:
- Prozessor: Prozessorzeit
Diese sollte natürlich nicht auf Dauer allzu hoch sein. Messunen über 50% bis 60%, sollten abgeklärt werden (Auslagerungen, Kompilierungen etc) - PhysicalDisk: AverageDiskQueueLength
Dieser Wert sollten nicht über 2 sein. Der Wert gibt nämlich an, ob Der physik. Datenträger Daten schnell genug wegschreiben kann. - Speicher: Seiten/sec
Seiten, die entweder vom Speicher auf den Datenträger geschrieben werden oder davon gelesen und in den Sepicher geschrieben werden. Der Wert sollte auf Dauer kleiner als 20 sein. - BufferManager: BufferCacheHitRatio
Die %-Quote gibt an, wieviel der angefragten Daten (Seiten) aus dem Speichercahce geholt werden können. Der Wert sollte größer 90% sein. Dadurch, dass der SQL Server jede Menge ´Read Ahead Vorgänge erzeugt, ist der Wert nicht allzuaussagekräftig. Bereits nach Start des SQL Dienstes weist er einen Wert von kanpp unter 100% aus… obwohl noch keine Daten abgefragt wurden??!! - Plan Cache: Trefferquote
Jede Frage benötigt einen Ausführungsplan. Im günstigsten Fall liegt dieser bereits vor. Falls nicht, muss ein neuer Plan erstellt und kompiliert werden. Das kostet Prozessorzeit.
Falls also die Prozessorleistung sehr hoch ist, sollten sie diesen Wert und Transactions / sec untersuchen. Die Trefferquote sollte so hoch wie möglich sein. - GenerellStatitics: User Connections
Anzahl der Benutzerverbindungen - Puffer Manager: Page Life Expectancy
Seiten werden in den Speicher geladen, um die Requests der Clients schnell bedienen zu können. Die gecachten Seiten können aufgrund von zu wenig Platz zugunsten anderer Seiten aus dem Cache entfernt werden. Der Wert sollte nicht unter 300 liegen. Sonst haben Sie zu wenig Hauptspeicher - SQL Statistics: Kompilierungen /sec
Ausführungspläne bedürfen einer kompilierung und evtl auch einer Recompilierung. Diese führt zu einer höheren CPU Last. Sollte dieser Wert sich erhöhen, können Sie evtl durch paramtriesierung ihrer Abfragen eine Verbesserung erreichen. - SQL Statistics: Recompilierungen /sec
Dieser Wert steigt, sobald kompilierte Pläne durch verschiedene SET Einstellungen erneut kompiliert werden müssen. - SQL Benutzerdefinierbar: User Counter 1 (bis 10)
Ein Indikator der mir persönlich sehr gut gefällt. Übergibt man der sp_Usercounter1 eine ganze Zahl so wird diese sofort im Systemmonitor dargestellt. SO ließe sich z.B. der Tagesumsatz im Verhältnis zur CPU oder Speicher darstellen. In Worten: Ab einem bestimmten Umsatz proTag braucht man eine besser CPU.
SQLDays in Rosenheim Review
25. Okt
Vor jeder Planung einer Konferenz steht vor allem die Frage nach den Titeln im Raum. Dieses Jahr hatte ich als Content Owner der SQLDays ein leichtes Spiel. SQL Server 2008 bringt so viele Neuigkeiten mit, so daß man durchaus Wochen mit Vorträgen füllen könnte. Aber kaum aus der Verpackung gerissen, kündigt sich SQL Server 2008 R2 mit gigantischen Neuerungen vor allem im BI Bereich an. Nicht zuletzt lag der Schwerpunkt der Sessions auf diesem Sektor. Steffen Krause oder auch Markus Raatz etwa hielten ihre Sessions rund um das Theme Gemini. Für mich persönlich ein absoluter Knaller.
Der große Run wird wohl Mitte November enstehen, sobald Sharepoint 2010 als öffentliche Beta zur Verfügung gestellt wird. Gerade die Integration von SQL Server und Sharepoint 2010 (und natürlich Office 2010) wird das Jahr 2010 und 2011 beherrschen. Wer seinen Job für Jahre sicher stellen möchte, möge sich auf diese Server spezialisieren.
Die SQLDays haben dieses Jahr mit ca 80 Gästen in fast famliärer Atmosphäre stattgefunden. Die Bewertungen in Gesprächen während der Konferenz und vor allem auch das Ergebnis in schriftlicher Form sind durch die Bank sehr gut ausgefallen. Ein positives Signal, um die SQLDays nicht nur am Leben zu erhalten, sondern auch ein Zeichen, daß sie zu einem vollem Erfolg werden ließ.
An dieser Stelle nochmals Dank an alle Sprecher, die dies nicht für den Geldbeutel, sondern um des Thema willen tun. Vor allem aber auch Dank an die Gäste.
Meinungen und Blogs zu SQLDays:
“Super Sprecher”
http://www.communardo.de/techblog/2009/10/22/rueckblick-auf-die-sqldays/
Demodatenbanken
15. Sep
Für diverse test benötige ich dann und wann ein paar Datenbanken:
Hier meine wichtigsten:
Nordwind DB als Skript-Datei:Nordwind DB
Adventureworks 2008: (ist eigtl ein Skript, das viele .csv Dateien importiert. Das Skript muss noch an die jeweiligen Pfade angepaßt werden.
Für einige Test zur Performance Optimierung hat vor einiger Zeit das Spiel mit der Numbers Tabelle aufgebracht… Ist in der Literatur oft zu finden:
Woher nehmen? ..von hier
CREATE TABLE dbo.Numbers
(
Number smallint IDENTITY(1, 1) PRIMARY KEY
)
GO
WHILE 1 = 1
BEGIN
INSERT INTO dbo.Numbers DEFAULT VALUES
IF @@IDENTITY = 1000000
BEGIN
BREAK
END
END
GO
Datenbanken als Skript exportieren
22. Jul
Ein sehr nützliches Tool ist der Microsoft SQL Server Database Publishing Wizard 1.1. Mit Hilfe dieses kleinen Tools ist es möglich komplette Datenbanken als Skript zu exportieren. Im Gegensatz zu “CREATE AS” in SQL Server Management Studio werden hiermit auch die Inhalte der Tabellen, sowie die Schemas generiert.
Der Download ist zu finden unter: SQL Server Database Publishing Wizard
Funktioniert auch unter Windows 2008, Windows 2008 R2 sowie mit SQL Server 2000 und SQL Server 2005.
SQL 2008 wird nicht unterstützt.
SQL Server umbenennen
04. Feb
Wer mal Rechner umbenannt hat, auf denen sich ein SQL befindet, weiß vermutlich schon, dass der Name des SQL Servers sich nicht geändert hat.
Blöd, weil bspw. Schulungsgäste den alten Namen nicht kennen und somit keinen Connect zu dem Server herstellen können.
Das Problem ist aber rel. leicht zu beheben:
Mit dem SQL Server unter (local) verbinden und folgendes Script im Query Analyzer ausführen….
oder per KommandoKonsole: osql – E bzw. sqlcmd -E
sp_dropserver <old_servername>
go
sp_addserver <new_servername> , local
go
sp_dropserver <old_servername\instancename>
go
sp_addserver <new_servername\instancename> , local
go
Danach Neustarten des SQL Servers…
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=1ee41d9c-d8f9-447b-99f7-e23ebb998b05)