Ersten Tag einer Woche ermitteln

Angenommen, wir definieren den Sonntag als ersten Tag der Woche SET DATEFIRST 7 , dann liefert SELECT DATEADD(DAY, 1-DATEPART(dw, GETDATE()), GETDATE()) ---------------------------------------… mehr »

Inline Split mittels CHARINDEX

Diese Frage ist auch ein Kandidat für die "Häufigste Frage". Dabei kann man sehr häufig die abstrusesten Antworten beobachten. Naturlich kann man dieses Problem mit Hilfe eines Cursors lösen. Stellt sich nur nachher die Frage, wie man das Problem des… mehr »

Anzahl von Tagen zwischen zwei Daten

USE pubsGOSELECT DATEDIFF(DAY, pubdate, GETDATE()) AS Anzahl_TageFROM titlesGO Anzahl_Tage ----------- 476147644743475147644755141847433665141846304758464647614761463047614761(18 row(s) affected) mehr »

Log Datei verkleinern ohne Backup zu machen

Im Bezug auf das Transaktionsprotokoll des SQL Servers scheint es eine ziemliche Unsicherheit bei den meisten Anwendern zu geben. Dabei ist dies bei weitem kein Mysterium! BOL erklärt in gewohnt guter Qualität, was es mit dem Transaktionsprotokoll auf… mehr »

Installationsobjekte identifizieren

USE MASTERGOSELECT CASE OBJECTPROPERTY(id, 'IsMSShipped') WHEN 1 THEN 'Bei Installation erzeugt' WHEN 0 THEN 'Nicht bei Installation erzeugt' END AS [Bei Installation Erzeugt] , CAST(name AS CHAR(30)) AS [name]FROM sysobjects WHERE… mehr »

Nicht-Unicode Spalten ermitteln

SELECT OBJECT_NAME(Id) as [Table] , name as [Column] , TYPE_NAME(xusertype) as Type FROM SysColumns WHERE TYPE_NAME(xusertype) IN ('varchar','char') AND ID IN (SELECT ID FROM SysObjects WHERE xtype = 'U') ORDER BY OBJECT_NAME(Id), Name… mehr »

Datumsteile extrahieren

SELECT DATEPART(yy , GETDATE()) AS Jahr , DATEPART(qq , GETDATE()) AS Quartal , DATEPART(mm , GETDATE()) AS Monat , DATEPART(dd , GETDATE()) AS Tag , DATEPART(hh , GETDATE()) AS Stunden , DATEPART(mi , GETDATE()) AS Minuten , DATEPART(ss , GETDATE()) A… mehr »

Clustered Index löschen

Generell gilt, daß Indexes Datenabfragen enorm beschleunigen können. Nachteil aber ist, daß Änderungen an den Daten sich auch in Änderungen in den Indexes manifestieren, falls die entsprechenden Spalten, die von der Änderung betroffen sind, auch glei… mehr »

Systemtabelle direkt updaten

Direktes Updaten der Systemtabellen ist eine der schnellsten Methoden, um SQL Server in die Irre zu führen. Daher sollte dies nur im Notfall angewendet werden: sp_configure 'allow updates', 1 GO RECONFIGURE WITH OVERRIDE GO Unter so einem 'Notfall… mehr »

tempDB in den Arbeitsspeicher laden

In SQL 6.5 gibt es eine Einstellungen 'tempdb in RAM'. Ab Version 7 wird dies nicht mehr unterstützt. Microsoft ist der Ansicht, daß die internen Zugriffe genügend optimiert sind, um dies unnötig zu machen mehr »

IDENTITY Wert zurücksetzen

Als Einleitung bemerkt, gibt es keine 'IDENTITY' Spalte. IDENTITY ist eine Spalteneigenschaft, die man einer Spalte vom Typ Integer und/oder Decimal mit scale(0) zuordnen kann. Eine andere Möglichkeit ist TRUNCATE TABLE. Nicht empfehlenswert für permanen… mehr »

Unterschied zwischen OSQL und ISQL

ISQL.exe erkennt keine 'named instances'. Weitere Unterschiede werden in BOL aufgelistet. Für die meisten Anwendungsgebiete ist wahrscheinlich OSQL die bessere Alternative. Nicht zuletzt deshalb, weil ISQL noch mit der DB-Library arbeitet, die nicht… mehr »

Systemobjekte unsichtbar machen

Vielfach wird diese Frage gestellt, nachdem man Nicht-Administratoren den Zugang zu solchen Tools wie dem Enterprise Manager und/oder Query Analyzer gegeben hat. AFAIK, ist es nicht möglich im Enterprise Manager nur die Datenbanken anzeigen zu la… mehr »

SQL Server Version ermitteln

Eine der ersten Fragen die man beantworten muß bei Problemen, ist die Frage, wie welcher Version von SQL Server man arbeitet. Diese Information kann man auf mehreren Wegen erhalten. Oftmals muss man schnell in der Lage sein, angeben zu können, mit… mehr »