10.3. SQLCMD
SQLCMD is a utility that allows you to run scripts from a command prompt in a Windows command box. This can be very nice for executing conversion or maintenance scripts, as well as a quick-and-dirty way to capture a text file.
SQLCMD replaces the older OSQL. OSQL is still included with SQL Server for backward compatibility only. An even older command-line utility — ISQL — is no longer supported.
The syntax for running SQLCMD from the command line includes a large number of different switches, and looks like this:
sqlcmd [ { { -U <login id> [ -P <password> ] } | -E } ] [-S <server name> [ \<instance name> ] ] [ -H <workstation name> ] [ -d <db name> ] [ -l <time out> ] [ -t <time out> ] [ -h <headers> ] [ -s <col separator> ] [ -w <col width> ] [ -a <packet size> ] [ -e ] [ -I ] [ -c <cmd end> ] [ -L [ c ] ] [ -q "<query>" ] [ -Q "<query>" ] [ -m <error level> ] [ -V ] [ -W ] [ -u ] [ -r [ 0 | 1 ] ] [ -i <input file> ] [ -o <output file> ] [ -f <codepage> | i:<codepage> [ <, o: <codepage> ] [ -k [ 1 | 2 ] ] [ -y <display width> ] [-Y <display width> ] [ -p [ 1 ] ] [ -R ] [ -b ] [ -v ] [ -A ] [ -X [ 1 ] ] [ -x ] [ -? ] ]
The single biggest thing to keep in mind with these flags is that many of them (but, oddly enough, not all of them) are case sensitive. For example, both -Q and -q will execute queries, but the first will exit SQLCMD when the query is complete, and the second won't.
So, let's try a quick query direct from the command line. Again, remember that this ...
Get Professional SQL Server™ 2005 Programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.