Query um eine UI Tabelle darzustellen. Mit Filter pro Spalte, Sortierung pro Spalte, variablen Paging und Anzahl Zeilen ohne Filterung

[crayon-67670766541ab888320137/]
 




Spalteninformationen zu Prozeduren anzeigen

Der Profiler ist schon eine tolle Sache. Wenn man im SQL Management Studio eine Prozedur ausklappt, dann macht das Management Studio folgende Abfrage um die Informationen auszulesen:
[crayon-6767076654545702814864/]
 




Alle Country Codes als SQL Query

Einfach eine Konsolenanwendung erstellen und folgendes Snippet reinkopieren:


[crayon-67670766547e9525926419/]
Folgender resultCultures Query wird generiert:
[crayon-67670766547ed629101319/]
bzw. Folgender resultRegions Query wird generiert:
[crayon-6767076654803071158833/]
 




SQL Backup erzeugen

[crayon-676707665500d679514093/]
Kurz und knackiger Skript um ein Backup zu erzeugen.

Ergebnis: MyDatabase_2018-04-30.bak

Andrere Datumsformate auch hier: https://www.techonthenet.com/sql_server/functions/convert.php




Insert and retrieve autogenerated ID

Möchte man einen Insert durchführen und daraufhin die generierte ID erhalten, so geht es beim Identifiert (Int) sehr einfach über den OUTPUT Parameter:
[crayon-67670766551a0709418077/]
Beim Uniqueidentifier (GUID) ist das Selektieren eines @@Identity nicht möglich.

Daher muss eine temporäre Tabelle hinhalten:

 
[crayon-67670766551a4249206804/]
 

 




SQL Funktion um gleich klingende Wörter zu erkennen

SQL hat eine interne Funktion, um Wörter, die gleich klingen nach einer mathematischen Formel zu berechnen.

Beispiel:
[crayon-67670766553a1756257065/]
bekommen beide den Wert B162.

Diese Funktion ist besonders für Suchanfragen perfekt.




Trigger, der tatsächlich alles löscht

Wenn man in T-SQL einen Trigger auf eine Tabelle legt und diese soll nach einem Löschvorgang ebenfalls etwas anderes machen, dann stoßt man auf das folgende Problem. Solange man nur eine Zeile löscht, ist alles in Ordnung, sobald man aber mehrere Datensätze löscht, kann es passieren, dass nur der erste Trigger greift. Der Grund ist, wie man auf die deleted Tabelle zugreift.

Nutzt man SELECT TOP 1 FROM deleted, so bekommt man auch nur die erste ID. Löscht man mehrere Datensätze, befinden sich aber mehrere IDs in der deleted Tabelle.

Die Lösung ist, dass man Cursor an dieser Stelle verwendet, die Zeile für Zeile, alle IDs bearbeiten.
[crayon-6767076655512414628497/]
 




SQL Management Studio Sitzung neu laden

Wenn man z.B. eine neue Spalte angelegt hat und möchte dann, diese im Query Editor ansprechen, so wird diese rot angestrichen. Das bedeutet, dass er in dieser Sitzung diese Spalte noch nicht kennt.

Mit der Tastenkombination Strg + Shift + R kann man die Sitzung aber einfach neu starten.




Ganze Datenbank nach einem Begriff durchsuchen

[crayon-6767076655677697964628/]
ACHTUNG: Das Script ist nicht von mir.

http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm




SQL Datenbank von .bak Wiederherstellen

[crayon-67670766557ab527168648/]
Ersetze

  • DATABASENAME durch den Datenbanknamen, der wiederhergestellt werden soll (Achtung! 2x)
  • BACKUPFILE.bak durch den Pfad zur Backup Datei
  • MDF_FILENAME durch die Bezeichnung der Mdf Datei
  • LDF_FILENAME durch die Bezeichnung der LDF Datei. In der Regel heißt sie wie die Mdf Datei mit „_log“ dahinter