乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      sqlcmd命令詳解

       蘭亭文藝 2022-06-18 發(fā)布于加拿大

      引用自微軟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í)用工具。

      注意:
      -L、-Q、-Z-i 選項(xiàng)會(huì)導(dǎo)致 sqlcmd 在完成執(zhí)行后退出。
      二、sqlcmd 命令

      sqlcmd 中的 Transact-SQL 語(yǔ)句之外,還可使用以下命令:

       

      GO [count]

      :List

      [:] RESET

      :Error

      [:] ED

      :Out

      [:] !!

      :Perftrace

      [:] QUIT

      :Connect

      [:] EXIT

      :On Error

      :r

      :Help

      :ServerList

      :XML [ON | OFF]

      :Setvar

      :Listvar

      使用 sqlcmd 命令時(shí),請(qǐng)注意以下事項(xiàng):

      • 除 GO 以外,所有 sqlcmd 命令必須以冒號(hào) (:) 為前綴。

        ms162773.note(zh-cn,SQL.100).gif重要提示:
        為了保持現(xiàn)有 osql 腳本的向后兼容性,有些命令會(huì)被視為不帶冒號(hào)。這由 [:] 指示。
      • sqlcmd 命令只有出現(xiàn)在一行的開(kāi)頭時(shí),才能夠被識(shí)別。

      • 所有 sqlcmd 命令都不區(qū)分大小寫(xiě)。

      • 每個(gè)命令都必須位于單獨(dú)的行中。命令后面不能跟隨 Transact-SQL 語(yǔ)句或其他命令。

      • 命令將被立即執(zhí)行。它們與 Transact-SQL 語(yǔ)句不同,不會(huì)放在執(zhí)行緩沖區(qū)中。

      • 編輯命令


      • [:] ED

      • 啟動(dòng)文本編輯器。該編輯器可以用來(lái)編輯當(dāng)前的 Transact-SQL 批處理或上次執(zhí)行的批處理。若要編輯上次執(zhí)行的批處理,必須在上一批處理執(zhí)行完之后立即鍵入 ED 命令。

        文本編輯器由 SQLCMDEDITOR 環(huán)境變量定義。默認(rèn)編輯器為“Edit”。若要更改編輯器,請(qǐng)?jiān)O(shè)置 SQLCMDEDITOR 環(huán)境變量。例如,若要將編輯器設(shè)置為 Microsoft 記事本,請(qǐng)?jiān)诿钐崾痉庢I入:

        DE>SET SQLCMDEDITOR=notepadDE>

      • [:] RESET

      • 清除語(yǔ)句緩存。

      • :List

      • 輸出語(yǔ)句緩存的內(nèi)容。

      • 變量


      • :Setvar <var> [ 'value' ]

      • 定義 sqlcmd 腳本變量。腳本變量具有如下格式:DE>$(VARNAME)DE>。

        變量名稱(chēng)不區(qū)分大小寫(xiě)。

        可以通過(guò)下列方式設(shè)置腳本變量:

        • 隱式使用命令行選項(xiàng)。例如,-l 選項(xiàng)設(shè)置 SQLCMDLOGINTIMEOUT sqlcmd 變量。

        • 顯式使用 :Setvar 命令。

        • 在運(yùn)行 sqlcmd 之前定義一個(gè)環(huán)境變量。

        ms162773.note(zh-cn,SQL.100).gif注意:
        -X 選項(xiàng)可防止將環(huán)境變量傳遞給 sqlcmd

        如果使用 :Setvar 定義的變量和某個(gè)環(huán)境變量同名,則使用 :Setvar 定義的變量?jī)?yōu)先。

        變量名中不能包含空格字符。

        變量名不能與變量表達(dá)式(如 $(var))具有相同的形式。

        如果腳本變量的字符串值中含有空格,請(qǐng)用引號(hào)將該值引起來(lái)。如果未指定腳本變量的值,則將刪除該腳本變量。

      • :Listvar

      • 顯示當(dāng)前設(shè)置的腳本變量列表。

        ms162773.note(zh-cn,SQL.100).gif注意:
        只顯示由 sqlcmd 設(shè)置的腳本變量和使用 :Setvar 命令設(shè)置的腳本變量。
      • 輸出命令


      • :Error < filename >| STDERR|STDOUT

      • 將所有錯(cuò)誤輸出重定向到 file name 指定的文件、stderrstdoutError 命令可以在一個(gè)腳本中多次出現(xiàn)。默認(rèn)情況下,錯(cuò)誤輸出將發(fā)送到 stderr。

        • file name

        • 創(chuàng)建并打開(kāi)一個(gè)要接收輸出的文件。若該文件已經(jīng)存在,則將其截?cái)酁榱阕止?jié)。若該文件不可用(由于權(quán)限或其他原因),將不會(huì)切換輸出,也不會(huì)將輸出發(fā)送到上次指定的目標(biāo)或默認(rèn)目標(biāo)。

        • STDERR

        • 將錯(cuò)誤輸出切換至 stderr 流。如果已經(jīng)重定向,流的重定向目標(biāo)將會(huì)收到錯(cuò)誤輸出。

        • STDOUT

        • 將錯(cuò)誤輸出切換至 stdout 流。如果已經(jīng)重定向,流的重定向目標(biāo)將會(huì)收到錯(cuò)誤輸出。

      • :Out < filename>| STDERR| STDOUT

      • 創(chuàng)建所有查詢(xún)結(jié)果并將它們重定向到 file name 指定的文件、stderrstdout。默認(rèn)情況下,輸出將發(fā)送到 stdout。若該文件已經(jīng)存在,則將其截?cái)酁榱阕止?jié)。Out 命令可以在一個(gè)腳本中多次出現(xiàn)。

      • :Perftrace < filename>| STDERR| STDOUT

      • 創(chuàng)建所有性能跟蹤信息并將它們重定向到 file name 指定的文件、stderrstdout。默認(rèn)情況下,性能跟蹤輸出將發(fā)送到 stdout。若該文件已經(jīng)存在,則將其截?cái)酁榱阕止?jié)。Perftrace 命令可以在一個(gè)腳本中多次出現(xiàn)。

      • 執(zhí)行控制命令


      • :On Error[ exit | ignore]

      • 設(shè)置在腳本或批處理執(zhí)行過(guò)程中發(fā)生錯(cuò)誤時(shí)要執(zhí)行的操作。

        使用 exit 選項(xiàng)時(shí),sqlcmd 退出,并顯示相應(yīng)的錯(cuò)誤值。

        使用 ignore 選項(xiàng)時(shí),sqlcmd 會(huì)忽略錯(cuò)誤,并繼續(xù)執(zhí)行批處理或腳本。默認(rèn)情況下,會(huì)輸出錯(cuò)誤消息。

      • [:] QUIT

      • 導(dǎo)致 sqlcmd 退出。

      • [:] EXIT[ (statement) ]

      • 允許您將 SELECT 語(yǔ)句的結(jié)果用作 sqlcmd 的返回值。第一個(gè)結(jié)果行的第一列轉(zhuǎn)換為 4 字節(jié)的整數(shù)(長(zhǎng)整型)。MS-DOS 將低字節(jié)傳遞給父進(jìn)程或操作系統(tǒng)錯(cuò)誤級(jí)別。Windows 200x 傳遞整個(gè) 4 字節(jié)整數(shù)。語(yǔ)法為:

        DE>:EXIT(query)DE>

        例如:

        DE>:EXIT(SELECT @@ROWCOUNT)DE>

        您還可以在批處理文件中包含 EXIT 參數(shù)。例如,在命令提示符處鍵入:

        DE>sqlcmd -Q 'EXIT(SELECT COUNT(*) FROM '%1')'DE>

        sqlcmd 實(shí)用工具將圓括號(hào) ( ) 中的所有內(nèi)容發(fā)送給服務(wù)器。如果系統(tǒng)存儲(chǔ)過(guò)程選擇了一個(gè)集合并返回一個(gè)值,則僅返回選擇的內(nèi)容。如果圓括號(hào)中沒(méi)有任何內(nèi)容,則 EXIT ( ) 語(yǔ)句會(huì)執(zhí)行批處理中此語(yǔ)句前的所有內(nèi)容,然后退出,且不返回任何值。

        當(dāng)指定了錯(cuò)誤查詢(xún)時(shí),sqlcmd 將退出,且不返回任何值。

        下面是 EXIT 格式的列表:

        • :EXIT

        不執(zhí)行批處理就立即退出,無(wú)返回值。

        • :EXIT( )

        執(zhí)行批處理后退出,不返回值。

        • :EXIT(query)

        執(zhí)行包括查詢(xún)的批處理,返回查詢(xún)的結(jié)果后退出。

        如果在 sqlcmd 腳本中使用 RAISERROR,并且出現(xiàn)狀態(tài) 127,則 sqlcmd 將退出,并將消息 ID 返回給客戶(hù)端。例如:

        DE>RAISERROR(50001, 10, 127)DE>

        該錯(cuò)誤會(huì)導(dǎo)致 sqlcmd 腳本終止并將消息 ID 50001 返回給客戶(hù)端。

        SQL Server 保留了介于 -1 到 -99 之間的返回值;sqlcmd 定義了以下附加返回值:

         

        返回值說(shuō)明

        -100

        選擇返回值前遇到錯(cuò)誤。

        -101

        選擇返回值時(shí)找不到行。

        -102

        選擇返回值時(shí)發(fā)生轉(zhuǎn)換錯(cuò)誤。

      • GO [count]

      • GO 在批處理和執(zhí)行任何緩存 Transact-SQL 語(yǔ)句結(jié)尾時(shí)會(huì)發(fā)出信號(hào)。在為 count 指定一個(gè)值時(shí),緩存的語(yǔ)句會(huì)被作為單個(gè)批處理執(zhí)行 count 次。

      • 其他命令


      • :r < filename>

      • 將來(lái)自通過(guò) <filename>所指定文件的其他 Transact-SQL 語(yǔ)句和 sqlcmd 命令分析到語(yǔ)句緩存中。

        如果文件包含的 Transact-SQL 語(yǔ)句后面沒(méi)有跟隨 GO,則必須在 :r 的后一行中輸入 GO。

        ms162773.note(zh-cn,SQL.100).gif注意:
        系統(tǒng)會(huì)相對(duì)于 sqlcmd 在其中運(yùn)行的啟動(dòng)目錄讀取 <filename>。

        當(dāng)遇到批處理終止符之后,將讀取并執(zhí)行該文件??梢园l(fā)出多個(gè) :r 命令。該文件可以包含任何 sqlcmd 命令。包括批處理終止符 GO

        ms162773.note(zh-cn,SQL.100).gif注意:
        每遇到一個(gè) :r 命令,交互模式下顯示的行計(jì)數(shù)都會(huì)加一。:r 命令會(huì)出現(xiàn)在 list 命令的輸出中。
      • :Serverlist

      • 列出在本地配置的服務(wù)器和在網(wǎng)絡(luò)上廣播的服務(wù)器的名稱(chēng)。

      • :Connect server_name[\instance_name] [-l timeout] [-U user_name [-P password]]

      • 連接到 SQL Server 的一個(gè)實(shí)例。同時(shí)關(guān)閉當(dāng)前的連接。

        超時(shí)選項(xiàng):

         

        0

        永遠(yuǎn)等待

        n>0

        等待 n 秒鐘

        SQLCMDSERVER 腳本變量將反映當(dāng)前的活動(dòng)連接。

        如果未指定 timeout,則其默認(rèn)值將為 SQLCMDLOGINTIMEOUT 變量的值。

        僅當(dāng)指定了 user_name(作為選項(xiàng)或環(huán)境變量)時(shí),才會(huì)提示用戶(hù)輸入密碼。如果已設(shè)置 SQLCMDUSER 或 SQLCMDPASSWORD 環(huán)境變量,則不會(huì)出現(xiàn)此提示。如果既未提供選項(xiàng),又未提供環(huán)境變量,則使用 Windows 身份驗(yàn)證模式登錄。例如,若要使用集成安全性連接到 SQL Server DE>myserverDE> 的一個(gè)實(shí)例(如 DE>instance1DE>),則會(huì)使用以下內(nèi)容:

        DE>:connect myserver\instance1DE>

        若要使用腳本變量連接到 DE>myserverDE> 的默認(rèn)實(shí)例,您會(huì)使用以下內(nèi)容:

        DE>:setvar myusername testDE>

        DE>:setvar myservername myserverDE>

        DE>:connect $(myservername) $(myusername)DE>

      • [:] !!< command>

      • 執(zhí)行操作系統(tǒng)命令。若要執(zhí)行操作系統(tǒng)命令,請(qǐng)用兩個(gè)感嘆號(hào) (!!) 開(kāi)始一行,后面輸入操作系統(tǒng)命令。例如:

        DE>:!! DirDE>

        ms162773.note(zh-cn,SQL.100).gif注意:
        該命令在運(yùn)行 sqlcmd 的計(jì)算機(jī)上執(zhí)行。
      • :XML [ON | OFF]

      • 有關(guān)詳細(xì)信息,請(qǐng)參閱本主題后面的“XML 輸出格式”

      • :Help

      • 列出 sqlcmd 命令以及每個(gè)命令的簡(jiǎn)短說(shuō)明。

      sqlcmd 文件名

      可以使用 -i 選項(xiàng)或 :r 命令指定 sqlcmd 輸入文件。可以使用 -o 選項(xiàng)或 :Error、:Out:Perftrace 命令指定輸出文件。以下是使用這些文件的一些原則:

      • :Error、:Out:Perftrace 應(yīng)使用不同的 <filename>。如果使用了相同的 <filename>,這些命令的輸入可能會(huì)混雜在一起。

      • 如果從本地計(jì)算機(jī)的 sqlcmd 調(diào)用遠(yuǎn)程服務(wù)器上的輸入文件,并且該文件包含驅(qū)動(dòng)器文件路徑(如 :out c:\OutputFile.txt),將在本地計(jì)算機(jī)而不是遠(yuǎn)程服務(wù)上創(chuàng)建輸出文件。

      • 有效的文件路徑包括:C:\<filename>、\\<服務(wù)器>\<共享$>\<filename> 和 'C:\Some Folder\<file name>'。如果路徑中包含空格,請(qǐng)使用引號(hào)。

      • 每個(gè)新的 sqlcmd 會(huì)話都將覆蓋現(xiàn)有的同名文件。

      信息性消息

      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>。

      ms162773.note(zh-cn,SQL.100).gif注意:
      sqlcmd 將采用常見(jiàn)的格式返回錯(cuò)誤消息。請(qǐng)注意,XML 文本流中的錯(cuò)誤消息還將采用 XML 格式輸出。如果使用 DE>:XML ONDE>,則 sqlcmd 不顯示信息性消息。

      若要關(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ǔ)句。

      ms162773.note(zh-cn,SQL.100).gif注意:
      :XML 命令不支持 SET STATISTICS XML 語(yǔ)句。
      sqlcmd Utility詳解 - 創(chuàng)新遠(yuǎn)大 - 創(chuàng)新遠(yuǎn)大  sqlcmd 最佳方法

      使用以下方法來(lái)幫助實(shí)現(xiàn)最高的安全性和效率。

      • 使用集成安全性。

      • 在自動(dòng)化環(huán)境中使用 -X

      • 使用適當(dāng)?shù)?NTFS 文件系統(tǒng)權(quán)限保護(hù)輸入文件和輸出文件。

      • 若要提高性能,請(qǐng)?jiān)谝粋€(gè) sqlcmd 會(huì)話中執(zhí)行盡可能多的操作,而不是在一系列會(huì)話中來(lái)執(zhí)行這些操作。

      • 將批處理或查詢(xún)執(zhí)行的超時(shí)值設(shè)置為大于您所預(yù)期的值。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多