Die nächste Version von SQL Server (SQL Server 11) steht ab sofort in einer CTP Version zum Download bereit.
Manchmal sieht man den Wald vor lauter Bäumen nicht, wenn man etwas "zwischen Tür und Angel" codiert. Daher dieser kleine Beitrag. Vielleicht hilft er dem einen oder anderen ja, die Zeit für die Fehlersuche zu sparen.
DECLARE @i int, @l int;
SELECT
@i = 12, @l = LEN(@i);
SELECT
SUM(x.Digit)
FROM
(SELECT
CAST(SUBSTRING(RTRIM(@i), N.Number, 1) AS int) AS Digit
FROM
dbo.Number N
WHERE
N.Number BETWEEN 1 AND LEN(RTRIM(@i))
) x;
Obwohl der Clustered Index in der Mehrzahl der Fälle ein korrekt sortiertes Resultset zurückgibt, gibt es keine Garantie hierfür. Wenn man ein SELECT Statement ohne explizites ORDER BY ausführt, versucht SQL Server die Daten in der schnellstmöglichen Sortierung zurückzugeben, was nicht unbedingt, die des Clustered Index ist.
Manchmal kann es nützlich sein, den Wert oder den Ausdruck einer DEFAULT Einschränkung abzufragen.
Immer wieder kann man Leute beobachten, die fragen, warum ihr LEFT JOIN Statement nicht das gewünschte Resultset zurückbringt.
Hier sind diverse Möglichkeiten um zu überprüfen, für welche Tabellen kein Clustered Index definiert wurde: