Как удалить запрошенный файл резервной копии (.bak)? - PullRequest
2 голосов
/ 05 июня 2011

Я использую SQL Server 2005 и выше, и мне интересно, есть ли способ удалить определенный файл резервной копии из папки резервных копий SQL по умолчанию ...

Я могу найти эту папку резервных копий с помощьюзапрос ниже:

EXEC  master.dbo.xp_instance_regread
N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer',N'BackupDirectory'

Единственный найденный мной способ - использовать операцию master.dbo.xp_delete_file, но проблема в том, что она не может удалить только один файл (запрошенный).

Есть идеи?

1 Ответ

1 голос
/ 06 июня 2011

Вы можете использовать xp_cmdshell для порождения командной оболочки Windows и выполнения заданной строки, как в:

xp_cmdshell 'del "E:\Database Backups\Some Database Backup.bak"'

В сочетании с вашим кодом для определения папки резервного копирования по умолчанию вы можете создать соответствующую строку для удаления определенного файла.

Обратите внимание, что xp_cmdshell по умолчанию заблокирован из соображений безопасности (очевидно, что запуск любой произвольной командной строки будет некорректным).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...