Sql 除了xp\u cmdshell,我还可以使用什么

Sql 除了xp\u cmdshell,我还可以使用什么,sql,sql-server,xp-cmdshell,Sql,Sql Server,Xp Cmdshell,我的问题是我们不能在生产环境中使用xp\u cmdshell。我们没有这方面的许可。但是,在不同的服务器上创建文件时,我还可以使用什么来代替xp_cmdshell呢 SELECT @path = RTRIM(sys_value) FROM system_ZZDB WHERE sys_key = 'bisKey83' SET @cmd = 'sqlcmd -SCHW20037619 -E -dzentraleDatenbank -s "" -Q "SET NOCOUNT ON; SELECT *

我的问题是我们不能在生产环境中使用xp\u cmdshell。我们没有这方面的许可。但是,在不同的服务器上创建文件时,我还可以使用什么来代替xp_cmdshell呢

SELECT @path = RTRIM(sys_value) FROM system_ZZDB WHERE sys_key = 'bisKey83'
SET @cmd = 'sqlcmd -SCHW20037619 -E -dzentraleDatenbank -s "" -Q "SET NOCOUNT ON; SELECT * FROM sync_BisKey ORDER BY per_nummer" -o "'
SET @cmd = @cmd + @path + '\exportzzdb.txt" -w 1000'
exec master..xp_cmdshell @cmd
这是我以后不能使用的代码。我还可以做什么来直接从de DB服务器创建文件?我们的服务器权限有限

非常感谢。

您可以:

  • 使用具有PowerShell或OS CmdExec类型的任务步骤创建SQL作业
  • 使用Windows任务计划程序和批处理文件

在安全的环境中,您不能做任何事情,至少从SQL方面是这样。您可以创建一些cmd文件,用于从SQLServer读取数据并写入文件,然后在服务器上手动运行(或使用任务调度器);这也需要足够的权限,但可以更精确地配置这些权限。非常感谢您的推荐。是否可以创建一个可以创建文件的c#程序集?我有创建存储过程的权限,我可以安排它们,但我不知道我是否有权从程序集创建文件。