Diana:De asemenea am inteles ca "shrink" - ul nu poate reduce dimensiunea
fisierului "mai jos" decat dimensiunea cu care a fost creat (sau
modificat prin ALTER DATABASE...). De exemplu poti incerca sa creezi
baza cu logul avand size = 1GB
Diana, nu e chiar aşa. Încearcă, de exemplu, următorul script:
CREATE DATABASE ShrinkTest
ON (NAME='DataFile', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DataFile.mdf', SIZE=100 MB)
LOG ON (NAME='LogFile', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\LogFile.ldf', SIZE=100 MB)
GO
ALTER DATABASE ShrinkTest SET RECOVERY FULL
GO
EXEC sp_helpdb 'ShrinkTest'
GO
USE ShrinkTest
DBCC SHRINKFILE('LogFile',5)
GO
EXEC sp_helpdb 'ShrinkTest'
GO
USE master
DROP DATABASE ShrinkTest
După cum se observă, fişierul de log a putut fi micşorat la 25 MB (faţă de 100 MB, cât avea iniţial). Totuşi, noi am specificat că am dori să-l micşorăm la 5 MB şi nu a putut fi micşorat aşa de mult, dar asta e din alte cauze, legate de numărul de "logical log files" (acestea pot fi afişate cu DBCC LOGINFO). Dacă se întâmplă ceva activitate în baza de date, iar apoi se fac backup-uri la log, probabil ar putea fi micşorat şi mai mult (cu DBCC SHRINKFILE), chiar până la 1MB (dar după cum spuneam, nu e bine să facem asta în mod regulat).
Răzvan