
Rollback eines Triggers bei einem Fehler verhindern
Jul 13th
Keine Chance!
Jeder Fehler innerhalb des Triggers beendet diesen, die zugrundeliegende Transaktion und den Batch. mehr »

Dynamische Suchbedingungen in T-SQL
Jul 13th
Original von Erland Sommarskog; deutsche Übersetzung von Frank Kalis
Einführung
Eine sehr weitverbreitete Anforderung an ein Informationssystem ist es, eine oder mehrere Funktionen zu haben, bei denen der Benutzer in der Lage ist, die Daten durch freie… mehr »

Zeitwerte addieren
Jul 13th
SET NOCOUNT ON
CREATE TABLE #temp_table
(
hm VARCHAR(5)
)
INSERT #temp_table VALUES('8:30')
INSERT #temp_table VALUES('5:01')
INSERT #temp_table VALUES('12:59')
INSERT #temp_table VALUES('7:20')
SET NOCOUNT OFF
SELECT
CONVERT(VARCHAR,… mehr »

Sequentielle Nummerierung durch UPDATE
Jul 13th
Vor einiger Zeit habe ich auf SQLTeam.com etwas sehr Nützliches entdeckt. Die Generierung einer sequentiellen Nummerierung mit Hilfe eines einzelnen UPDATE Statements.
SET NOCOUNT ON CREATE TABLE SEQ_T ( col1 INT DEFAULT 0 ) DECLARE @SEQUENCE INT… mehr »

Die 10 grössten Tabellen anzeigen lassen
Jul 13th
Um schnell mall einen Überblick über die umfangreichsten Tabellen in einer Datenbank zu erhalten, kann man folgendes Skript einsetzen. IMHO, ist die direkte Abfrage der Systemtabellen in so einem Fall zulässig. USE NORTHWINDGOSELECT TOP 10 u… mehr »

Nicht-alphanumerische Zeichen finden
Jul 13th
SET NOCOUNT ON CREATE TABLE strip_t ( col VARCHAR(30) ) INSERT INTO strip_t VALUES ('Frank') INSERT INTO strip_t VALUES ('Frank!') INSERT INTO strip_t VALUES ('Fr^ank') INSERT INTO strip_t VALUES ('Fran&k') INSERT INTO strip_t VALUES ('Fran$k')… mehr »

Integer in Zeit umwandeln
Jul 13th
DECLARE @time INT SET @time = 7382 SELECT @time / 3600 AS Stunden , (@time / 60)% 60 AS Minuten , @time % 60 AS Sekunden Stunden Minuten Sekunden ----------- ----------- ----------- 2 3 2 (1 row(s)… mehr »

Datum aus einer DATETIME Spalte entfernen
Jul 13th
SELECT RIGHT(STUFF(CONVERT(CHAR(22),GETDATE(),13),21,4,' '),9)
---------
10:14:40
(1 row(s) affected)
--Oder
SELECT CONVERT(CHAR(8), GETDATE(), 8)
--------
10:14:40
(1 row(s) affected)
--Oder
SELECT CONVERT(CHAR(8),… mehr »

Summe pro Woche anzeigen
Jul 13th
USE Northwind
GO
SELECT
n.dow
, ISNULL(SUM(o.Freight),0)
FROM Orders o
RIGHT JOIN
(SELECT 1
dow
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 6… mehr »

Trace in eine Tabelle exportieren
Jul 13th
SELECT * INTO Trace_Table_Name FROM :: fn_trace_gettable('c:\MyTrace.trc', DEFAULT)
BOL beschreibt ausführlicher die fn_trace_gettable Funktion. mehr »

IIF in T-SQL
Jul 13th
Dies ist eine oft gestellte Frage in SQL Server Communities. Die Antwort lautet... Wie bereits im Eingangstext angedeutet, ist dies eine sehr beliebte Frage. Gestellt wird sie meistens von Leuten, die mit einem Hintergrund in Microsoft Access auf den… mehr »

Tabelle in eine andere Filegroup verschieben
Jul 13th
Die einfachste Lösung hierfür ist es, den Clustered Index auf dieser anderen Filegroup neu zu erstellen. Die Verwendung der DROP EXISTING Option beschleunigt diese Operation. mehr »

SELECT New_Life
Jul 13th
Danke an David Burrows, der mir diesen Batch zur Geburt meines zweiten Sohnes schrieb! Keep up the good work and see ya on SQL Server Central, Dave!
DROP Dirty_Nappy GO SELECT Clean_Nappy FROM Nappy_Pile WHERE COUNT(Clean_Nappy) > 0 INSERT… mehr »

Nachtrag zum Datetime Datentypen
Jul 13th
Die anderen 4 Byte speichern die Tageszeit, die als Anzahl der Millisekunden seit Mitternacht dargestellt wird.Dies kann man in der Januar 2004 Edition von BOL nachlesen.Gibt man z.B. den Wert 300 in die zweiten 4-bytes eines Datetimes ein, erhält man a… mehr »

Der DATETIME Datentyp
Jul 13th
Der DATETIME Datentyp ist 8 Bytes gross. Die ersten vier Bytes speichern die Anzahl der Tage vor oder nach dem 01.01.1900; die letzten vier Bytes speichern die Anzahl der 'Clock Ticks' seit Mitternacht. Die binäre Darstellung jedes der beiden 4-byte Stüc… mehr »

Konvertierung aus Julianischem Kalender
Jul 13th
DECLARE @yr INT DECLARE @jd INT SELECT @yr = 2002, @jd = 245 SELECT DATEADD(yyyy, @yr - 1900, -1) + @jd AS Julian_Date Julian_Date ------------------------------------------------------ 2002-09-02… mehr »

Sekunden in Minuten umwandeln
Jul 13th
DECLARE @sekunden INT SET @sekunden = 61 SELECT CONVERT(VARCHAR(2), FLOOR(@sekunden/60)) + ':' + RIGHT('0' + CONVERT(VARCHAR(2), (@sekunden%60)), 2) ----- 1:01 (1 row(s) affected) mehr »

AWE Memory SQL Server Performance Tuning Tips
Jul 13th
Original von Brad M. McGehee; deutsche Übersetzung von Frank Kalis
Falls Sie SQL Server 2000 Standard Edition unter Windows NT 4.0 oder Windows 2000 (alle Versionen) oder SQL Server 2000 Enterprise Edition unter Windows NT 4.0 oder Windows 2000 Server… mehr »

Log Datei auslesen
Jul 13th
SQL Server selber bietet hier einen undokumentierten DBCC Befehl anDBCC log ( {dbid|dbname}, [, type={-1|0|1|2|3|4}] )type zeigt nur minimale Informationen an, -1 zeigt die vollständigen Informationen anAllerdings ist anzumerken, dass für Normalsterblich… mehr »

Laufende Summe in T-SQL
Jul 13th
IF OBJECT_ID('lfdsum_t') IS NOT NULL
DROP TABLE lfdsum_t
GO
CREATE TABLE lfdsum_t (col1 int)
INSERT INTO lfdsum_t values (1);
INSERT INTO lfdsum_t values (2);
INSERT INTO lfdsum_t values (3);
INSERT INTO lfdsum_t values (4);
INSERT INTO lfdsum_t… mehr »

Wofür ist xp_servicecontrol?
Jul 13th
xp_servicecontrol ist eine undokumentierte erweiterte Prozedur, die zur Kontrolle von Diensten auf der SQL Server Maschine eingesetzt werden kann. mehr »

Instanzen von SQL Server identifizieren
Jul 13th
Für alle diejenigen, die noch wissen was die DOS Eingabeaufforderung ist :) net start | find "MSSQL" MSSQLSERVER MSSQLServerOLAPService (falls man die Analysis Services installiert hat) Hat man hingegen benannte Instanzen sieht das Ganze etwa… mehr »

DATETIME Spalten gruppieren und sortieren
Jul 13th
SELECT
DATEADD(day, 0 , DATEDIFF(day, 0, MsgDateReceived)) AS "Datum"
, COUNT(*) AS Anzahl
FROM mails_header
GROUP BY
DATEADD(day, 0 , DATEDIFF(day, 0, MsgDateReceived))
ORDER BY
"Datum" DESC mehr »

SQL Server Port ändern
Jul 13th
Ja, der Port kann auf jeden anderen nicht benutzen Port geändert werden. mehr »

Umwandeln von Hexadezimal nach Integer
Jul 13th
SET NOCOUNT ON
DECLARE @hex VARCHAR(10)
DECLARE @stmt NVARCHAR(255)
DECLARE @int INT
SET @hex = '0x0000008A'
SELECT @stmt = N'SELECT @int = CONVERT( int , ' + @hex + ' )'
EXEC sp_ExecuteSql @stmt, N' @int Int Out', @int OUT SELECT @int GO
GO
GO… mehr »