バージョン2005以降、Microsoft SQL Serverではパスが作成されていない場合でも作成できます。ディスク上の目的のパスにつながるパラメータでストアドプロシージャを呼び出すだけです。拡張ストアドプロシージャxp_create_subdirは「無効なパラメータ」メッセージを返します
DECLARE @targetDirectory nvarchar(max) = N'E:\backup'
exec xp_create_subdir @targetDirectory
は、Microsoft SQL Server Management Studioでクエリペインに、上記のコードを書くのであれば、次のエラーメッセージが表示されます。実行
メッセージ22048、レベル15、状態0、行0 エラー拡張ストアドプロシージャ:無効なパラメータ
それはあなたが
exec xp_create_subdir N'E:\backup'
にコードを変更した場合は奇妙です
を実行して、SQLサービスアカウントに書き込み権限があることを前提として、目的のパスにディレクトリを作成します。
nvarchar(max)の長さは4000ではありません。データが必要とする記憶域は最大2^31-1バイトまたは2GBまで消費します。うれしいことがあなたの問題の解決策を見つけました。 :) –
ファイルパス上のWindows 260文字制限(https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#maxpath)を忘れないでください。同じように。あなたの問題に直接関係していないにもかかわらず、あなたが定義した4000ではなく260文字に入力パラメータを強く入力したいかもしれません。 –
@ JohnEisbrener SQL Server for Linuxが同じ問題を抱えていないことを願っています。 –