1. Изпразни дневника DUMP ИМЕ НА ТРАНЗАКЦИОННА БИБЛИОТЕКА С NO_LOG 2. Съкратете транзакционния дневник: Името на базата данни BACKUP LOG е С NO_LOG 3. Свийте файловете от базата данни (ако не ги компресирате, файловете няма да се свият.) Enterprise Manager - Кликнете с десен бутон върху базата данни, която искате да компресирате - All Tasks - Shrink Database - Shrink File --Изберете лог файл--Изберете shrink до XXM в метода за смаляване, тук ще дадете минимален M номер, който може да се свие, въведете това число директно и можете да потвърдите --Изберете файл с данни--Изберете shrink до XXM в метода на свиване, тук ще се даде минимален M номер, който може да се свие, въведете това число директно и можете да потвърдите Може да се направи и с SQL оператори --Смали базата данни DBCC SHRINKDATABASE (Профил на клиента) --Свийте зададения файл с данни, 1 е номерът на файла, който може да бъде запитан чрез следното изявление: select * от sysfiles DBCC SHRINKFILE (1) 4. За максимизиране на минимизацията на лог файловете (в случая със SQL 7.0 тази стъпка може да се извърши само в анализатора на заявки) а. Разделяне на бази данни: Enterprise Manager - Сървър - База данни - Десен клик - Откачване на базата данни b. Изтрий LOG файла на компютъра си в. Допълнителни бази данни: Enterprise Manager - Сървър - База данни - Десен клик - Прикачи база данни Този метод ще генерира нов LOG, който е само над 500K размер Или използвайте код: Следващият пример отделя пъбовете и след това прикачва файл от пъбовете към текущия сървър. а. Разделяне E X E C sp_detach_db @dbname = 'пъбове' б. Изтриване на лог файлове в. Допълнителни допълнения E X E C sp_attach_single_file_db @dbname = "pubs", @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf' 5. За да се свивате автоматично в бъдеще, направете следните настройки: Enterprise Manager - Сървър - Десен клик върху база данни - Свойства - Опции - Изберете "Автоматично свиване" --настройка на SQL оператори: E X E C sp_dboption "име на база данни", "автоматично свиване", "TRUE" 6. Ако искате да предотвратите растежа твърде много в бъдеще Enterprise Manager - Сървър - Десен бутон База данни - Свойства - Транзакционен лог --ограничи растежа на файла до xM (x е максималният размер на файла с данни, който позволяваш) --настройка на SQL оператори: Alter Database Name Database File Modify File(Name=Логическо име на файл,maxSize=20) Специална бележка: Моля, следвайте стъпките, не ги правете без предишните стъпки В противен случай може да повреди базата ти данни. Обикновено не се препоръчва да се правят стъпки 4 и 6 Стъпка 4 не е сигурна и може да повреди базата данни или да загуби данни Стъпка 6: Ако логът достигне горната граница, обработката в базата данни ще се провали в бъдеще и може да бъде възстановена само след почистване на дневника.
Освен това предлага по-прост метод, пробвал съм го много пъти и ви препоръчвам да го използвате. По-лесен начин: 1。 Дясно: Прозорецът за свойства на базата данни - Failback Model - е зададен на Simple 2。 Направете правилно изграждане на всички задачи в базата данни - свиване на базата данни 3。 Дясно: Изградете прозореца за свойства на базата данни - модел за отказ - зададен на Логване на големи обеми |