Indexes mit Tabellen und Filegroups mappen

SELECT CAST(OBJECT_NAME(sysind.id) AS CHAR(20)) AS TableName , CAST(sysind.name AS CHAR(30)) AS IdxName , CAST(sysfg.groupname AS CHAR(10)) AS GroupName FROM sysindexes sysind INNER JOIN sysfilegroups sysfg ON sysind.groupid =… mehr »

Datum in das Format JJJJMMDDHHMMSS bringen

Eigentlich würde man so eine Aufgabe wahrscheinlich besser im Client code verarbeiten, aber wenn's denn unbedingt der Server sein soll, könnte dies folgendermaßen aussehen: DECLARE @date DATETIME SET @date = '19.10.2003 09:48:22' SELECT CAST(… mehr »

Verwendung eines Index erzwingen

USE pubs GO SELECT au_lname FROM authors (index=aunmind) mehr »

Monatsultimo ermitteln

Die Ermittlung bestimmter Tage taucht in dieser oder jener Form immer mal wieder auf. T-SQL bietet hierfür sehr wirkungsvolle Methoden an:SELECT DATEADD(DAY, -DAY(GETDATE()), CAST(CONVERT(CHAR(8), GETDATE(), 112) AS DATETIME)) AS MonatsultimoMonats… mehr »

Erster und letzter Tag eines Jahres

DECLARE @dt DATETIME SET @dt = GETDATE() SELECT CAST(CAST(YEAR(@dt) AS CHAR(4))+'0101' AS DATETIME) AS Jahresanfang , CAST(CAST(YEAR(@dt) AS CHAR(4))+'-12-31T23:59:59.997' AS DATETIME) AS Jahresende Jahresanfang… mehr »

Tage eines Monats

DECLARE @d DATETIME SET @d = '31/01/2003 12:00:00' SELECT DAY(DATEADD(DAY,-1,DATEADD(MONTH,1,DATEADD(DAY,1-DAY(@d),@d)))) AS TageImMonat TageImMonat ----------- 31 (1 row(s) affected) Bei der Wahl des Datumsformat muss man vorsichtig sein. So… mehr »

Median berechnen

Es gibt anscheinend unterschiedliche Meinungen über die Berechnung des Median. Zum einen gibt es den 'financial' Median, der das arithmetische Mittel der beiden mittleren Werte ist, zum anderen den 'statistischen' Median, der der niedrigere (bzw. bei… mehr »

Ergebnis eines Dynamischen SQL Statements nach Ausführung weiterverwenden

DECLARE @stmt nvarchar(4000) DECLARE @rowcount bigint DECLARE @table nvarchar(255) SET @table = 'authors' SELECT @stmt = 'SELECT @count = COUNT(*) FROM ' + @table EXEC sp_executesql @stmt, N' @count bigint output', @rowcount OUTPUT IF @rowcount > 0… mehr »

Der Datumsbereich des SQL Servers

Select Cast(-53690 As DateTime) As 'Erstes Datum' , Cast(2958463.999999999 As DateTime) As 'Letztes Datum' Erstes Datum Letztes Datum ------------------------- ------------------------- 1753-01-01 00:00:00.000… mehr »

Dateiendung LDF für Logfiles

Die Dateiendung ist nur Konvention und kann irgendwie lauten. mehr »

Was ist wenn sa nicht Besitzer der Datenbank ist

Das hängt davon ab, wer verantwortlich für die Erstellung der Objekte einer Datenbank ist. Wenn dies 'sa' ist, sollten keine Probleme entstehen. Wenn ein anderer verantwortlich ist, sollte diese Datenbank auf den neuen Besitzer übertragen werden. mehr »

Wird Login Modus in der Registry abgespeichert

Ja, und zwar für DEFAULT INSTANCE unter: HKLM\Software\Microsoft\MSSQLServer\MSSQLServerLoginMode und für NAMED INSTANCE unter: HKLM\Software\Microsoft\Microsoft SQL Server\"Name der Instanz"\MSSQLServerLoginMode. Werte: 0x00000001 = Nur Windows… mehr »

Authentifizierungsmodus ändern

Eine mögliche Ursache hierfür kann sein, dass der entsprechende User Account nicht die benötigte Berechtigung besitzt, um den Registry Key zu ändern. Hier wird diese Information tatsächlich gespeichert. mehr »

Kann Logging abgeschaltet werden?

Nein, und das ist auch gut so! Allerdings gibt es verschiedene Möglichkeiten, Logging zu minimieren. mehr »

Remote Server Administration

Im Grunde genauso wie einen lokalen. Bei der Registrierung im Enterprise Manager oder Management Studio oder beim Aufbau der Verbindung im Query Analyzer wird nur anstelle des Servernamens die IP Adresse des Remote Servers eingegeben. mehr »

SQL Server auf komprimierten Laufwerken

Wahrscheinlich wird die Datenbank laufen, allerdings wird dies von Microsoft weder empfohlen noch supported, und hier steht auch warum nicht. mehr »

SQL Server 2000 SP3 rückgängig machen

Einmal in der ReadMe Datei und dann unter http://support.microsoft.com/default.aspx?scid=/support/servicepacks/SQL/2000/SP3ReadMe.asp. Kurz gesagt, steht dort, SP3 kann rückgängig werden, indem man es entfernt, SQL Server neu installiert und Backups… mehr »

Erster und letzter Tag des Folgemonats

SELECT CONVERT(CHAR(6),DATEADD(MONTH, 1, GETDATE()),112) + '01' AS 'firstDayofNextMonth' , CONVERT(CHAR(8),DATEADD(day, -1, CONVERT(CHAR(6),DATEADD(MONTH, 2, GETDATE()),112) + '01'),112) AS 'lastDayofNextMonth' firstDayofNextMonth… mehr »

VBScript split Funktion in T-SQL

Diese Website hat Beispiele für SQL2K und SQL7: www.users.drew.edu/skass/sql (Homepage von SQL Server MVP Steve Kass) mehr »

Zeit aus einer DATETIME Spalte entfernen

Der Datetime Datentyp, so wie er im SQL Server 2000 und früher implementiert ist, enthält immer einen Zeitpart. Somit ist der Titel dieses Beitrages evtl. etwas irreführend. Dieser Zeitanteil kann jedoch auf Mitternacht gesetzt werden, somit faktisch =… mehr »

GETDATE innerhalb einer UDF

GETDATE() ist nichtdeterministisch. Eine deterministische Funktion liefert ceteris paribus immer das gleiche Ergebnis. Da GETDATE() keine Argumente entgegennimmt und stets unterschiedliche Werte zurückgibt, ist die Funktion nicht deterministisch. Dies is… mehr »

Unterschied zwischen Primary Key und Unique Key

UniqueKey: Die Werte eines UNIQUE KEY Index sind eindeutig. Ein NULL Wert kann genau einmal gespeichert werden.PrimaryKey: Die Werte eines PRIMARY KEY Index, sind eindeutig und nicht NULL. NULL ist nicht zulässig. Darüber hinaus ist ein PrimaryKey eines… mehr »

String Truncation

SQL Server konvertiert Daten (und schneidet diese notfalls auch ab) wo dies angebracht erscheint. Wenn zu einem VARCHAR Wert konvertiert wird explizit oder implizit) und dieser zu gross für die Spalte ist, wird SQL Server * einfügen.Weitere Informatio… mehr »

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 »