【问题标题】:Is there a way to suppress "x rows affected" in SQLCMD from the command line?有没有办法从命令行抑制 SQLCMD 中的“x 行受影响”?
【发布时间】:2011-01-02 02:47:46
【问题描述】:

有没有办法从命令行抑制 SQLCMD 中的“x 行受影响”?

我正在运行一个 MSBuild 脚本,不希望它阻塞我在构建服务器上的日志。

我宁愿不必在每个脚本中添加“SET NOCOUNT ON”,所以如果有办法从命令行执行此操作,那就太好了。

【问题讨论】:

    标签: sql-server rows sqlcmd suppress


    【解决方案1】:

    如何在脚本中创建一个带有 SET NOCOUNT ON 的启动脚本(将脚本分配给 SQLCMDINI 环境变量)。 http://msdn.microsoft.com/en-us/library/ms162773.aspx

    【讨论】:

    • 是的 - 只需添加 SET NOCOUNT ON;到您的导出查询(或查询文件)将对此有所帮助。
    【解决方案2】:

    -i-q 选项 are mutually exclusive

    创建一个名为 setnocount.sql 的文件,内容如下:

    SET NOCOUNT ON;
    

    您也许可以使用多文件功能并有效地“包含”公共第一个文件来执行-i setnocount.sql,otherscript.sql

    【讨论】:

    • 链接损坏 :-( 知道它是什么吗?
    • @roufamatic 链接工作形式,该页面是一个名为 sqlcmd Utility 的 MSDN,其菜单路径为:数据库引擎 -> 技术参考 -> 命令提示实用程序参考(数据库引擎)
    【解决方案3】:

    您也可以在-Q参数中运行多行,用分号分隔,如下所示

    例如:

    -Q "set nocount on;select * from table;delete from table where some_condition=true"
    

    【讨论】:

    • 有没有办法从输出中忽略列名?
    • 你传入-h -1 表示你不想打印标题。
    猜你喜欢
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 2015-03-12
    • 2022-10-21
    • 1970-01-01
    • 2021-08-01
    • 2023-04-01
    • 2012-10-10
    相关资源
    最近更新 更多