我们的数据库服务器已用尽磁盘空间,在释放一些磁盘空间后,在sql server management studio中运行任何查询,并将结果发送到网格视图,导致此错误:
执行批处理时发生错误。错误消息是:目录名称无效。
当结果发送到文本视图时,查询工作正常。
有谁知道为什么会出现这种错误以及如何摆脱它?
答案 0 :(得分:42)
收到消息:
SQL Server - 执行批处理时发生错误。错误消息是:目录名称无效
在从c:\documents and settings\administrator\local settings\temp
此解决方案修复了以下环境中的此错误:
答案 1 :(得分:35)
您需要做的就是打开命令提示符并输入:
mkdir %temp%
,然后按Enter键。
这很简单。无需注销/登录。
答案 2 :(得分:15)
我在SQL Server 2012上遇到过类似的问题。我检查了%TEMP%变量中的文件夹值(来自命令提示符的echo%TEMP%)并注意到该文件夹不存在。我创建了这个文件夹,它就是诀窍!
答案 3 :(得分:11)
我在我的网络服务器(运行SQL Server 2012的Windows服务器r2)上遇到了这个问题
The directory name is invalid.
(mscore lib)
注销(终止我的远程会话)并重新登录为我解决了问题。
答案 4 :(得分:4)
“工具/选项/查询结果/ SQL Server /常规”中的“保存查询结果的默认位置”是否设置为有效路径?
TMP / TEMP环境变量是否指向有效目录?
重新安装客户端工具可能会解决问题。
答案 5 :(得分:2)
我在Windows 7机器上遇到了同样的问题。我实际上在SQL Server Management Studio和Visual Studio 2012中都遇到了错误。我检查了我的临时目录,发现超过66,000个文件。值得注意的是,有大量名为tmpXXXX.tmp的文件,其中XXXX是十六进制数。问题是文件一直到tmpFFFF.tmp。因此,无论创建临时文件是什么,都没有正确清理它们,最终只是用尽了文件。解决方案是删除该文件夹中的所有文件。毫不奇怪,这也大大提高了性能。
可以在以下位置找到临时文件夹:%TEMP%,这对于XP和Win7都是正确的。
答案 6 :(得分:1)
我很长时间都遇到了这个问题.....这个问题的简单答案An error occurred while executing batch. Error message is: The directory name is invalid
只是释放了磁盘空间......我的问题得到了解决,这可能会有所帮助对于更多......
答案 7 :(得分:1)
如果在SQL Server 2008中创建了DB并且它是由SQL Server 2005打开的,那么我遇到了同样的问题。只需在2008年重新打开它。
答案 8 :(得分:1)
我遇到了同样的问题, 所以要检查这个我输入%temp%并且它给找不到文件夹的错误... / temp / 2 所以我在temp文件夹中创建了一个文件夹名称2并重新启动sql server。
对我有用。
答案 9 :(得分:0)
我知道这听起来像个笑话,但你尝试过重启SQL Server实例吗?
答案 10 :(得分:-1)
昨天我遇到了同样的错误"目录名无效"当我试图在SQL Management Studio 2014中打开新的查询窗口时。它发生在清除(删除)%temp%文件夹文件之后。
我重启了SQL服务但没有运气! 重启服务器后问题解决了。