AzureDB中XP_CMDSHELL的等效程序
我正在MS Azure VM上使用SQL Server作为服务,我想在存储过程中使用AzureDB中XP_CMDSHELL的等效程序,azure,azure-sql-database,Azure,Azure Sql Database,我正在MS Azure VM上使用SQL Server作为服务,我想在存储过程中使用xp\u cmdshell,但我收到以下错误/信息消息: 模块“ProcExportFactoraEdi_Manual2”依赖于缺少的对象“xp_cmdshell”。模块仍将被创建;但是,在对象存在之前,它无法成功运行 我在网上阅读,发现在微软Azure中是不起作用的。有人知道它的等价物是什么,或者我如何在Azure中使用它吗 编辑 我确实安装了它,但我收到以下消息,并且应该导出的文件不存在: (1行受影响) M
xp\u cmdshell
,但我收到以下错误/信息消息:
模块“ProcExportFactoraEdi_Manual2”依赖于缺少的对象“xp_cmdshell”。模块仍将被创建;但是,在对象存在之前,它无法成功运行
我在网上阅读,发现在微软Azure中是不起作用的。有人知道它的等价物是什么,或者我如何在Azure中使用它吗
编辑
我确实安装了它,但我收到以下消息,并且应该导出的文件不存在:
(1行受影响)
Msg 2812,16级,状态62,第119行
找不到存储过程“xp\u cmdshell”
Azure SQLDB不支持
xp\u cmdshell
。句号。没有“等价物”,因为Azure SQLDB在共享环境中运行,没有对主机的访问权限,这与您使用内部部署实例时对主机环境的独立、完全访问权限不同
您需要重写存储过程以避免使用它。我们无法告诉您“等价物”是什么,因为我们无法访问您的存储过程,也不知道其要求
如果您无法避免使用
xp\u cmdshell
,那么Azure SQLDB可能不适合您。您需要了解如何在Azure(IaaS)上设置运行SQL Server的VM。SQL Azure不提供对命令提示符的访问。将SQLAzure视为一种虚拟化服务,没有主机基础设施(虚拟化或物理)
如果您提到的存储过程需要创建文件,则可以创建Azure函数,以将文件创建到Azure BLOB存储帐户
或者,您可以在Azure SQL Server VM(IaaS)上找到可用的xp_cmdshell 我在您的编辑中看到您安装了它,但我不认为这是怎么可能的,因为它是一个系统扩展存储过程。请参阅@alroc的答案。