Warum kann ich keinen Sicherungsplan für TFS erstellen?


8

Ich versuche, mit den TFS Power Tools einen Sicherungsplan zu erstellen, aber es wird weiterhin folgende Fehlermeldung angezeigt: TFS-Sicherungsfehler

Ich habe überprüft, ob das Konto die volle Kontrolle über die Freigabe hat. Dort kann ich Dateien bearbeiten, erstellen und löschen. Aus dem Protokoll:

[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"

Irgendwelche Ideen?


1
Es gibt zwei Sätze von Berechtigungen im Spiel. Die Freigabeberechtigungen und die Dateisystemberechtigungen. Die restriktivsten setzen sich durch. Es hört sich so an, als hätte Ihr Konto GROUPINFRA\SA-NO-TeamServicemöglicherweise keine Berechtigungen auf Dateisystemebene.
BillP3rd

Antworten:


6

Ich hatte das gleiche Problem und bemerkte, dass Ihr Freigabename "SQL Dump" genau wie meiner ein Leerzeichen enthält. Ich habe das Leerzeichen entfernt und es hat gut funktioniert !!


1
Ja, es ist ein Fehler. Ich habe es mit dem Team besprochen und es wird in einer zukünftigen Version der Elektrowerkzeuge behandelt.
Grant Holliday

Es geht noch eine Stunde meines Lebens ...
Ted

1

Hat das Konto, mit dem Sie die Sicherung ausführen, auch die volle Kontrolle (oder zumindest das Schreiben) über den freigegebenen Dateisystemordner (dh sowohl die Freigabe- als auch die Ordnerberechtigung ermöglichen das Schreiben)?

Denken Sie daran, dass das Konto, mit dem der Job erstellt wird, nicht unbedingt das Konto ist, auf dem er ausgeführt wird (dies gilt möglicherweise nicht, da bei der IIRC-Sicherung von Power Toys kein SQL Agent verwendet wird).

Versuchen Sie, das Ziel mit Process Monitor zu überwachen , um festzustellen , ob es in SQL Server fehlerhaft ist (dh vor dem Erstellen / Schreiben einer Datei fehlschlägt) oder schriftlich.


Ja, der aktuelle Benutzer und das für die Sicherung verwendete Konto haben beide die volle Kontrolle über die Freigabe. Ich werde Process Monitor ausprobieren, sobald ich am Montag wieder im Büro bin. Danke für den Vorschlag.
Noocyte

0

Für mich waren die Freigabeberechtigungen nicht so explizit wie die FS-Berechtigungen. Ich hatte alle Konten im Verzeichnis eingerichtet, aber nachdem ich die Freigabe repariert hatte, war ich fertig und die Tests bestanden.


0

Stellen Sie sicher, dass der Pfad des Sicherungsordners keine Sonderzeichen oder Leerzeichen enthält. In diesem Fall enthält (SQL-Speicherauszug) ein Leerzeichen. Ich habe das Leerzeichen entfernt und es sollte funktionieren, oder stellen Sie sicher, dass der Ordner über Berechtigungen verfügt. Sie können die Anmeldeinformationen auf der Registerkarte Konto ändern .


1
Wenn Sie sich die Antwort ansehen, ist das Weltraumproblem das Problem ...
Noocyte

0

Nicht im Zusammenhang mit diesem speziellen Problem mit Sonderzeichen, aber ich hatte genau den gleichen Fehler, als ich einen Ansatz mit den geringsten Berechtigungen versuchte. Ich musste das für die Sicherung verwendete Konto zur lokalen Windows-Gruppe des Sicherungsoperators hinzufügen. Hoffe, es hilft anderen Menschen, die diesen Thread lesen.


0

Meine Lösung war.

  1. Erstellen Sie eine Freigabe mit allen Berechtigungen
  2. Dann wählen Sie in der Ordnersicherheit das Konto Jeder aus und ENTFERNEN alle Rechte, die es jemandem ermöglichen, dort zu schreiben!

Auf diese Weise kann selbst jemand, der eine Verbindung zu dieser neuen Freigabe herstellt, die von TFS verwendet wird, keine Änderungen vornehmen. Vielleicht ist es auch eine gute Idee, eine versteckte Freigabe zu erstellen (ich meine myshare$).

Sie können überprüfen, welche Berechtigungen erstellt werden und welche TFS auf diese Weise erstellt und geändert und getestet werden sollen. Sie werden sicher finden, was er braucht, um eine Datei darin zu inspizieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.