У меня есть это SQL-задание (в SQL Server 2005), которое создает резервную копию каждые шесть (6) часов, имя файла резервной копии основано на отметке времени, чтобы создать уникальную filename (dbname_yyyymmddhhmmss.bak), Теперь мой вопрос: как я могу узнать, используя xp_cmdshell, если файл имеет три дня и на основе моего сценария я хочу удалить резервную копию (.bak), которая составляет три дня. Может кто-то там помочь мне, спасибо заранее. Ура!Скопируйте файл из одного каталога в другой по дате
ответ
Это на самом деле не ответ на ваши вопросы, но вы можете сделать это непосредственно в SqlServer 2005 с планом технического обслуживания (Object Explorer, -> Управление -> Планы технического обслуживания).
Обычно я создаю один План обслуживания, включающий две задачи: Одна «Задача по очистке обслуживания», которая удаляет старые резервные копии после x дней, а затем «Задача резервного копирования базы данных».
Это не задача, которая подходит для xp_cmdshell. Включение этой функции в SQL Server также имеет последствия для безопасности.
То, что вы хотите достичь, будет намного лучше подходит для служб интеграции SQL Server (SSIS). Доступны компоненты, которые можно использовать для управления и выполнения ваших резервных копий, а также для компонентов файловой системы, которые можно использовать для перемещения и удаления данных.
Вы можете использовать комбинацию задач файловой системы, переменных и выражений, чтобы получить имя файла резервной копии, извлечь компонент даты и определить, сколько лет этот файл. Затем вы можете предпринять соответствующие действия в файле.
Надеюсь, это поможет, но, пожалуйста, не стесняйтесь задавать дополнительные вопросы, если вам нужна дополнительная информация.
Cheers, Джон
Вы можете написать сборку .NET и вызвать ее из SQL Server. Было бы довольно легко написать его так, чтобы функция с табличной оценкой возвращала все файлы в определенном каталоге с именем файла и файловой меткой datestamp.
Я согласен с тем, что xp_cmdshell не является лучшей альтернативой для работы. Если вы похожи на меня и вам не нравятся планы обслуживания доверия, вероятно, вы можете написать консольное приложение C#, где поддержка файловой системы намного сильнее, чем то, что вы можете сделать в DOS (или используя T-SQL для анализа вывода xp_cmdshell 'DIR ...'), а затем планируйте это в запланированной задаче Windows, чтобы вам не пришлось беспокоиться об увеличении привилегий из учетной записи службы/прокси-сервера SQL Server. Хотя приятно размещать все в одном пакете, вы не всегда хотите, чтобы парень менял свое масло, чтобы сделать вас кишечным.
- 1. Скопируйте файл из одного домена в другой
- 2. Скопируйте проект из одного каталога в другой каталог - YII2 basic
- 3. Скопируйте файлы из одного каталога в другой без замены
- 4. Переместить файл из одного каталога в другой
- 5. файл из одного каталога в другой
- 6. Скопируйте все файлы из одного каталога FTP в другой
- 7. Скопируйте данные из одного файла в другой
- 8. Скопируйте текст из одного файла в другой
- 9. Скопируйте узел из одного xml в другой
- 10. Скопируйте значения из одного листа в другой файл листа
- 11. Скопируйте файлы из каталога в zip-файл
- 12. Скопируйте Localizable.Strings из одного проекта в другой
- 13. Скопируйте файл на удаленном сервере из одного каталога в другой с помощью Jsch
- 14. Скопируйте папки из Sharepoint по дате изменения
- 15. Переместить файл из одного каталога в другой каталог в yii2
- 16. 301 перенаправлять из одного каталога в другой
- 17. FileNotFoundException При попытке скопировать файл из одного каталога в другой
- 18. Как скопировать последний файл из одного каталога в другой
- 19. Как перенести файл .tar.gz из одного каталога в другой каталог
- 20. VBA, чтобы скопировать файл из одного каталога в другой
- 21. Qt - копировать файл из одного каталога в другой
- 22. Скопируйте 'N' строки из одного файла в другой в python?
- 23. Скопируйте данные из одного вида сетки в другой немного другой
- 24. Скопируйте значения из одного объекта в другой (другой тип)
- 25. Скопируйте файл в другой каталог
- 26. скопируйте файл изнутри каталога в список файлов
- 27. Список файлов из каталога, упорядоченного по дате
- 28. Скопируйте строки из одного файла в другой, пропустив несколько вхождений
- 29. Скопируйте все файлы одного типа из каталога в одну папку
- 30. Скопируйте строку за строкой из одного большого файла в другой?
Это точно правильный ответ. –
Да, но он не включает filecopy с xp_cmdshell в соответствии с запросом ... – mbaechtold
Привет, Tini, может быть, так, но ваше решение достигает цели задачи в исходном вопросе более эффективным и безопасным образом. не заставляй меня забрать тот момент, который я тебе назначил ;-) –