Creando un CSV con SQLCMD

En algunas ocasiones nos encontramos con la necesidad de exportar el resultado de una consulta a un archivo CSV.
A pesar de existir una infinidad de herramientas que lo pueden hacer, y a favor de mantener las cosas simple, les dejo el método mas practico que pude encontrar.

Fácilmente se puede automatizar un archivo .bat con el comando SQLCMD, o su hermano OSQL, para realizar la tarea. Algo asi:

sqlcmd -S MiServidor -E -r -Q "set nocount on; select t T from ##daf order by id"
 -o daf.csv -w 8000 -h -1

Donde:

-E Conexión trusted

-r No muestra los mensajes de error en la consola

-h -1 Al final, es el parámetro que evita que se muestren los títulos de las columnas

-s “,” Define el separador de campo, para un csv es coma ;P

-d Base

-Q “Comando” Es importante poner al principio el set nocount on; para prevenir el “n rows affected” del final, seguido de la consulta a ejecutar.

-w 8000 Indica el ancho del registro en la salida

-o daf.csv Es el nombre del archivo donde se guardara el resultado de la consulta.

Basado en la nota de kdkeys.net