SQL Server kommer vanligtvis med användbara exempeldatabaser för att demonstrera nya funktioner och en del möjlig design. Jag tycker vanligtvis att exempeldatabaser är mycket mer användbara som en lekplats för att utveckla generiska komponenter mot en befintlig databas att använda i andra projekt. Jag tycker att användning av en tom eller för liten databas ger en missvisande utvecklingsupplevelse eftersom när komponenterna sedan används i en faktisk produktionsdatabas, dyker prestandaproblem upp på platser som du aldrig förutser.
Ett tag har Microsoft använt Wide World Importers databas som är en ganska fullfjädrad databas med flera tabeller, vyer och procedurer plus några fler. Ett problem är dock att databasen i sin nuvarande design inte är kompatibel med Access-applikationer eftersom den använder datetime2(7)
vilket kräver att man använder den nya datatypen för utökad datum/tid. Det är inte så bra när du behöver tillåta bakåtkompatibilitet. Men det finns bättre saker att göra än att förtvivla och beklaga.
Som jag har argumenterat på olika ställen, datetime2(0)
är faktiskt bättre för kompatibilitet mellan SQL Server-databas och Access-applikationer eftersom både datetime2(0)
och Access' Date/Time
och VBA:s Date
datatyper har samma precisionsnivå och liknande intervall, vilket är mycket bättre än den äldre SQL Server datetime
som använder en konstig precision på 1/3 millisekund (man måste undra om någon rökte något mindre än lagligt när de trodde att datatyp upp!).
Så genom att modifiera exempeldatabasen för att använda datetime2(0)
i stället för datetime2(7)
, kan exempeldatabasen sedan göras kompatibel med Access utan några ändringar utöver att bara länka tabellerna. Så vi har en praktisk exempeldatabas att leka med. Detta rejäla prov väger cirka 140 MB så planera därefter.
Njut!
Modifierad Wide World Importers databas
Friskrivningsklausul:Detta erbjuds i befintligt skick, utan garantier eller garantier. Varning emptor, du bryter den, du köpte den, med stor nedladdning, kommer stort ansvar, etc. etc. 🙂