【问题标题】:What else I can use than xp_cmdshell除了 xp_cmdshell 我还能用什么
【发布时间】:2014-01-07 12:35:19
【问题描述】:

我遇到的问题是我们不能在生产环境中使用 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 服务器创建文件?我们的服务器权限受到限制

非常感谢。

【问题讨论】:

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

标签: sql sql-server xp-cmdshell


【解决方案1】:

你可以:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多