“Die Transaktion (Prozess-ID xxxx) befand sich auf Sperre Ressourcen aufgrund eines anderen Prozesses in einer Deadlocksituation und wurde als Deadlockopfer ausgewählt. Führen Sie die Transaktion erneut aus.” Soweit ich das verstanden habe treten Deadlock’s auf wenn zwei Transaktionen dauerhaft auf eine bestimmte Ressource warten würden. Eine Ressource kann zbspl. eine Speicher-Seite sein. Der MS-SQL-Server erkennt …
Kategorienarchiv: SQL
Mai
14
Mrz
31
Zahlen sortieren mal anders
So könnte man Zahlen mal auf eine andere Art sortieren:
SELECT 3 AS ID UNION ALL SELECT 1 AS ID UNION ALL SELECT 2 AS ID ORDER BY ID
Sieht dann in etwa so aus:

Dez
12
Eingabedaten flexibel und unabhängig von der Programmiersprache mittels SQL prüfen
Möchte man Eingaben flexibel und evtl. komplexen Prüfungen unterziehen kann man sich die Fähigkeiten von SQL zu nutze machen. Ich gehe hier davon aus das die Anwendung generell eine Datenbankverbindung hat und nicht extra wegen der Prüfung eine Verbindung aufbauen muss. Ein Beispiel: Der Benutzer gibt eine Zeichenfolge ein: “D016381″. Die Anwendung muss nun etwas …
Sep
26
Den Inhalt aller Tabellen einer Microsoft SQL-Datenbank löschen
Mit folgendem TSQL-Script wird der Inhalt aller in der aktuellen Datenbank vorhandenen Benutzer-Tabellen gelöscht: Sollte TRUNCATE TABLE wg. Referenzen oä. nicht funktionieren kann es durch das etwas langsamere DELETE FROM ersetzt werden. Bevor man das Script ausführt sollte man mehrfach Prüfen das man in der richtigen Datenbank / auf dem richtigen SQL Server ist. DECLARE …
Mai
03
Sichten und Vernichten
Eine sehr übersichtliche SQL Sicht:

Jan
13
Microsoft SQL Datenbank Offline Schalten
Folgendes SQL Script killt ALLE Prozesse die mit einer bestimmten SQL-Datenbank verbunden sind und schaltet die Datenbank offline. Da ich gerade nicht weiß wie man einen Datenbank namen als Objekt (DECLARE .. database) definiert muss man den Datenbanknamen zweimal angeben, einmal oben bei “SET @db..” und einmal unten bei “ALTER DATABASE”. USE [master] DECLARE @spid …
Jan
12
Prozesse von Microsoft SQL Server Killen
Folgendes Script killt alle SQL-Prozesse einer bestimmten Anwendung / eines bestimmten Benutzers. MS-SQL macht teilweise richtig Spass DECLARE @spid int DECLARE CUR CURSOR FOR SELECT spid FROM sysprocesses WHERE program_name = ‘Name der Anwendung’ AND loginame = ‘Name des SQL Benutzers’ OPEN CUR FETCH NEXT FROM CUR INTO @spid WHILE @@FETCH_STATUS = 0 BEGIN EXECUTE …
Dez
31
Microsoft SQL Server 2000 Partitionen
Da Wochenende war kam bei mir wiedermal der Spieltrieb durch. Ich wollte mir schon immer mal die Partitionierung von Tabellen im SQL Server 2000 näher anschauen. Vorweg sei zu erwähnen das die Paritionen erst mit SQL 2005 halbwegs vernünftig implementiert sind. Partitionen in SQL 2000 (oder gar SQL 7) haben folgende (gravierende Nachteile): Es müssen …
Sep
11
Nächste Freie Lücke in Datensätzen
Folgendes SQL Statement ermittelt die nächsten freien Datensätze innerhalb einer teilweise gefüllten Tabelle: SELECT t1.id + 1 AS id FROM tabelle t1 WHERE t1.id + 1 NOT IN (SELECT t2.id FROM tabelle t2 WHERE t2.id = t1.id + 1) ORDER BY t1.id ASC Ausgebend davon das die tabelle bereits die id’s 1, 2, 4, 5 …
Letzte Kommentare