Tage eines Monats Teil 2

Dieser Beitrag zeigte, wie man mit Integer Operationen die Anzahl der Tage eines Monats ermitteln kann. SQL Server MVP Steve Kass hat den folgenden Trick in den englischen Newsgroups gepostet: mehr »

Datenintegrität

Unter dem Oberbegriff Datenintegrität versteht man die Konsistenz, Fehlerlosigkeit und Richtigkeit der in einer Datenbank gespeicherten Daten. Dabei geht es nicht um physikalische Sicherheit, Fehlertoleranz oder Datensicherungen. Bildlich gesprochen… mehr »

Dynamisches SQL : Fluch und Segen

Original von Erland Sommarskog; deutsche Übersetzung von Frank Kalis Wenn Sie die verschiedenen Newsgroups über Microsoft SQL Server verfolgen, wird Ihnen auffallen, dass häufig Fragen gestellt werden, warum die Statements: SELECT * FROM @tablename… mehr »

Trigger auf Systemobjekte

Zuerst stellt sich aber die Frage, warum man so etwas machen möchte. Zu den wohl am häufigsten genannten Gründe zählt: mehr »

Kleines Beispiel über DECIMAL und FLOAT

Oftmals fragt man sich, wann DECIMAL und wann FLOAT verwendet werden soll; bzw. ob und wenn Ja, wofür FLOAT überhaupt verwendet werden soll. Eine allgemeingültige verbindliche Antwort hierauf gibt es wahrscheinlich nicht. Vielmehr hängt dies von den… mehr »

SQL Server Instanz umbenennen

Handelt es sich um die Default Instance, kann man den Namen der Maschine ändern. mehr »

SQL Server Lizenzierungsmodus ermitteln

Das Lizenzmodell von SQL Server ist IMHO alles andere als intuitiv und einfach zu verstehen. Wahrscheinlich ist das auch der Grund, warum so viele Fragen zu diesem Thema in online Communities auftauchen. Jedenfalls erhält man diese Information auf… mehr »

Datenbankbesitzer ändern

Hierfür kann man entweder SQL-DMO und die SetOwner Methode verwende oder die Systemprozedur sp_changedbowner. mehr »

SQL Wörterbuch

Dieser Artikel wird gerade überarbeitet und erweitert. SQL ist eine deklarative Sprache. Der eigentliche Sprachkern besteht aus ca. 30 Befehlen, welche sich in folgende Unterbereiche aufteilen. mehr »

Datenbanken online sichern

Ein o­nline-Backup verändert nicht die 'normale' Datenbankaktivität, hat vielleicht minimalen Einfluss auf den Transaktionsdurchsatz. Die Datenbanken werden ohne Rücksicht auf aktive Transaktionen gesichert. Anschliessend wird das Transaktions Log… mehr »

TempDB verschieben

Generell macht es Sinn, tempdb auf eine separaten Platte oder Array zu legen, um die Performance zu verbessern. Dieser Knowledgebase Artikel beschreibt, wie man sowohl Benutzer- als auch Systemdatenbanken verschiebt. Alternativ kann man das auch über… mehr »

Das Alter einer Person

In Ergänzung zu diesem Beitrag kann man auch folgende Alternativen zur Bestimmung des Alters einer Person verwenden: mehr »

Zufällig ausgewählte Datensätze zurückgeben

Die Anforderung, zufällig ausgewählte Datensätze zurückzugeben, findet man recht häufig. Analyse einer Stichprobe ist eine wahre Spielwiese für Statistiker. In T-SQL kann dies recht einfach umgesetzt werden. mehr »

Speicherverbrauch einer User Connection

24 KB Speicher werden für eine User Connection allokiert. Nun, das hört sich erst einmal nicht viel an und in den allermeisten Umgebungen wird man sich wahrscheinlich auch nicht näher damit befassen. Allerdings gibt es ein Szenario, bei dem dieser Wert… mehr »

Rollback eines Triggers bei einem Fehler verhindern

Keine Chance! Jeder Fehler innerhalb des Triggers beendet diesen, die zugrundeliegende Transaktion und den Batch. mehr »

Dynamische Suchbedingungen in T-SQL

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

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

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

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

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

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

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

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

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

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 »