2014-01-07 6 views
2

我的问题是我们不能在生产环境中使用xp_cmdshell。我们没有它的许可。但是我还可以使用什么来代替xp_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服务器直接创建文件吗?我们服务器权限有限

谢谢你。

+1

的任务步骤在适当保护的环境中您可以将SQL工作至少从SQL方面来说,什么都不做。您可以创建一些cmd文件,用于从SQL Server读取数据并写入文件并在服务器上手动运行(或使用任务计划程序);这也需要足够的权利,但这些可以更精确地配置。 – Arvo

+0

非常感谢您的赞赏。是否有可能创建一个可以创建文件的C#程序集?我有创建存储过程的权限,我可以调度它们,但我不知道我是否有权从程序集创建文件。 – loonybin

回答

0

,你可以:

  • 创建与具有类型的PowerShell或OS的CmdExec
  • 使用Windows任务计划程序和批处理文件
相关问题