GETDATE innerhalb einer UDF
Jul 12th
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
Jul 12th
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
Jul 12th
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
Jul 12th
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
Jul 12th
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
Jul 12th
USE pubs GO SELECT DATEDIFF(DAY, pubdate, GETDATE()) AS Anzahl_Tage FROM titles GO Anzahl_Tage ----------- 4761 4764 4743 4751 4764 4755 1418 4743 3665 1418 4630 4758 4646 4761 4761 4630 4761 4761 (18 row(s) affected) mehr »
Log Datei verkleinern ohne Backup zu machen
Jul 12th
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! mehr »
Installationsobjekte identifizieren
Jul 12th
USE MASTER
GO
SELECT
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
name =… mehr »
Nicht-Unicode Spalten ermitteln
Jul 12th
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… mehr »
Datumsteile extrahieren
Jul 12th
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
Jul 12th
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
Jul 12th
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
Jul 12th
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
Jul 12th
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
Jul 12th
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
Jul 12th
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
Jul 9th
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 »