SQLServer知識:sqlcmd用法筆記

今天給大家介紹sqlcmd用法筆記,希望對大家能有所幫助!

1、介紹

sqlcmd是一個 Microsoft Win32 命令提示實用工具,可以通過該命令工具實現SQL語句、腳本的執行,并且可以實現腳本任務的自動化。

2、使用場景

2.1 針對大文件腳本的執行

腳本文件如果超過80兆,是不能夠直接在查詢編輯器執行的,會直接溢出報錯,當然如果你的腳本文件超過幾十兆,很有可能會造成SQLServer查詢編輯器卡死、無響應。這個問題可以使用sqlcmd命令來解決。

2.2 確保系統部署的穩定、準確

我們在進行系統部署的時候,由于業務邏輯的調整,經常會有好幾十個腳本文件需要執行,為了保證腳本執行不出差錯,可以通過sqlcmd命令。來進行腳本文件到線上環境的部署。這樣可以提高系統部署的質量、準確。

3、sqlcmd參數詳解

3.1 語法格式

[{ { -U login_id [ -P password ] } | –E trusted connection }]

[ -N encrypt connection ][ -C trust the server certificate ]

[ -z new password ] [ -Z new password and exit]

[ -S [protocol:]server[\instance_name][,port] ] [ -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]

3.2 參數說明

登錄相關選項

-A

使用專用管理員連接 (DAC) 登錄 SQL Server。此類型連接用于排除服務器故障。此連接僅適用于支持 DAC 的服務器計算機。如果 DAC 不可用,sqlcmd 會生成錯誤消息并退出。-A 選項和-G 選項不支持同時使用。

-C

該開關供客戶端用于將其配置為隱式表示信任服務器證書且無需驗證。此選項等價于 ADO.NET 選項 trustservercertificate = true。

-d db_name

啟動 sqlcmd 時會發出一個 USE db_name 語句用來指定要操作的數據庫名稱。此選項用來設置 sqlcmd 腳本變量 SQLCMDDBNAME。此參數指定初始數據庫。默認為您的登錄名的默認數據庫屬性。如果數據庫不存在,則生成錯誤消息且 sqlcmd退出。

-l login_timeout

指定在你嘗試連接到服務器時 sqlcmd 登錄 ODBC 驅動程序的超時時間(以秒為單位)。此選項設置 sqlcmd 腳本變量 SQLCMDLOGINTIMEOUT。登錄到 sqlcmd 的默認超時時間為 8 秒。當使用 -G 選項連接到 SQL 數據庫或 SQL 數據倉庫并使用 Azure Active Directory 進行身份驗證時,建議超時值至少為 30 秒。登錄超時必須是介于 0 和 65534 之間的數字。如果提供的值不是數值或不在此范圍內, sqlcmd 將生成錯誤消息。當值設置為 0 時,則允許無限制等待。

-E

使用信任連接而不是用戶名和密碼登錄 SQL Server服務。默認情況下,如果未指定 -E , sqlcmd 將使用信任連接選項。

-E 選項會忽略可能的用戶名和密碼環境變量設置,例如 sqlcmdpassword。如果將 -E 選項與 -U 選項或 -P 選項一起使用,將生成錯誤消息。

-g

將列加密設置設為 Enabled。有關詳細信息,請參閱 Always Encrypted。僅支持存儲在 Windows 證書存儲中的主密鑰。-g 開關至少需要 sqlcmd 版本 13.1。若要確定你的版本,請執行 sqlcmd -?。

-G

當連接到 SQL 數據庫或 SQL 數據倉庫時,客戶端將使用此開關指定該用戶使用 Azure Active Directory 身份驗證來進行身份驗證。此選項設置 sqlcmd 腳本變量 SQLCMDUSEAAD = true。-G 開關至少需要 sqlcmd 版本 13.1。若要確定你的版本,請執行 sqlcmd -?。有關詳細信息,請參閱 使用 Azure Active Directory 身份驗證連接到 SQL 數據庫或 SQL 數據倉庫。-A 選項不支持使用-G 選項。

選項僅適用于 Azure SQL 數據庫 和 Azure 數據倉庫。

-H workstation_name

工作站的名稱。此選項設置 sqlcmd 腳本變量 SQLCMDWORKSTATION。工作站名稱列出在 sys.sysprocesses 目錄視圖的 hostname 列中,并且可使用存儲過程 sp_who返回。如果不指定此選項,則默認為當前計算機名稱。此名稱可用來標識不同的 sqlcmd 會話。

-j 將原始錯誤消息輸出到界面上。

-K application_intent

連接到服務器時聲明應用程序工作負荷類型。目前唯一支持的值是 ReadOnly。如果未指定 -K ,sqlcmd 實用工具將不支持連接到 AlwaysOn 可用性組中的次要副本。有關詳細信息,請參閱活動次要副本:可讀次要副本(AlwaysOn 可用性組)

-M multisubnet_failover

在連接到 SQL Server 可用性組或 SQL Server 故障轉移群集實例的可用性組偵聽程序時,應始終指定 -M。-M 將為(當前)活動服務器提供更快的檢測和連接。如果不指定 –M ,則 -M 處于關閉狀態。有關詳細信息 [!包括ssHADR,創建和配置的可用性組的(SQL Server),故障轉移群集和 Alwayson 可用性組 (SQL Server),并活動次要副本:可讀次要副本 (Alwayson 可用性組)。

-N

此開關供客戶端用于請求加密連接。

-P password

用戶指定的密碼。密碼是區分大小寫的。如果使用了 -U 選項而未使用 -P 選項,并且未設置 SQLCMDPASSWORD 環境變量,則 sqlcmd 會提示用戶輸入密碼。我們不建議使用 null 密碼,但您可以通過連續雙引號一對用于參數值指定 null 密碼:

-P ""

建議使用強密碼。

如果將 -P 選項與 -E 選項一起使用,將生成錯誤消息。

如果 -P 選項后有多個參數,將生成錯誤消息并退出程序。

-S [協議:]server[\instance_name] [,* *端口]

指定要連接的 SQL Server 實例。它設置 sqlcmd 腳本變量 SQLCMDSERVER。

指定 server_name 可連接到該服務器計算機上的 SQL Server 默認實例。指定要連接到該服務器計算機上 SQL Server 命名實例的 server_name [ \instance_name ]。如果不指定服務器,sqlcmd 將連接到本地計算機上 SQL Server 的默認實例。從網絡上的遠程計算機執行 sqlcmd 時,此選項是必需的。

-U login_id

登錄名或包含的數據庫用戶名。對于包含的數據庫用戶,必須提供數據庫名稱選項 (-d)。

-z new_password

更改密碼:

sqlcmd -U someuser -P s0mep@ssword -z a_new_p@a$$w0rd

-Z new_password

更改密碼并退出:

sqlcmd -U someuser -P s0mep@ssword -Z a_new_p@a$$w0rd

4、sqlcmd 示例說明

4.1 登錄服務器

格式:sqlcmd -S 服務器名稱 -U 帳戶 -P 密碼

示例:sqlcmd -S "127.0.0.1" -U "sa" -P "sa"

4.2 直接執行SQL腳本

格式:sqlcmd -S 服務器名稱 -U 帳戶 -P 密碼 -d 數據庫 -i SQL腳本

示例:sqlcmd -S "127.0.0.1" -U "sa" -P "sa" -d "MyDB" -i "D:\test.sql" --執行腳本文件

sqlcmd -S "127.0.0.1" -U "sa" -P "sa" -d "MyDB" -q?"select * from UserInfo" -- 直接執行sql語句

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270872.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270872.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270872.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

aes c android ios,AES加密在iOS和Android中產生不同的結果

嘗試使用AES128算法加密樣本數據,在Android和iOS中使用CBC和PKCS7填充,但結果不同:(Android代碼&#xff1a;private static final byte[] KEY { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10};int srcBuffSiz 1024;byt…

樹形DP+樹狀數組 HDU 5877 Weak Pair

1 //樹形DP樹狀數組 HDU 5877 Weak Pair2 // 思路&#xff1a;用樹狀數組每次加k/a[i]&#xff0c;每個節點ansSum(a[i]) 表示每次加大于等于a[i]的值3 // 這道題要離散化4 5 #include <bits/stdc.h>6 using namespace std;7 #define LL long long8 typedef pair<int…

mysql一直拒絕登錄_mysql 登錄錯誤:1045 (28000)訪問被拒問題

關鍵條目&#xff1a;ERROR 1045(28000): Access deniedforuserrootlocalhost(using password: YES)這個錯誤1045(28000)的本質其實就是訪問被拒絕&#xff0c;問題原因也很簡單&#xff0c;就是用戶密碼不適用&#xff0c;也可以理解為用戶或密碼錯誤。Access deniedforuserro…

SQLServer書寫規范梳理

今天給大家分享SQLServer書寫規范筆記&#xff0c;希望對大家能有所幫助!1、在名稱中僅使用字母、數字和下劃線要在名稱中僅使用字母、數字和下劃線&#xff0c;主要是因為這些字符可以被方便的移植到編程語言中。在應用程序的數據庫和編程語言中能夠使用相同的屬性字段名稱&am…

android 屏幕旋轉不重新加載,Android webview旋轉屏幕導致頁面重新加載問題解決辦法...

Android webview旋轉屏幕導致頁面重新加載問題解決辦法1. 在create時候加個狀態判斷protected void onCreate(Bundle savedInstanceState){...if (savedInstanceState null){mWebView.loadUrl("your_url");}...}2. 重載保存狀態的函數&#xff1a;Overrideprotected…

visio調整形狀位置_VISIO繪圖技巧—三相橋式全控整流電路繪制

前些天有網友留言詢問如何畫三相橋式全控整流電路&#xff0c;一直沒時間回復。今天得閑在家&#xff0c;給大家介紹一下如何來畫。上圖是一個三相橋式全控整流電路原理圖&#xff0c;大部分圖形元件在VISIO自帶的圖形庫中都能找到&#xff0c;下面來看看如何找出我們需要的繪圖…

計算機組成原理——關于數據對齊存儲

計算機組成原理——關于數據對齊存儲 1. 綜述 博客&#xff1a;http://blog.csdn.net/cyxcw1/article/details/9080519(C/C數據邊界對齊的注意事項) 對齊&#xff1a;變量的起始地址為其大小的整數倍。如short型占兩個字節&#xff0c;其起始地址就要從偶數地址開始。 對齊可以…

電腦術語科普:什么是“顯卡交火”?

有時候看到別人在討論顯卡交火的話題&#xff0c;相信大家對顯卡交火這個術語了解得也比較少&#xff0c;那么它是什么意思呢? 顯卡交火簡單的說就是&#xff1a;讓兩塊或者多塊顯卡在一臺機子上協同工作&#xff0c;相比于使用一張顯卡圖形性能有所提升。 目前主流顯卡交火有…

Mac查看本機ip地址

Mac查看本機ip地址 ifconfig | grep "inet" 箭頭處為ip地址

python3.4 pip安裝_python3.4的pycurl pip安裝

我正在安裝pycurl for python3.4如果我運行“pip install pycurl”&#xff0c;我有&#xff1a;Downloading/unpacking pycurlRunning setup.py (path:C:\Users\kkw\AppData\Local\Temp\pip_build_kkw\pycurl\setup.py) egg_info for package pycurlPlease specify --curl-dir…

html頁面整體變灰,css實現網站整體變灰(兼容火狐)

天下興亡&#xff0c;匹夫有責。有時候我們可能需要將網站整體變灰&#xff0c;實現方法也很簡單。將下面代碼加入到 wordpress 主題目錄下的 style.css 文件中即可&#xff1a;/* 網站變灰代碼 */html{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filte…

SQL Azure與SQL Server兩者的對比介紹,看完你就懂了!

今天給大家SQL Azure與SQL Server兩者的對比介紹&#xff0c;看完你就懂了&#xff01;1、SQL Server介紹SQL Server數據庫服務方式是安裝在客戶提供的服務器內。客戶負責硬件、、軟件安裝、安全性、數據庫備份、災難恢復等相關的運維工作。需要較高的人為運維成本。2、SQL Azu…

如何用HTML語言設計進度條,html5代碼如何實現進度條功能?(示例)

本篇文章主要介紹html5代碼如何實現進度條功能&#xff0c;希望對大家有所幫助。html5代碼實現進度條功能具體代碼示例如下&#xff1a;/*實現進度條的功能*/下載進度&#xff1a;/*js代碼*/var pgdocument.getElementById(pg);setInterval(function(e){if(pg.value!100) pg.va…

Flink是什么

一&#xff1a;Flink是什么

sublime插件 TortioseSVN

TortioseSVN 可以安裝在sublime中&#xff0c;實現svn文件的增加、刪除、更新、提交等功能&#xff08;TortioseSVN用在window系統中&#xff0c;linux安裝svn&#xff09; 安裝&#xff1a; 首先在sublime中搜索安裝TortioseSVN&#xff0c;&#xff08;前提是安裝了package c…

python腳本 游戲賺金幣兌換錢_一種王者榮耀刷金幣方法(python腳本)

所用工具環境python3.6.5 和 支持自動鼠標鍵盤點擊等編程的pyautogui功能包windows PC&#xff0c;安卓模擬器bluestacks&#xff0c;安裝王者榮耀基本思路王者榮耀有闖關任務模式可以獲得金幣&#xff0c;任務兩三分鐘一般就可以完成&#xff0c;支持自動模式&#xff0c;一次…

SQL Server數據庫架構與對象相關知識筆記

1、數據庫架構簡介數據庫架構是從SQL Server2005版本之后引入的概念。數據庫架構獨立于創建它的數據厙用戶而存在&#xff0c;每個對象都屬于一個數據庫架構&#xff08;對象包括表、視圖、存儲過程、函數、觸發器等&#xff09;2、 數據庫、架構和數據庫對象數據庫架構是一個獨…

html ajax 數據傳送,HTML AJAX 簡單數據JS

ajax請求var xmlhttp;var data;//Mozilla ,chmore瀏覽器(將XMLHttpRequest對象作為本地瀏覽器對象來創建)if(window.XMLHttpRequest){ //Mozilla 瀏覽器xmlhttp new XMLHttpRequest();}else if(window.ActiveXObject) { //IE瀏覽器//IE瀏覽器(將XMLHttpRequest對象作為ActiveX…

轉換

1024字節1K 1024*10241M 1024K1M 1024M1G 字

蒙提霍爾悖論(三門問題)終極分析(補充)附完整源碼

上一篇文章分析了經典的蒙提霍爾問題&#xff0c;最后的結論是更換選擇后有2/3的機會中獎。蒙提霍爾問題到此已經完結&#xff0c;但事實卻并非如此。 在蒙提霍爾問題中&#xff0c;主持人事先知道汽車在哪個門后面&#xff0c;并且他一定會選擇沒有汽車的那扇門。如果我們稍稍…