引用自微軟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 ] [注釋]: 不必按語(yǔ)法部分所示的順序使用選項(xiàng)。 在返回多個(gè)結(jié)果時(shí),sqlcmd 在批處理中的每個(gè)結(jié)果集之間輸出一個(gè)空行。此外,如果沒(méi)有應(yīng)用于已執(zhí)行的語(yǔ)句,則“<x> 行受影響”消息不會(huì)出現(xiàn)。 若要交互使用 sqlcmd,請(qǐng)?jiān)诿钐崾痉幨褂帽局黝}前面介紹的一個(gè)或多個(gè)選項(xiàng)鍵入 sqlcmd。有關(guān)詳細(xì)信息,請(qǐng)參閱使用 sqlcmd 實(shí)用工具。
除 sqlcmd 中的 Transact-SQL 語(yǔ)句之外,還可使用以下命令:
使用 sqlcmd 命令時(shí),請(qǐng)注意以下事項(xiàng):
sqlcmd 文件名可以使用 -i 選項(xiàng)或 :r 命令指定 sqlcmd 輸入文件。可以使用 -o 選項(xiàng)或 :Error、:Out 和 :Perftrace 命令指定輸出文件。以下是使用這些文件的一些原則:
信息性消息sqlcmd 將輸出由服務(wù)器發(fā)送的所有信息性消息。在以下示例中,執(zhí)行 Transact-SQL 語(yǔ)句后會(huì)輸出信息性消息。 在命令提示符下鍵入以下內(nèi)容: DE>sqlcmdDE> DE>At the sqlcmd prompt type:DE> DE>USE AdventureWorks;DE> DE>GODE> 按下 Enter 時(shí),會(huì)輸出以下信息性消息:“已將數(shù)據(jù)庫(kù)上下文改為 'AdventureWorks'?!?/p> Transact-SQL 查詢(xún)的輸出格式sqlcmd 首先輸出列標(biāo)題,其中包含在選擇列表中指定的列名。列名使用 SQLCMDCOLSEP 字符分隔。默認(rèn)情況下,將使用空格。如果列名短于列寬,則使用空格填充輸出,直到下一列。 此行將跟隨一行分隔行,分隔行是一系列的破折號(hào)字符。以下輸出顯示了一個(gè)示例。 啟動(dòng) 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 時(shí),會(huì)返回以下結(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 個(gè)字符寬,但已將其擴(kuò)展以適應(yīng)更長(zhǎng)的列名。默認(rèn)情況下,輸出會(huì)在 80 個(gè)字符處終止??赏ㄟ^(guò)使用 -w 選項(xiàng)或設(shè)定 SQLCMDCOLWIDTH 腳本變量來(lái)進(jìn)行更改。 XML 輸出格式從 FOR XML 子句得到的 XML 輸出是在連續(xù)流中的未格式化的輸出。 若要得到 XML 輸出,請(qǐng)使用以下命令:DE>:XML ONDE>。
若要關(guān)閉 XML 模式,請(qǐng)使用以下命令:DE>:XML OFFDE>。 發(fā)出 XML OFF 命令之前不應(yīng)顯示 GO 命令,因?yàn)?XML OFF 命令會(huì)將 sqlcmd 切換回面向行的輸出。 XML(流形式)數(shù)據(jù)和行集數(shù)據(jù)不能混合。如果在執(zhí)行輸出 XML 流的 Transact-SQL 語(yǔ)句之前未發(fā)出 XML ON 命令,則輸出將為亂碼。如果已發(fā)出 XML ON 指令,則無(wú)法執(zhí)行輸出常規(guī)行集的 Transact-SQL 語(yǔ)句。
![]() 使用以下方法來(lái)幫助實(shí)現(xiàn)最高的安全性和效率。
|
|
來(lái)自: 蘭亭文藝 > 《Database》