The full version of sp_AlterColumn is now available for free on Github.https://github.com/sqlTopia/sp_AlterColumn


Today I encountered a very hard to spot solution for BCP in. The file could be read using BULK INSERT, but BCP gave me at least four different error messages, which none were even close to describing the root cause. Read more…


I recently read an article on Bitbucket about “Don’t start identity columns or sequences with large negative values” and it got me wondering if the author’s conclusion is correct. So I set up a lab to test his hypothesis. Each Read more…


DROP FUNCTION IF EXISTS dbo.STRING_SPLIT; GO — Returns NVARCHAR(MAX) CREATE OR ALTER FUNCTION dbo.STRING_SPLIT ( @Data NVARCHAR(MAX), @Delimiter NVARCHAR(MAX) = N’,’ ) RETURNS TABLE RETURN SELECT CAST(x.[Key] AS INT) AS Position, y.Value FROM ( VALUES (N'[{“p”:”‘ + REPLACE(@Data, @Delimiter, N’”},{“p”:”‘) Read more…


I dagens bloggpost tänkte jag skriva lite om XQuery och hur man kan använda det för att lösa att knivigt problem. Jag gjorde en proof-of-concept häromveckan där det krävdes att det gjordes ett hash-värde på en XML-kolumn i databasen för Read more…


Jag hade nyligen en kund som hade fått problem med en rapport. Jag åkte dit och tittade och kunde konstatera att denna kund, liksom många andra, förlitar sig på default-värden i T-SQL och de funktioner som erbjuds. I just det Read more…


Idag tänkte jag skriva om hur en enkel lagrad procedur samt en inställning i Management Studio kan hjälpa dig med felsökning i framtiden. Det finns massor med inställningar som ändrar beteendet på hur en fråga beter sig. T.ex SET ANSI_NULLS Read more…


Det finns flera fall där man vill ta reda på om någonting inträffar t.ex nästa dag, vecka eller månad. Det kan vara en födelsedag eller en annan högtidsdag. För att kunna göra denna jämförelse behöver man tre datum; ett datum Read more…


Idag fick jag tillfället att hjälpa en kollega med att optimera en fråga för en kunds räkning. Originalfrågan såg i princip ut så här — Original SELECT      t.* FROM        dbo.Table1 AS t CROSS JOIN  (                 SELECT  ChildID                 FROM    Read more…


Det är den stora frågan. Dessutom en aktuell sådan. Idag hade jag inte tänkt beskriva någon smart kod utan istället berätta om skillnader i sätt att angripa prestandaproblem. Det senaste året har jag på konferenser, seminarier och utbildningstillfällen ofta blivit Read more…


Det finns flera fall där man behöver dela upp en sträng i flera delar. En anledning kan vara att man behöver en flexibel parameter till en lagrad procedur. En annan kan vara att man arbetar med en tabell som inte Read more…