#sql-server #sql-server-2008-r2 #sql-server-2012 #sql-server-2014
#sql-сервер #sql-server-2008-r2 #sql-server-2012 #sql-server-2014
Вопрос:
Кто может объяснить список xp_Delete_file
параметров в sql server. Я не нахожу документ msdn для этой хранимой процедуры.
Я получил скрипт xp_Delete_file из плана обслуживания, но не понял первый параметр.
Комментарии:
1. @BogdanSahlean. ОК. не существует ни одного документа в msdn. но никто не знает их параметров и использования. и не существует ни одного документа в ссылках, отличных от Microsoft.
Ответ №1:
xp_delete_file
возьмем пять параметров:
- Тип файла = 0 для файлов резервных копий или 1 для файлов отчетов.
- Путь к папке = Папка для удаления файлов. Путь должен заканчиваться обратной косой чертой «».
- Расширение файла = Это может быть ‘BAK’ или ‘TRN’ или что-то еще, что вы обычно используете.
- Дата = Дата отсечения для того, какие файлы необходимо удалить.
- Подпапка = 0 для игнорирования вложенных папок, 1 для удаления файлов во вложенных папках.
Источник How to Use xp_delete_file to Purge Old Backup Files
Патрика Кейслера
Комментарии:
1. По крайней мере, в SQL Server 2014 вторым параметром (путь к папке) может быть определенное имя файла, что приводит к удалению только этого одного файла, например: EXEC master.dbo.xp_delete_file 0, ‘C:BackupsSomeDatabaseBackup.bak ‘
2. Начиная с SQL Server 2012, файл xp_delete_file, созданный планом обслуживания, не имеет завершающую обратную косую черту в пути к папке.
Ответ №2:
Следуя приведенному выше комментарию, я тестировал это на SQL Server 2012 SP4 и могу подтвердить синтаксис EXEC master.dbo.xp_delete_file 0, ‘C:Некоторый путь Файл резервной копии.bak’ работает и удаляет конкретный файл с именем.
Ответ №3:
Я обнаружил, что это более очевидно, поскольку мне нравится показывать параметры:
DECLARE @DeleteDate DATETIME = DATEADD(wk,-2,GETDATE());
DECLARE @ReturnVal int
EXEC @ReturnVal = master.dbo.xp_delete_file
@FileType = 0,
@FolderPath = N'U:SQLBackups',
@FileExtension = N'bak',
@Date = @DeleteDate,
@Subfolder = 1
print @ReturnVal