Microsoft SQL Server

Kleine Kniffe und Skripte, die einem das Leben mit dem Datenbanksystem von Microsoft etwas erleichtern...

Datenbank auf Unicode umstellen

Wenn eine SQL Server Datenbank auf Unicode umgestellt werden soll, muss dies über die Umstellung des Datentyps der Tabellenspalten von VARCHAR auf NVARCHAR erfolgen. Man kann sich die entsprechenden Spalten von Hand raussuchen und die entsprechenden ALTER TABLE x ALTER COLUMN y NVARCHAR(z) Kommandos zusammenschreiben, man kann aber auch das nachfolgende Skript verwenden, um sich die Arbeit etwas zu erleichtern... Weiterlesen...

Tabelle kopieren

Um mal eben eine Tabelle zu kopieren, gibt es unter Oracle den Befehl CREATE TABLE ... AS SELECT .... Um bei Microsofts SQL Server den gleichen Effekt zu erreichen, muss man aber einen Befehl verwenden, der mal wieder völlig anders aussieht... Weiterlesen...

TempDB erweitern

Beim SQL-Server werden in der TempDB nicht nur Sortierungen durchgeführt, sondern auch - abhängig vom Isolation Level - Undo-Informationen hinterlegt. Läuft eine Transaktion sehr lange oder ist sehr umfangreich, kann der Platz in der TempDB recht knapp werden, so dass man nicht mehr vernünftig mit der Datenbank arbeiten kann. In der Regel kann man z. B. im Management Studio noch die Meldung Could not allocate a new page for database TempDB because of insufficient disk space sehen, ist aber nicht mehr in der Lage den Eigenschaftsdialog der TempDB zu öffnen, um die Datenbank zu vergrößern. Weiterlesen...

Activity Monitor streikt

Das Telefon steht nicht still, weil der SQL Server die Abfragen nur noch im Schneckentempo verarbeitet. Jetzt schnell einen Blick in den Activity Monitor werfen, um den Verursacher der Störung zu ermitteln und.... ausgerechnet jetzt streikt er. Was nun? Weiterlesen...

Zeichenfolgen- oder Binärdaten würden abgeschnitten

Eigentlich kein DB-Problem, sondern ein Anwendungsproblem: In ein DB-Feld soll mehr Inhalt (Zeichen) eingefügt werden, als es durch die Felddefinition zulässig ist. Leider schweigt sich die Datenbank über weitere Details aus. Man erfährt also weder die betroffene Tabelle, noch das entsprechende SQL Statement oder was einem auch sonst bei der Fehlersuche helfen könnte. Weiterlesen...