输出结果集时禁止tempdb消息

时间:2015-06-16 15:07:54

标签: sql-server tsql sqlcmd

使用SQLCMD,我正在运行一个脚本输出到STDOUT然后gziping输出。当我查看输出文件时,我看到此警告消息:

Database name 'tempdb' ignored, referencing object in tempdb.

在我的脚本中,我在脚本开头检查是否删除临时表(如果存在):

IF OBJECT_ID('tempdb..#TheTable') IS NOT NULL
BEGIN
    DROP TABLE tempdb..#TheTable
END

但是 - 我还有SET NOCOUNT ON,但文件仍然会捕获警告消息。

SQLCMD脚本:
sqlcmd -i TheScript.sql -h-1 -k1 -s"," -W -u | gzip > "C:\TheOutput.gz"

有没有办法压制这样的消息?

2 个答案:

答案 0 :(得分:2)

将您的if条件更改为以下模式:

IF 0 < OBJECT_ID('tempdb..#TheTable')
 DROP TABLE #TheTable

这不应该导致任何错误消息。

答案 1 :(得分:0)

适用于SQL Server 2016及更高版本的简单干净版本,没有任何消息:

drop table if exists #TheTable