Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 11276|Отговор: 4

[Източник] SQL Server редовно изтрива архивните bak файлове

[Копирай линк]
Публикувано в 31.01.2019 г. 13:11:24 ч. | | | |
Обикновено, когато правим архивиране на база данни, трябва да правим резервни копия само за определен период от миналото и не можем да използваме файлове, които са твърде стари.

Тъй като файлът за архивиране е твърде голям и твърде много файлове за архивиране заемат твърде много място на диска, как редовно да се изтрие архивният файл?

Първо, кодът:

Всеки прави промени според реалната си ситуация.

Следва пример за SQL Server 2012, моля, тествайте други версии сами, не би трябвало да има проблем.

Преди екзекуцията:



След екзекуцията:



Виждате, че нашият архивен файл е изтрит, просто добавете SQL скрипта към планираната задача, за да се изпълни, а как да го добавите към планираната задача, няма да кажа.

(Край.)




Предишен:.net core FileProvider чете директории файлове
Следващ:=> е Lambda израз, използван за създаване на делегиране по подразбиране
 Хазяин| Публикувано в 27.10.2025 г. 15:38:28 ч. |
Процедура за ежедневна автоматична работа с архивиране на SQL Server бази данни
https://www.itsvse.com/thread-4895-1-1.html
 Хазяин| Публикувано в 27.10.2025 г. 15:46:02 ч. |
За пълно архивиране на базата данни, командата sql е следната:

YourDatabaseName: Заменете с действителното име на базата данни.
DISK = '/var/opt/mssql/data/YourDatabaseName_20251027.bak': Посочете дестинационния път и името на файла на архивния файл.
WITH FORMAT: Инициализира архивния носител, за да презапише съществуващ резервен набор на зададеното устройство.
КОМПРЕСИЯ: Компресирайте резервните копия, за да намалите размера им. (Забележка: Не всички издания на SQL Server поддържат компресия, като SQL Server Express.)
СТАТИСТИКА = 10: Съобщение за напредък се показва на всеки 10% от операцията по архивиране.
 Хазяин| Публикувано в 2.12.2025 г. 11:14:45 ч. |
Сяожа Публикувано на 2025-10-27 15:46
За пълно архивиране на базата данни, командата sql е следната:

YourDatabaseName: Заменете с действителното име на базата данни.

Вижте логическите имена и физическите пътища на файловете с данни и лог файловете, съдържащи се във файла за архивиране. Командата е следната:
 Хазяин| Публикувано в 2.12.2025 г. 15:31:09 ч. |
xp_delete_file

xp_delete_file е недокументирана разширена съхранена процедура в SQL Server, и въпреки че съществува и се използва от някои задачи по поддръжка, Microsoft не препоръчва да се извиква директно в продукцията, тъй като не се поддържа от официалната документация и може да бъде премахната или променена в бъдещи версии.

xp_delete_file Следните 5 параметъра:

  • Тип файл = 0 за архивни файлове и 1 за отчетни файлове.
  • Folder Path = Папката, в която искате да изтриете файла. Пътят трябва да завърши с обратен клеш.
  • File Extension = Това може да е "BAK" или "TRN" или каквото и да е разширение, което обикновено използвате.
  • Дата = Крайният срок на файла, който трябва да бъде изтрит.
  • Подпапка = 0 означава игнориране на подпапката, а 1 означава изтриване на файловете в подпапката.

Препратка:Входът към хиперлинк е видим.

xp_delete_files

В SQL Server 2019 sys.xp_delete_files по-мощна функция, каза тойПоддръжка на стандартни DOS уайлдкарди, може да се използва в комбинация с sys.dm_os_enumerate_filesystem.

Препратка:Входът към хиперлинк е видим.
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com