Womit schreibe ich eigentlich SQL?
Das ist so die erste Frage die sich stellt wenn man sich mit dem SQL Server beschäftigt. Grundsätzlich kann man SQL Code mit jedem Editor schreiben. Wie bei allen Programmier- und Skriptsprachen ist es aber deutlich einfacher wenn man ein Syntaxhighlighting dazu hat. Also Schlüsselwörter farblich hervorgehoben werden und vielleicht eine Autovervollständigung dabei ist die einem direkt beim entwickeln hilft.
SQL Server Management Studio
Erste Anlaufstelle ist natürlich das Management Studio von Microsoft. Es ist perfekt zugeschnitten auf die Arbeit mit dem SQL Server und ist noch dazu komplett kostenlos. Früher konnte es direkt mit dem Server mit installiert werden, heute ist es als extra Programm verfügbar. Mit dem Management Studio kann noch viel mehr gemacht werden als nur SQL schreiben. Alle Einstellungen, Überwachungen etc. des Servers können hiermit angesteuert oder gesetzt werden. Insgesamt also ein sehr mächtiges Tool. Wichtig dabei ist, dass das Management Studio nicht auf dem Server installiert sein muss. Eigentlich sollte es sogar gar nicht auf dem Server selber installiert werden. Grundsätzlich gilt immer, ein Windows Server sollte nur für eine Aufgabe, den SQL Server, bereitgestellt werden. Management Studio verbraucht nur unnötig Ressourcen auf dem Server die wir besser für den SQL Server nutzen können. Wir können uns wunderbar Remote, also von irgendeinem Client aus, mit dem Server verbinden und somit die Ressourcen des Servers schonen.
Plugins
Für das Management Studio gibt es diverse Plugins. Ich will einige davon kurz vorstellen die ich selber häufig verwende. Das – meiner Meinung nach – momentan beste Plugin ist SQL Prompt von Redgate. Leider ist es nicht ganz günstig aber auf jeden Fall sein Geld wert. Ich habe mich schon so an die wirklich gute Autovervollständigung davon gewöhnt, dass ich häufig an anderen Rechnern gar nicht daran denke, dass ich gewisse Shortcuts und Snippets dort nicht verwenden kann. SQL Prompt bietet aber noch mehr als nur Autovervollständigung. Es hat beispielsweise auch einen Formatter, der mir aber nicht so zusagt, und diverse Funktionen die das Arbeiten mit dem Server vereinfachen wir farbige Markierung von unterschiedlichen Servern und den zugehörigen Tabs im Studio.
Ein weiteres Tool von Redgate ist SQL Search. Damit können sehr einfach Datenbankobjekte gefunden und durchsucht werden. Also zum Beispiel Tabellen, Stored Procedures oder Views. Dieses Tool ist kostenlos und für mich eins der am häufigsten eingesetzten Tools. Gerade dann wenn es um Datenbanken oder Datenbankversioen geht die man nicht so gut kennt.
SSMS Boost ist ein Plugin vergleichbar zu SQL Prompt. Einige Funktionalitäten überschneiden sich aber beide Plugins haben auch ihre Besonderheiten, weswegen ich beide bei mir installiert habe. Mein Lieblingsfeature von SSMS Boost ist der einfache Wechsel eines Tabs von einem Server zum anderen. Dafür können Serververbindungen definiert werden zwischen denen dann gewechselt werden kann. Ich nutze das häufig wenn ich lokal was entwickel und teste und dann den Code auf den Produktivserver bringen will. Auch hier können einzelne Server farbig markiert werden und noch vieles mehr. SSMS Boost gibt es sowohl als kostenloses Tool in einer Basisversion als auch als kostenpflichtiges Tool in der Vollversion. Ich hatte für mich durch SQL Prompt bisher noch kein Bedürfnis nach der Vollversion und kam mit den Features der kostenfreien Edition gut zurecht.
Für die Codeformatierung nutze ich am liebsten den Refactor von Apex. Es ist ein kostenfreies Produkt, dass meiner Meinung nach momentan die umfangreichsten Einstellmöglichkeiten bei der automatischen Formatierung von SQL Code bietet. Es hat auch noch so seine Macken, aber man merkt mit jeder Version, dass es besser wird.
Es gibt sicher noch ganz viele weitere gute Plugins für das Management Studio. Schreibt mir gerne in den Kommentaren was ihr noch so nutzt.
Andere Umgebungen
Neben dem Managementstudio gibt es noch viele andere Möglichkeiten SQL Code zu schreiben. Die wohl ressourcenschonenste ist über die Kommandozeile oder Powershell. Aber hier fehlen natürlich viele komfortable Funktionen wie man sie aus echten Entwicklungsumgebungen kennt. Mit Visual Studio kann man auch SQL Code entwickeln. Visual Studio und Management Studio sind hierbei in weiten Bereichen von der Funktionalität identisch. Für das reine Entwickeln ist Visual Studio natürlich eine perfekt geeignete Software. Ich selber entwickle noch mit dem Management Studio aber vielleicht ändert sich das auch bald. Im November besuche ich ein Pass Essentials zum Thema SQL Server Data Tools. Ich werde darüber berichten wir ich dann über Visual Studio als Entwicklungsumgebung für SQL denke.
Es gibt auch noch andere Tools für SQL wie beispielsweise Heidi SQL. Ich selber habe damit keine wirklich guten Erfahrungen gemacht und rate deswegen immer dazu Management Studio zu verwenden.
Schreibt mir in die Kommentare mit was ihr entwickelt und was euch den Alltag da erleichtert.