|
引用自微軟MSDN:http://msdn.microsoft.com/zh-cn/library/ms162773.aspx 一、輸入?yún)?shù) sqlcmd [{ { -U login_id [ -P password ] } | –E trusted connection }] [ -z new password ] [ -Z new password and exit] [ -S server_name [ \ instance_name ] ] [ -H wksta_name ] [ -d db_name ] [ -l login time_out ] [ -A dedicated admin connection ] [ -i input_file ] [ -o output_file ] [ -f < codepage > | i: < codepage > [ < , o: < codepage > ] ] [ -u unicode output ] [ -r [ 0 | 1 ] msgs to stderr ] [ -R use client regional settings ] [ -q 'cmdline query' ] [ -Q 'cmdline query' and exit ] [ -e echo input ] [ -t query time_out ] [ -I enable Quoted Identifiers ] [ -v var = 'value'...] [ -x disable variable substitution ] [ -h headers ][ -s col_separator ] [ -w column_width ] [ -W remove trailing spaces ] [ -k [ 1 | 2 ] remove[replace] control characters ] [ -y display_width ] [-Y display_width ] [ -b on error batch abort ] [ -V severitylevel ] [ -m error_level ] [ -a packet_size ][ -c cmd_end ] [ -L [ c ] list servers[clean output] ] [ -p [ 1 ] print statistics[colon format]] [ -X [ 1 ] ] disable commands, startup script, enviroment variables [and exit] [ -? show syntax summary ] [注釋]: 不必按語法部分所示的順序使用選項。 在返回多個結(jié)果時,sqlcmd 在批處理中的每個結(jié)果集之間輸出一個空行。此外,如果沒有應(yīng)用于已執(zhí)行的語句,則“<x> 行受影響”消息不會出現(xiàn)。 若要交互使用 sqlcmd,請在命令提示符處使用本主題前面介紹的一個或多個選項鍵入 sqlcmd。有關(guān)詳細(xì)信息,請參閱使用 sqlcmd 實用工具。
除 sqlcmd 中的 Transact-SQL 語句之外,還可使用以下命令:
使用 sqlcmd 命令時,請注意以下事項:
sqlcmd 文件名可以使用 -i 選項或 :r 命令指定 sqlcmd 輸入文件??梢允褂?-o 選項或 :Error、:Out 和 :Perftrace 命令指定輸出文件。以下是使用這些文件的一些原則:
信息性消息sqlcmd 將輸出由服務(wù)器發(fā)送的所有信息性消息。在以下示例中,執(zhí)行 Transact-SQL 語句后會輸出信息性消息。 在命令提示符下鍵入以下內(nèi)容: DE>sqlcmdDE> DE>At the sqlcmd prompt type:DE> DE>USE AdventureWorks;DE> DE>GODE> 按下 Enter 時,會輸出以下信息性消息:“已將數(shù)據(jù)庫上下文改為 'AdventureWorks'?!?/p> Transact-SQL 查詢的輸出格式sqlcmd 首先輸出列標(biāo)題,其中包含在選擇列表中指定的列名。列名使用 SQLCMDCOLSEP 字符分隔。默認(rèn)情況下,將使用空格。如果列名短于列寬,則使用空格填充輸出,直到下一列。 此行將跟隨一行分隔行,分隔行是一系列的破折號字符。以下輸出顯示了一個示例。 啟動 sqlcmd。在 sqlcmd 命令提示符下鍵入以下內(nèi)容: DE>USE AdventureWorks;DE> DE>SELECT TOP (2) ContactID, FirstName, LastName DE> DE>FROM Person.Contact;DE> DE>GO DE> 按下 Enter 時,會返回以下結(jié)果集。 DE>ContactID FirstName LastName DE> DE>----------- ------------ ----------DE> DE>1 Syed AbbasDE> DE>2 Catherine AbelDE> DE>(2 row(s) affected)DE> 雖然 DE>ContactIDDE> 列只有 4 個字符寬,但已將其擴(kuò)展以適應(yīng)更長的列名。默認(rèn)情況下,輸出會在 80 個字符處終止??赏ㄟ^使用 -w 選項或設(shè)定 SQLCMDCOLWIDTH 腳本變量來進(jìn)行更改。 XML 輸出格式從 FOR XML 子句得到的 XML 輸出是在連續(xù)流中的未格式化的輸出。 若要得到 XML 輸出,請使用以下命令:DE>:XML ONDE>。
若要關(guān)閉 XML 模式,請使用以下命令:DE>:XML OFFDE>。 發(fā)出 XML OFF 命令之前不應(yīng)顯示 GO 命令,因為 XML OFF 命令會將 sqlcmd 切換回面向行的輸出。 XML(流形式)數(shù)據(jù)和行集數(shù)據(jù)不能混合。如果在執(zhí)行輸出 XML 流的 Transact-SQL 語句之前未發(fā)出 XML ON 命令,則輸出將為亂碼。如果已發(fā)出 XML ON 指令,則無法執(zhí)行輸出常規(guī)行集的 Transact-SQL 語句。
sqlcmd 最佳方法使用以下方法來幫助實現(xiàn)最高的安全性和效率。
|
|
|
來自: 蘭亭文藝 > 《Database》