【问题标题】:Map to Network Drive By SQL SP通过 SQL SP 映射到网络驱动器
【发布时间】:2008-12-18 18:30:11
【问题描述】:

有没有办法使用存储过程映射到网络驱动器?我试过了:

xp_cmdshell 'net use Q: [shared_network_drive] [pwd] /user:[username]'

但我在说类似

时遇到错误
'System error 1312 has occurred.'
'A specified logon session does not exist. It may already have been terminated.'

但是,当我在与 SQL 服务器机器相同的框内的 cmd 控制台中运行相同的命令时,完全没有问题。看起来 SQL 进程确实传递了正确的登录凭据信息。 SQL SP 有什么办法吗?

【问题讨论】:

    标签: sql sql-server-2005


    【解决方案1】:

    在另一个论坛上,有人 posted a tip 关于如何通过指定包含其域的用户名来解决 System error 1312 has occurred. 问题,如下所示:

    net use Q: \\[host]\[folder] [pwd] /user:[host]\[username]
    

    我试过了,它对我有用。

    【讨论】:

      【解决方案2】:

      我花了一个小时,但问题解决了:你必须指定 [HOST]\[username] 如果你这样写:u:/username - 它不起作用

      【讨论】:

        【解决方案3】:

        您是否为 xp_cmdshell 设置了代理帐户?如果您不是 sysadmin 的成员,则需要代理帐户。 xp_cmdshell 和 sp_xp_cmdshell_proxy_account 的文档会详细解释,但请尝试执行以下操作:

        EXEC sp_xp_cmdshell_proxy_account 'DOMAIN\Username', 'password'
        

        当然,将用户和密码信息替换为您希望执行此操作的网络上的帐户信息。

        警告:xp_cmdshell 可能是一个巨大的安全漏洞。确保至少您使用的代理帐户具有非常有限的安全性。不要使用任何类型的管理员帐户,也不要使用实际用户的帐户。

        【讨论】:

          【解决方案4】:

          你为什么要这样做?!?即使有可能,您也应该仔细问自己为什么要这样做。

          我的建议:不要。我的印象是你需要改变你的方法——无论网络驱动器映射可能用于什么目的,都应该在数据库引擎之外的更合适的地方进行。一旦选择了合适的位置,实际调用映射可能会变得微不足道。

          【讨论】:

            【解决方案5】:

            罗德,你是对的。在 SQL Server 中这样做是一个很大的风险,并不是所有的 SQL 管理员都允许打开这扇门。我正在做的是将遗留流程迁移到计划的 SQL 作业,以便其他部门的应用程序可以使用所需的数据来获取另一个计划流程中的数据。

            我猜想 Windows 服务作业可能是一个更好的应用程序来提取数据并将结果传输到所需的网络驱动器。

            【讨论】:

            • 这听起来像是 SSIS 的工作。
            【解决方案6】:

            其实,使用 Win Scheduled Tasks 工具是我所需要的。我可以创建一个 .Net 应用程序来完成这项工作,然后将应用程序添加到计划任务中。

            【讨论】:

              【解决方案7】:

              problem happens 使用分布式文件系统时,无论您使用哪种操作系统。相反,获取托管 DFS 内容的服务器的实际名称。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2010-10-08
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多