程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL2005 SQLCMD參數命令詳解

SQL2005 SQLCMD參數命令詳解

編輯:關於SqlServer
 

要使用sqlcmd,請打開命令提示符後輸入sqlcmd。

當運行sqlcmd實用工具,可以使用以下參數,

用法: Sqlcmd [-U 登錄 ID] [-P 密碼]
[-S 服務器] [-H 主機名] [-E 可信連接]
[-d 使用數據庫名稱] [-l 登錄超時值] [-t 查詢超時值]
[-h 標題] [-s 列分隔符] [-w 屏幕寬度]
[-a 數據包大小] [-e 回顯輸入] [-I 允許帶引號的標識符]
[-c 命令結束] [-L[c] 列出服務器[清除輸出]]
[-q "命令行查詢"] [-Q "命令行查詢" 並退出]
[-m 錯誤級別] [-V 嚴重級別] [-W 刪除尾隨空格]
[-u unicode 輸出] [-r[0|1] 發送到 stderr 的消息]
[-i 輸入文件] [-o 輸出文件] [-z 新密碼]
[-f <代碼頁> | i:<代碼頁>[,o:<代碼頁>]] [-Z 新建密碼並退出]
[-k[1|2] 刪除[替換]控制字符]
[-y 可變長度類型顯示寬度]
[-Y 固定長度類型顯示寬度]
[-p[1] 打印統計信息[冒號格式]]
[-R 使用客戶端區域設置]
[-b 出錯時中止批處理]
[-v 變量 = "值"...] [-A 專用管理連接]
[-X[1] 禁用命令、啟動腳本、環境變量[並退出]]
[-x 禁用變量情況]
[-? 顯示語法摘要]

 

最常用的選項如下:

服務器選項(-S),用於標識 sqlcmd 連接到的 Microsoft SQL Server 實例。
身份驗證選項(-E、-U 和 -P),用於指定 sqlcmd 連接到 SQL Server 實例所使用的憑據。

注意:
-E 選項為默認選項,毋須指定。

輸入選項(-Q、-q 和 -i),用於標識 sqlcmd 輸入的位置。
輸出選項(-o),用於指定 sqlcmd 輸出所在的文件。

以下是 sqlcmd 實用工具的常見用法:

使用 Windows 身份驗證連接到默認實例,以交互方式運行 Transact-SQL 語句:

sqlcmd -S <ComputerName>

注意:
上述示例中,未指定 -E,因為它是默認選項,而且 sqlcmd 使用 Windows 身份驗證連接到默認實例。

使用 Windows 身份驗證連接到命名實例,以交互方式運行 Transact-SQL 語句:

sqlcmd -S <ComputerName>\<InstanceName>

或者

sqlcmd -S .\<InstanceName>

使用 Windows 身份驗證連接到命名實例,並指定輸入和輸出文件:

sqlcmd -S <ComputerName>\<InstanceName> -i <MyScript.sql> -o <MyOutput.rpt>

使用 Windows 身份驗證連接到本地計算機上的默認實例,執行查詢,並在查詢運行完畢後使 sqlcmd 保持運行狀態:

sqlcmd -q "SELECT * FROM AdventureWorks.Person.Contact"

使用 Windows 身份驗證連接到本地計算機上的默認實例,執行查詢,將輸出定向到某個文件,並在查詢運行完畢後使 sqlcmd 退出:

sqlcmd -Q "SELECT * FROM AdventureWorks.Person.Contact" -o MyOutput.txt

使用 SQL Server 身份驗證連接到命名實例,以交互方式運行 Transact-SQL 語句,並由 sqlcmd 提示輸入密碼:

sqlcmd -U MyLogin -S <ComputerName>\<InstanceName>

注意:
若要查看 sqlcmd 實用工具所支持選項的列表,請運行:sqlcmd -?。
 

使用 sqlcmd 以交互方式運行 Transact-SQL 語句

您可以使用 sqlcmd 實用工具以交互方式在命令提示符窗口中執行 Transact-SQL 語句。若要使用 sqlcmd 以交互方式執行 Transact-SQL 語句,請在未使用 -Q、-q、-Z 或 -i 選項指定任何輸入文件或查詢的情況下運行實用工具。例如:

sqlcmd -S <ComputerName>\<InstanceName>

在未指定輸入文件或查詢的情況下執行命令時,sqlcmd 連接到 SQL Server 的指定實例,然後顯示一個新行,其中包含 1> 並且後面跟著一個閃爍的下劃線(稱為 sqlcmd 提示符)。1 表示這是 Transact-SQL 語句的第一行,而 sqlcmd 提示符則是您鍵入 Transact-SQL 語句的起點。

在 sqlcmd 提示符中,可以鍵入 Transact-SQL 語句和 sqlcmd 命令,如 GO 和 EXIT。每個 Transact-SQL 語句放在稱為“語句緩存”的緩沖區中。鍵入 GO 命令並按 Enter 鍵後,這些語句將發送到 SQL Server。若要退出 sqlcmd,請在新行開始處鍵入 EXIT 或 QUIT。

若要清除語句緩存,請鍵入 :RESET。鍵入 ^C 將使 sqlcmd 退出。在發出 GO 命令後,還可以用 ^C 停止語句緩存的執行。

通過在 sqlcmd 提示符中輸入 :ED 命令,可以編輯交互式會話中輸入的 Transact-SQL 語句。編輯器將打開,編輯 Transact-SQL 語句並關閉編輯器後,修改後的 Transact-SQL 語句將顯示於命令窗口中。輸入 GO 以運行修改後的 語句。


帶引號的字符串

用引號引起來的字符無需任何額外的預處理即可使用。例外,輸入兩個連續的引號可以將引號插入字符串中,SQL Server 將這種字符序列視作一個引號。(但在服務器上會進行轉換。)當腳本變量出現在字符串中時,不會展開它們。

例如:

sqlcmd

PRINT "Length: 5"" 7'"

GO

下面是結果集:

Length: 5" 7'
 

跨多行的字符串

sqlcmd 支持包含跨多行的字符串的腳本。例如,下面的 SELECT 語句跨多行,但鍵入 GO 並按 Enter 鍵後,將執行單個字符串。

SELECT First line

FROM Second line

WHERE Third line

GO
 

交互式 sqlcmd 示例

本示例說明了以交互方式運行 sqlcmd 的過程。

打開命令提示符窗口時,出現如下一行內容:

C:\> _

這表示文件夾 C:\ 為當前文件夾,如果您指定文件名,則 Windows 將在此文件夾中查找這個文件。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved