Я прочитал много разных подходов и решений для нескольких лиц, преследуемых при попытке решить проблему с расширенной хранимой процедурой xp_delete. Растворы:
- Обязательно НЕ иметь период в расширении при конфигурировании задачи обслуживания SSIS (.).
- Не забудьте нажать «Включить вспомогательные папки первого уровня», если они существуют для каждой резервной копии базы данных.
- Обязательно нажмите на резервные файлы вверху. Задача обслуживания проверяет тип файла. Для резервного копирования базы данных я считаю, что он проверяет заголовок файла резервной копии.
В моем сценарии все вышеизложенное было правильным. В Интернете есть несколько комментариев, где некоторые из них говорят, что процедура xp_delete не работает.
Когда резервные файлы не удалялись, я извлек SQL для обслуживания и запускал его из SSMS. В результате сообщение было не файлом резервной копии SQL-сервера. Это сообщение было ошибочным, так как резервное копирование могло быть успешно восстановлено, что привело к созданию оперативной базы данных.
Команды базы данных, используемая для проверки базы данных были:
RESTORE HEADERONLY FROM DISK = N'<file path\filename>.Bak'
RESTORE VERIFYONLY FROM DISK = N'<file path\filename>.bak'
Оба указанных выше команд указывается файл резервной копии недействителен.
Далее я открыл средство просмотра событий и обнаружил сообщения о наличии ошибок входа для диспетчера соединений. Это было странно, потому что я проверил соединение с кнопкой тестового соединения. Ошибки не были связаны с какой-либо учетной записью, которую я создал.
Просмотр событий Сообщения:
*The description for Event ID 17052 from source MS SQL SERVER cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer. If the event originated on another computer, the display information had to be saved with the event.
Следующая информация была включена с событием:
Severity: 16 Error:18456, OS: 18456 [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'domain\servername$'.*
Затем я зашел на машину, где xp_delete правильно функционирует. Просмотрев активный каталог и не найдя системную учетную запись, я перешел к средству просмотра событий, чтобы найти похожие сообщения. Здесь стало очевидным, что учетная запись для домена \ server $ сопоставляется с системой безопасности.
Следующим шагом было сравнить безопасность базы данных, где xp_delete работал с базой данных, где она не работала. В базе данных, где xp_delete не работает, было обнаружено 2 отсутствующих входа в систему. 2 недостающих логины были: NT AUTHORITY \ SYSTEM NT Service \ MSSQLServer
После добавления NT сервис \ MSSQLSERVER, xp_delete успешно работал.
Один подход к тестированию - использовать задачу обслуживания для удаления отдельного файла.
Tomalak: это не сработало. – GernBlandston 2008-10-17 16:02:45
Я понял, после того, как прочитал резюме, которое я только что написал. Заблуждающийся форум, где-то указывал в сторону моего первого ответа. – Tomalak 2008-10-17 16:04:58