Есть ли способ подавить x строк, затронутых в SQLCMD, из командной строки?

Есть ли способ подавить «затронутые строки x» в SQLCMD из командной строки?

Я запускаю сценарий MSBuild и не хочу, чтобы он засорял мой журнал на моем сервере сборки.

Я бы предпочел не добавлять «SET NOCOUNT ON» в каждый скрипт, поэтому, если есть способ сделать это из командной строки, это было бы здорово.


person Josh Kodroff    schedule 06.01.2010    source источник


Ответы (3)


Как насчет создания сценария запуска с SET NOCOUNT ON в сценарии (назначьте сценарий переменной среды SQLCMDINI). http://msdn.microsoft.com/en-us/library/ms162773.aspx

person fupsduck    schedule 06.01.2010
comment
Да, просто добавьте SET NOCOUNT ON; в ваш экспортный запрос (или файл запроса) поможет в этом. - person DtechNet; 17.12.2018

Параметры -i и -q являются взаимоисключающими.

Создайте файл с именем setnocount.sql с содержимым:

SET NOCOUNT ON;

И вы могли бы сделать -i setnocount.sql,otherscript.sql, используя функцию нескольких файлов и фактически «включенный» общий первый файл.

person Cade Roux    schedule 06.01.2010
comment
ссылка битая :-( есть идеи что это было? - person roufamatic; 25.03.2016
comment
@roufamatic Ссылка работает, страница представляет собой MSDN под названием sqlcmd Utility с путем в меню: Компонент Database Engine -> Технический справочник -> Справочник по утилите командной строки (Database Engine) - person dckuehn; 25.07.2016

Вы также можете запустить несколько строк в параметре -Q, разделенных точкой с запятой, как показано ниже.

eg:

-Q "set nocount on;select * from table;delete from table where some_condition=true"
person Rob    schedule 15.01.2013
comment
Есть ли способ игнорировать имя столбца из вывода? - person singhswat; 23.01.2018
comment
вы передаете -h -1, что означает, что вы не хотите, чтобы заголовки печатались. - person Steve K; 23.05.2018