【问题标题】:Impersonation for sp_OA* on SQL Server 2000在 SQL Server 2000 上模拟 sp_OA*
【发布时间】:2009-09-18 15:35:11
【问题描述】:

有没有办法模拟 sp_OA* 调用?我专门将它用于文件系统管理,并且我在 TSQL 中做所有事情以避免 DTS,因为有可能升级到 2005 并且我希望这个解决方案是跨版本的。不幸的是,我需要访问远程文件系统,但我无法将 AD 权限添加到其中一台服务器的系统帐户中(尽管它运行生产 ETL 周期,但它在雷达下而不是在 AD 上)。有没有办法冒充这个?我也会采用 xp_cmdshell 解决方案;我只是希望完全可以避免同时为 DTS 和 SSIS 进行开发以及同时处理两个代码库。

同样,这不是模拟执行 SQL Server 对象;这是为了使用 SQL Server 系统帐户以外的帐户访问非 SQL Server 资源。我能够找到的唯一解决方案涉及 2005+ 上的 SQLCLR,而不是无论如何我都能够部署程序集。 (我是 IT 以外的顾问,并且涉及政治问题。)

【问题讨论】:

    标签: sql-server sql-server-2000 impersonation


    【解决方案1】:

    不,sp_OA 在服务帐户的上下文中运行。

    `xp_cmdshell' 有一个 proxy option (different in SQL 2000) 虽然它可能会起作用。

    在 SQL Server 2005 中,默认情况下它被锁定得更多(如 sp_OA%),因此这在政治上可能不合适。我们仍然有一些针对 SQL 2005 运行的旧版 DTS 包(使用 dtsrun,来自文件系统),因此它仍然可用并且有一个 SSM 插件来管理它们。

    【讨论】:

    • 代理帐户是最接近的,尽管 xp_cmdshell 不太理想,因为我必须解析控制台消息以进行错误捕获。哦,好吧。
    猜你喜欢
    • 2011-09-23
    • 2010-09-18
    • 1970-01-01
    • 2011-05-04
    • 2010-12-17
    • 1970-01-01
    • 2013-01-25
    • 2013-03-25
    • 1970-01-01
    相关资源
    最近更新 更多