Seit Version 2005 ermöglicht Microsoft SQL Server das Erstellen eines Pfades, falls dieser nicht existiert. Rufen Sie einfach die gespeicherte Prozedur mit dem Parameter auf, der zum gewünschten Pfad auf der Festplatte führt.Erweiterte gespeicherte Prozedur xp_create_subdir gibt die Meldung "Ungültiger Parameter" zurück
DECLARE @targetDirectory nvarchar(max) = N'E:\backup'
exec xp_create_subdir @targetDirectory
Also, wenn Sie Code oben in Abfragebereich in Microsoft SQL Server Management Studio schreiben, erhalten Sie folgende Fehlermeldung:
Msg 22048, Ebene 15, Status 0, Zeile 0 Fehler bei der Ausführung erweiterte gespeicherte Prozedur: ungültige Parameter
Es ist seltsam, dass, wenn Sie Code
exec xp_create_subdir N'E:\backup'
ändern
und führen Sie es aus, das Verzeichnis wird am gewünschten Pfad erstellt, vorausgesetzt, dass das SQL-Dienstkonto über Schreibrechte verfügt.
nvarchar (max) hat NICHT eine Länge von 4000. Es verbraucht so viel Speicher, wie die Daten benötigen, bis zu einem Maximum von 2^31-1 Bytes oder 2GB. Ich habe die Lösung für dein Problem gefunden. :) –
Vergessen Sie nicht die Beschränkung der Windows 260 Zeichen (https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#maxpath) auf Dateipfaden auch. Auch wenn es sich nicht direkt auf Ihr Problem bezieht, möchten Sie den Eingabeparameter möglicherweise lieber auf 260 Zeichen anstatt auf die von Ihnen definierten 4000 eingeben. –
@JohnEisbrener Ich hoffe, dass SQL Server für Linux nicht mit dem gleichen Problem leiden wird. –