1
自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)以及。儘管它與您的問題沒有直接關係,但您可能需要強制輸入參數爲260個字符,而不是您已定義的4000個字符。 –
@JohnEisbrener我希望SQL Server for Linux不會遇到同樣的問題。 –