我在MS Azure VM上使用SQL Server作为服务,我想在存储过程中使用xp_cmdshell
,但我收到以下错误/信息消息:
模块' ProcExportFacturaEDI_Manual2'取决于丢失的对象' xp_cmdshell'。该模块仍将创建;但是,在对象存在之前,它无法成功运行。
我在线阅读并发现在MS Azure中无法正常工作。有谁知道它的等价物或者我如何在Azure中使用它?
修改
我确实安装了它,但是我得到了以下消息,应该导出的文件不存在:
(1行(s)受影响) Msg 2812,Level 16,State 62,Line 119 无法找到存储过程' xp_cmdshell'。
答案 0 :(得分:1)
Azure SQLDB不支持xp_cmdshell
。完全停止。没有等同的"因为Azure SQLDB在共享环境中运行而无法访问主机,这与独立的,完全访问您习惯使用本地实例的主机环境不同。
您需要重写存储过程才能使用它。我们无法告诉你"等价物#34;是因为我们无法访问您的存储过程,也不知道要求。
如果您无法避免使用xp_cmdshell
,那么Azure SQLDB可能不适合您。您将要查看在Azure上设置运行SQL Server的VM(IaaS)。
答案 1 :(得分:0)
SQL Azure不提供对命令提示符的访问。将SQL Azure视为虚拟化服务,没有主机基础设施(虚拟化或物理化)。
如果您提到的存储过程需要创建文件,则可以创建Azure函数来创建Azure BLOB存储帐户的文件。
或者,您可以在Azure SQL Server VM(IaaS)上找到xp_cmdshell。