SQL Server - 执行批处理时发生错误。错误消息是:目录名称无效

时间:2009-04-01 10:21:25

标签: sql sql-server-2005

我们的数据库服务器已用尽磁盘空间,在释放一些磁盘空间后,在sql server management studio中运行任何查询,并将结果发送到网格视图,导致此错误:
执行批处理时发生错误。错误消息是:目录名称无效。

当结果发送到文本视图时,查询工作正常。

有谁知道为什么会出现这种错误以及如何摆脱它?

11 个答案:

答案 0 :(得分:42)

收到消息:

  

SQL Server - 执行批处理时发生错误。错误消息是:目录名称无效

在从c:\documents and settings\administrator\local settings\temp

删除临时文件后尝试在Management Studio中执行查询时

退出服务器会话并重新登录时解决。

此解决方案修复了以下环境中的此错误:

  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2012
  • Sql Server 2005
  • Sql Server 2008
  • Sql Server 2008 R2
  • Sql Server 2012
  • Sql Server 2014
  • Sql Server 2016

答案 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服务但没有运气! 重启服务器后问题解决了。