7

Я пытаюсь создать план резервного копирования с помощью TFS Power Tools, но продолжаю сталкиваться с этим сообщением об ошибке:Ошибка резервного копирования TFS

Я проверил, что учетная запись имеет полный доступ к общей папке, я могу редактировать, создавать и удалять файлы там. Из журнала:

[Info   @07:15:00.403] Starting creating backup test validation
[Error  @07:15:00.700] Microsoft.SqlServer.Management.Smo.FailedOperationException: Backup failed for Server 'WMSI003714N\SqlExpress'.  ---> Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ---> System.Data.SqlClient.SqlException: Cannot open backup device '\\wmsi003714n\sql dump\Tfs_Configuration_20100910091500.bak'. Operating system error 5(failed to retrieve text for this error. Reason: 1815).
BACKUP DATABASE is terminating abnormally.
   at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)
   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
   --- End of inner exception stack trace ---
   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
   at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
   at Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(Server server, StringCollection queries)
   at Microsoft.SqlServer.Management.Smo.Backup.SqlBackup(Server srv)
   --- End of inner exception stack trace ---
   at Microsoft.SqlServer.Management.Smo.Backup.SqlBackup(Server srv)
   at Microsoft.TeamFoundation.PowerTools.Admin.Helpers.BackupFactory.TestBackupCreation(String path)
[Error  @07:15:00.731] !Verify Error!: Account GROUPINFRA\SA-NO-TeamService failed to create backups using path \\wmsi003714n\sql dump
[Info   @07:15:00.731] "Verify: Grant Backup Plan Permissions\Root\VerifyDummyBackupCreation(VerifyTestBackupCreatedSuccessfully): Exiting Verification with state Completed and result Error"

Есть идеи?

6 ответов6

5

У меня была такая же проблема, и я заметил, что в вашем общем ресурсе "sql dump" есть пробел, как и у меня. Я убрал символ пробела, и он работал нормально!

1

Имеет ли учетная запись, которую вы используете для резервного копирования, полный контроль (или, по крайней мере, запись) на папке общей файловой системы (т. Е. Разрешения на общие ресурсы и папки позволяют выполнять запись)?

Помните, что учетная запись, создающая задание, не обязательно является учетной записью, на которой оно выполняется (это может не применяться, поскольку IIRC для резервного копирования Power Toys не использует агент SQL).

Попробуйте выполнить мониторинг места назначения с помощью Process Monitor, чтобы определить, является ли это ошибкой в SQL Server (т. Е. Происходит сбой до создания или записи любого файла) или при записи.

0

Не связано с этой конкретной проблемой специальных символов, но у меня была точно такая же ошибка при попытке подхода с наименьшими привилегиями. Мне пришлось добавить учетную запись, используемую для резервного копирования, в локальную группу Windows «Оператор резервного копирования». Надеюсь, что это помогает другим людям, читающим эту ветку.

0

Убедитесь, что в пути к папке резервной копии нет специальных символов или пробелов. В этом случае (в sql dump) есть пробел, я удалил пробел, и он должен работать, иначе убедитесь, что у папки есть разрешения - Вы можете изменить учетные данные для входа на вкладке Аккаунт .

0

Для меня это были общие разрешения, которые не были такими явными, как разрешения FS. У меня были настроены все учетные записи в каталоге, но как только я установил общий ресурс, все было готово и тесты пройдены.

0

Мое решение было.

  1. создать общий доступ с разрешением для каждого
  2. затем в папке безопасности вы выбираете Все аккаунт и УДАЛЯЕТЕ любые права, которые позволят кому-то писать туда!

Таким образом, даже кто-то подключится к этому новому общему ресурсу, который будет использовать TFS, не сможет изменить. Может быть, это хорошая идея, чтобы создать скрытый ресурс (я имею в виду myshare$).

Таким образом, вы можете проверить, что создает разрешения и что TFS хочет создать, модифицировать и протестировать. Вы обязательно найдете то, что ему нужно для проверки файла внутри.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .