Error 1803 – SQL 2012 CTP3 – model storlek

Oopps! Upgrade your browser pretty please.Oopps! Upgrade your browser pretty please.

Felkoden ”error 1803” får man när man skapar en ny databas och vissa villkor är uppfyllda. T. ex. att det inte finns plats att skapa tempdb. Det kan även hända under andra villkor.

I 2012 CTP3 finns det många nya funktioner som är riktigt intressanta. De funktionerna behöver nytt stöd i form av nya systemtabeller och systemobjekt jämfört med tidigare versioner (Observera att man inte bör jobba direkt mot systemtabellerna i sin kod av bland annat den orsaken). En sidoeffekt av de nya systemtabellerna/-objekten i 2012 CTP3 är att det medför att model databasen, mallen som används vid databas skapande, är större än tidigare. Version        size_bytes =======    ========== SQL 2005        1 163 264 SQL 2008        1 228 800 SQL 2008 R2   1 245 184 SQL 2012 CTP3 2 146 304

Det kan i värsta fall medföra att gamla skript du är van att köra inte längre fungerar. Försöker du skapa en databas som är mindre än model får du felmeddelandet. Har du tänkt skapa en databas på 4 MB, kan du lyckas med en 2008 R2 databas, men misslyckas i 2012 CTP3. t ex: CREATE DATABASE test ON PRIMARY ( NAME = N’test’, FILENAME = N’E:Datatest.mdf’ , SIZE = 2000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%) LOG ON ( NAME = N’test_log’, FILENAME = N’F:Logtest.ldf’ , SIZE = 500KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) GO –11.0.1440 Msg 1803, Level 16, State 1, Line 1 The CREATE DATABASE statement failed. The primary file must be at least 3 MB to accommodate a copy of the model database. –10.50.2500: Msg 1803, Level 16, State 1, Line 1 The CREATE DATABASE statement failed. The primary file must be at least 5 MB to accommodate a copy of the model database. Eftersom det är en CTP kan detta ändras innan release av RTM, men ta för vana i ditt jobb som SQL Server konsult eller in-house-DBA att inte räkna med att systemtabellerna ser likadana ut mellan versioner.

Ytterligare detaljer finns i CSS bloggen 
/Jonas Bergström