Sql server 2008 Can';无法在SQL Server 2008 R2作业中打开脚本文件

Sql server 2008 Can';无法在SQL Server 2008 R2作业中打开脚本文件,sql-server-2008,Sql Server 2008,当我尝试从SQL Server作业配置窗口在本地计算机上打开SQL脚本文件时,出现以下错误: 对路径“C:\temp\tbl\u MiscInfo.sql”的访问被拒绝。(mscorlib) 节目地点: 在System.IO.\uuu Error.WinIOError(Int32 errorCode,字符串 在System.IO.FileStream.Init(字符串路径,FileMode)处 模式、文件访问、Int32权限、布尔用户权限、文件共享 共享、Int32缓冲区大小、文件选项、安全属性

当我尝试从SQL Server作业配置窗口在本地计算机上打开SQL脚本文件时,出现以下错误:

对路径“C:\temp\tbl\u MiscInfo.sql”的访问被拒绝。(mscorlib)

节目地点:

在System.IO.\uuu Error.WinIOError(Int32 errorCode,字符串 在System.IO.FileStream.Init(字符串路径,FileMode)处 模式、文件访问、Int32权限、布尔用户权限、文件共享 共享、Int32缓冲区大小、文件选项、安全属性 secAttrs、字符串msgPath、布尔bFromProxy)位于 System.IO.FileStream..ctor(字符串路径、文件模式、文件访问 在System.IO.File.Open(字符串路径, 文件模式)在 Microsoft.SqlServer.Management.SqlManagerUI.TSQLJobSubSystemDefinition.openFile\u单击(对象 发件人,事件参数(e)位于 System.Windows.Forms.Control.OnClick(EventArgs e)位于 System.Windows.Forms.Button.OnClick(EventArgs e)位于 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs-mevent)位于 System.Windows.Forms.Control.WmMouseUp(Message&m,MouseButtons 按钮,Int32单击)在 System.Windows.Forms.Control.WndProc(Message&m)位于 System.Windows.Forms.ButtonBase.WndProc(Message&m)位于 System.Windows.Forms.Button.WndProc(Message&m)位于 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&m) 在System.Windows.Forms.Control.ControlNativeWindow.WndProc(消息& m) 在System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32 msg、IntPtr wparam、IntPtr lparam)

为了清楚起见,下面是我尝试执行的操作的屏幕截图:

这似乎是一个权限问题,但我尝试的方法似乎都不起作用

我机器上的sqlagent正在使用一个具有管理员权限的用户,我已经为该作业的登录名提供了一个具有管理员权限的用户凭据,并且我已经将“以用户身份运行”选项设置为映射到具有管理员权限的登录名的用户


有什么建议吗?

这样不行。当您单击“打开…”时,它所做的只是将指定文件的内容转储到命令:对话框中-这意味着脚本是静态的,不会反映保存作业后所做的任何更改


如果希望它在运行时使用.sql文件,则需要使用CmdExec步骤类型(您可以在sql Server进程之外调用SQLCmd)或PowerShell命令。或者,作业步骤可以使用xp_cmdshell读入.sql脚本的内容(使用type命令),并将内容作为动态sql执行。

您是否打算每次都从文件中读取作业?如果没有,为什么不打开.sql命令并将代码粘贴到命令窗口中?我的目的是让它在每次运行时从文件中读取,因为我计划更新文件内容。当您单击“打开”时。。。这与SQL代理、作业所有者等无关。它与您运行Management Studio的用户有关。太糟糕了,它没有按我希望的方式工作,我将尝试您建议的其他方法之一。不过,您可能认为ManagementStudio将在我的用户下运行,因此有权打开该文件。无论如何,谢谢!您必须运行procmon(或至少是filemon中的功能集)或类似的程序来确定是谁试图访问该文件以及是什么导致了错误。