joe2017
Goto Top

MS SQL Replication - Distributor Fehlermeldung (Destination Path is not valid - Error: 14430)

Schönen guten morgen zusammen,

ich bin gerade etwas am verzweifeln. Ich versuche eine SQL Replication zu erstellen und beim erstellen meines Distributors erhalte ich immer die folgende Fehlermeldung.
Destination Path c:\path is not valid. Unable to list directory contents. Specify a valid destination Path. 
Change database context to 'master'.  

Mein SQL Service und Agent werden mit einem domain user gestartet (domain\user)
Dieser Benutzer hat volle Berechtigungen auf den Pfad. Hierbei spielt es keine Rolle ob ich den Standardpfad (C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data) oder einen eigenen Pfad (c:\path) verwende. Selbst wenn ich dem Pfad die Berechtigungnen Jeder mit vollen Rechten gebe erhalte ich die Fehlermeldung.

Zum erstellen des Distributors verwende ich die GUI.

Hat jemand eine Idee woran dies liegen könnte?

Content-ID: 587403

Url: https://administrator.de/contentid/587403

Ausgedruckt am: 15.11.2024 um 05:11 Uhr

Sarumahr
Sarumahr 14.07.2020 um 10:47:20 Uhr
Goto Top
Versuch es mal mit "c:\path\". Zum Beispiel bei Batch oder C# macht das einen großen Unterschied.
joe2017
joe2017 14.07.2020 um 10:55:56 Uhr
Goto Top
Über die GUI sind die Anführungszeichen nicht erlaubt. Hier bekommt man direkt die Meldung, dass es ein Pfad beginnend mit C: sein muss.
Auch der am Ende stehnde "\" hat nichts verändert.

Wenn man den Wizzard über die GUI startet wird man am Anfang nach dem repldata Pfad gefragt. Diesen änder man in \\servername\repldata und die restlichen Pfade werden direkt vom SQL Server vorgegeben.
bloodstix
bloodstix 14.07.2020 um 11:33:37 Uhr
Goto Top
Ich denke das Problem ist möglicherweise das man selbst als lokaler Admin eine UAC-Abfrage erhält wenn man was direkt in C:\ oder C:\Program Files bzw Program Files (x86) ändern will.
Versuch mal einen nicht-System-Pfad.
joe2017
joe2017 14.07.2020 um 12:16:06 Uhr
Goto Top
Bei einem anderen Server hat das ohne Probleme funktioniert. Hier habe ich eigentlich nichts anderes durchgeführt. Der Server ist auch in der selben Active Directory OU und erhält somit die gleichen GPO´s.

Ich habe ja schon einen anderen Pfad (c:\mypath) getestet. Die Meldung kommt nach wie vor.

Mir ist das ein Rätsel und ich komme nicht drauf was es noch sein könnte?
Dr.Bit
Dr.Bit 14.07.2020 um 13:48:09 Uhr
Goto Top
Zitat von @joe2017:

> Destination Path c:\path is not valid. Unable to list directory contents. Specify a valid destination Path. 
> Change database context to 'master'.  
> 

Ich habe von SQL genau gar keine Ahnung aber da steht, das der Kontext der Datenbank auf Master gestellt sein muß. Ich denke da ist die vorhandene Datenbank gemeint. Steht die denn auf Master? Wie gesagt, ich habe davon keinen Schimmer. Wäre aber eine Idee?

🖖
joe2017
joe2017 14.07.2020 um 14:48:06 Uhr
Goto Top
Den context kann ich nur auf eine DB setzen wenn ich ein Script ausführe.
Hier wird eigentlich kein Script sondern ein Wizzard ausgeführt.
bloodstix
bloodstix 14.07.2020 aktualisiert um 16:24:56 Uhr
Goto Top
Das dürfte doch genau dein Problem sein:
https://realizeddesign.blogspot.com/2017/02/replication-setup-fix-unable ...

Habe "mssql replication Unable to list directory contents" gegurgelt face-smile
joe2017
joe2017 14.07.2020 um 16:52:51 Uhr
Goto Top
Ich habe mir natürlich zuvor dutzende Einträe zu diesem Thema angeschaut.
Auch diesen Beitrag hatte ich bereits gefunden. Ich habe auf alles mehrfach geprüft.

Meine Berechtigungen für beide Verzeichnisse (Data und Freigabe für distribution) passen.
Der Benutzer welcher den SQL Service und den Agent startet besitzt die vollen Rechte in die Verzeichnisse.
joe2017
joe2017 21.07.2020 um 09:44:19 Uhr
Goto Top
Ich komme mit dem Problem immer noch nicht weiter. Anbei noch mal ein Screenshot von der Fehlermeldung:
sql
joe2017
joe2017 21.07.2020 um 11:22:48 Uhr
Goto Top
Ich habe gerade mit dem SQL Profiler mal das Log angeschaut.
Der Prozess bleibt bei folgendem Befehl stehen:
use [master]
---*sp_adddistributiondb------------
use [master]
exec sp_dropdistributor @no_checks = 1, @ignore_distributor = 1

Bei meinem SQL Server auf welchem die Replication funktioniert, sehe ich folgendes:
use [master]
---*sp_adddistributiondb------------
exec sp_helpdistributiondb N'distribution'  
exec [distribution].sys.sp_helpqreader_agent
.... usw.
joe2017
joe2017 08.09.2020 um 10:37:53 Uhr
Goto Top
Ich habe das Thema jetzt joch einmal aufgegriffen.

Ich erhalte immer noch die selbe Fehlermeldung.
Destination Path: C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data is not valid. Unable to List Directory contents. Specify a valid destination path.

Ich befürchte, dass die distribution Datenbank in diesem Verzeichnis nicht angelegt werden kann.
Mit welchem Usetr wird dies durchgeführt. Im Normalfall doch mit dem User welcher auch den SQL Agent ausführt oder?
Ich habe mit runas /user:SQLAgentUser explorer.exe den Explorer geöffnet und geprüft ob ich auf alle Verzeichnisse zugreifen kann. Ich kann auf das replication (Freigabe) Verzeichnis sowie auf das SQL Data Verzeichnis zugreifen.

Ich verstehe also nicht, weshalb die Replication (distribution) nicht abgeschlossen wird.
Hat jemand eine Idee was ich noch prüfen könnte?
joe2017
joe2017 08.09.2020 um 10:56:34 Uhr
Goto Top
Ich habe jetzt sogar einen neuen Ordner für die distribution DB angelegt.

C:\distribution
Hier habe ich testhalber sogar everyone auf full access gestellt.

Ich bekomme auch hier die Meldung:
Destination Path: C:\distribution is not valid. Unable to List Directory contents. Specify a valid destination path.