A model adatbázis és a CREATE DATABASE
Pár hónapja nekiálltam félautomata adatbáziskészítő scriptet írni, és ennek során csodálatos felfeldezést tettem a model adatbázissal kapcsolatosan. Az ugye ismert tény, hogy a model adatbázis az újonnan létrehozott adatbázisok modellje, hogy öndefiniáljak egy kicsit. Tehát a model fájljai másolódnak le, illetve az ő beállításai öröklődnek az új adatbázisra. Méret, recovery model, növekedés, stb.
Akkor itt most megállnék egy pillanatra. A fentiek igazak, ha az ember SSMS-ből hozza létre az új adatbázist. T-SQL, azaz CREATE DATABASE használata esetén jön a meglepetés: az új adatbázis nem a modelnél megadott növekedési opciókat fogja használni, hanem előre beállított standardokat: az adatfájl 1 MB-tal fog nőni, a log pedig 10%-kal. Erre majdnem elkezdtem kiabálni, hogy ez egy bug, de – tapasztalataimból kiindulva – átolvastam a Books Online-t. És igazam volt, ez egy precízen dokumentált meglepetés:
If FILEGROWTH is not specified, the default value is 1 MB for data files and 10% for log files, and the minimum value is 64 KB.
Szóval ha Transact-SQL-lel hoztok létre adatbázist, figyeljetek a növekedésre. Egyéb meglepetést nem tapasztaltam. Eddig.

Leave a comment