Ⅰ OSQL 在dos下輸出格式設置
是osql
osql :sqlserver外部命令工具,說白了就是微軟作的一個exe程序可以連本機伺服器或者其他伺服器
-S 指定sql資料庫伺服器
-U 用戶名
-P 密碼
-d 資料庫
-i 使用輸入文件
%cd%\ windows環境變數,映射到實際的目錄
PCEDI_put_ASNData.sql 可以執行的sql文件
=================================================
其他參數:
view plain to clipboardprint?
-S server_name[\instance_name]
指定要連接到的 Microsoft SQL Server 實例。指定 server_name 將連接到該伺服器上 SQL Server 的默認實例。指定 server_name\instance_name 將連接到該伺服器上 SQL Server 的某個命名實例。如果未指定伺服器,osql 將連接到本地計算機上的 SQL Server 默認實例。從網路上的遠程計算機執行 osql 時,此選項是必需的。
-H wksta_name
工作站名稱。工作站名稱存儲在 sysprocesses.hostname 中,並按 sp_who 顯示。如果不指定此選項,則採用當前計算機名稱。
-d db_name
啟動 osql 時發出一個 USE db_name 語句。
-l time_out
指定 osql 登錄超時之前的秒數。登錄 osql 的默認超時時間為 8 秒。
-t time_out
指定命令超時之前的秒數。如果不指定 time_out 值,則命令不會超時。
-h headers
指定要在列標題之間列印的行數。默認為每一組查詢結果列印一次標題。使用 -1 可指定不列印標題。如果使用 -1,則在參數和設置橡悶冊之間一定不能有空格(可以是 -h-1,不能是 -h -1)。
-s col_separator
指定列分隔符字元,默認值為空格。若要使用對操作系統有特殊含義的字元(例如 | ; & < >),請將該字元用雙引號 (") 括起來。
-w column_width
允許用戶設置屏幕輸出的寬度。默認為 80 個字元。當輸出行達到其最大屏幕寬度時,會拆分為多行。
-a packet_size
允許您請求不同大小的數據包。packet_size 的有效值在 512 到 65535 之間。osql 的默認值為伺服器的默認值。執行較大的腳本時,各個 GO 命令之間的 SQL 語句的數量是梁宏龐大的,因此增大數據包可以提高性能。Microsoft 的測試表明大容罩擾量復制操作的最快設置通常為 8192。可以請求更大的數據包,但如果請求不能得到批准,則 osql 會將此值默認為伺服器的默認值。
-e
回顯輸入。
-I
將 QUOTED_IDENTIFIER 連接選項設置為開啟。
-D data_source_name
連接到用 ODBC 驅動程序為 Microsoft SQL Server 定義的 ODBC 數據源。osql 連接使用該數據源中指定的選項。
注意:
此選項不適用於為其它驅動程序定義的數據源。
-c cmd_end
指定命令終止符。默認情況下,可以在行中輸入一個單獨的 GO 來終止命令,並將該命令發送到 SQL Server。如果要重置命令終止符,請勿使用對操作系統有特殊含義的 Transact-SQL 保留字或字元,無論其前面是否有反斜杠。
-q " query "
啟動 osql 時執行查詢,但在查詢完成時不退出 osql。(注意查詢語句不應包含 GO)。如果從批處理文件中發出查詢,請使用 %variables 或環境 %variables%。例如:
復制代碼
SET table=sys.objects
osql -E -q "select name, object_id from %table%"
將查詢用雙引號括起來,將查詢中嵌入的任何內容用單引號括起來。
-Q " query "
執行查詢並立即退出 osql。將查詢用雙引號括起來,將查詢中嵌入的任何內容用單引號括起來。
-n
從輸入行中刪除編號和提示符號 (>)。
-m error_level
自定義錯誤信息的顯示。顯示指定的或更高嚴重級別的錯誤的消息數、狀態和錯誤級別。不顯示低於指定級別的錯誤的信息。使用 -1 可以指定返回所有標題及其消息,即使是信息型消息。如果使用 -1,則在參數和設置之間不能有空格(可以是 -m-1,不能是 -m -1)。
-r
將消息輸出重定向到屏幕 (stderr)。如果不指定參數,或指定參數為 0,則僅重定向嚴重級別為 11 或更高的錯誤信息。如果指定參數為 1,則將重定向所有消息輸出(包括「print」)。
-i input_file
標識包含一批 SQL 語句或存儲過程的文件。小於 (<) 比較運算符可以代替 -i 使用。
-o output_file
標識從 osql 接收輸出的文件。大於 (>) 比較運算符可以代替 -o 使用。
如果 input_file 不是 Unicode,並且未指定 -u,則 output_file 將存儲為 OEM 格式。如果 input_file 是 Unicode,或指定了 -u,則 output_file 將存儲為 Unicode 格式。
-p
列印性能統計信息
-b
指定發生錯誤時,osql 退出並返回一個 DOS ERRORLEVEL 值。如果 SQL Server 錯誤消息的嚴重級別為 11 或更高,DOS ERRORLEVEL 變數返回的值為 1;否則,返回的值為 0。Microsoft MS-DOS 批處理文件可以測試 DOS ERRORLEVEL 的值,並進行適當的處理。
-u
指定 output_file 存儲為 Unicode 格式,而不考慮 input_file 的格式。
-R
指定在將貨幣、日期和時間數據轉換為字元數據時,SQL Server ODBC 驅動程序使用客戶端設置。
-O
指定為與 isql 的早期版本行為匹配,停用某些 osql 功能。下列功能停用:
EOF 批處理
自動調整控制台寬度
寬消息
同時還將 DOS ERRORLEVEL 的默認值設置為 -1。
本文來自CSDN博客,轉載請標明出處:
Ⅱ osql' 不是內部或外部命令,也不是可運行的程序,還有SQL SERVER口令怎麼弄
sa的密碼如果哪畝忘記了,可以在櫻緩耐伺服器上,使用操作系統的用戶登錄sqlserver,然後修改就一下密碼就可以了。
第脊春一個錯誤,可能是因為你的機器上沒有安裝sqlserver。如果你安裝了,那把目錄轉換到安裝目錄下,才運行osql
Ⅲ 為什麼我在輸入dos指令後總顯示" 不是內部或外部命令,也不是可運行的程序或批處理文件
你需要一個path命令引導,
CMD下默中猛認只載入最基本的DOS命令,
換彎彎句話說,電腦壓根不知道你這個osql.exe在哪裡。
也有可能是命令格式不埋培悶正確,dos下可以打 命令加/?查看具體用法。
Ⅳ 如何在SQL伺服器上重置SA密碼 4種方法來在SQL伺服器上重置SA密碼
目錄方法1:方法1:從命令提示符中更改SA密碼1、打開命令提示符,前往SQL伺服器,輸入命令osql _L。2、復制SQL伺服器全名,輸入:OSQL -S <這里輸入伺服器的名稱> -E。3、執行以下4、完成重置。方法2:方法2:使用SSMS重置SA密碼1、打開SSMS管理器。2、用windows身份驗證連接SQL伺服器。3、打開後,在左側的對象資源管理器中展開"安全性",在登錄名下找到"sa"用戶。4、在"密碼"和"確認密碼"欄前方輸入新密碼,點擊確定。方法3:方法3:使用SQL密碼恢復工具重置SA密碼1、運行SQL密碼恢復程序,然後點擊"打開"來導入master.mdf文件。2、選擇SA用戶名來重置忘記的SA密碼,或選擇其它忘記密碼的用戶名。3、輸入新密碼,點擊"確定"。方法4:方法4:當SA已被禁用時1、這是一種額外的復雜方案。2、使用命令行的-m標簽命令,以單個用戶身份打開SQL伺服器。3、以管理員身份運行。4、在伺服器身份頁面,選擇系統管理員,然後重置密碼。SA用戶(「系統管理員」的簡稱)是MS SQL伺服器的管理者賬戶。如果忘記伺服器管理員賬戶的密碼該怎麼辦呢?難道要重新安裝SQL伺服器或放棄所有數據內容嗎?不管出於何種原因,如果你忘記了伺服器的管理賬戶密碼,並且被告知你無權進行更局滾改,這篇文章將教給你幾種重置SQL伺服器SA密碼的方法。
方法1:方法1:從命令提示符中更改SA密碼
1、打開命令提示符,前往SQL伺服器,輸入命令osql _L。
2、復制SQL伺服器全名,輸入:OSQL -S <這里輸入伺服器的名稱> -E。
3、執行以下命令:sp_password NULL, 『<這里插入新密碼>』, 』sa』
4、完成重置。
方法2:方法2:使用SSMS重置SA密碼
1、打開SSMS管理器。它通常位於開始菜單 -> 所有程序 -> "Microsoft SQL Server 2005" -> 找到"SQL Server Management Studio"程序。
2、用windows身份驗證連接SQL服務桐脊余器。
3、打開後,在左側的對象資源管理器中展開"安全性",在登錄名下找到"sa"用戶。右鍵點擊它,選擇屬性。
4、在"密碼"和"確認密碼"欄前方輸入新密碼,點擊確定。
方法3:方法3:使用SQL密碼恢復工具重置SA密碼
1、運行SQL密碼恢復程序,然後點擊"打開"來導入master.mdf文件。
2、選擇SA用戶名來重置忘記的SA密碼,或選擇其它忘記密碼的用戶名。點擊"更改密碼"來重置密碼。
3、輸入新密碼,點擊"確定"。
方法4:方法4:當SA已被禁用時
1、這是一種額外的復雜方案。有時候你會遇到SA被禁用的情況。
2、使用命令行的-m標簽命令,以單個用戶身份打開SQL伺服器。
3、以管理員身份運行。
4、在伺服器身份頁面,選擇系統管理員,然後重置密碼。
小提示 重置SA密碼最簡單有效的方法是使用SQL密碼恢復工具。你可以使用幾種SQL密碼恢復工具來成功重野蠢置SQL的SA密碼。如,「SQL Password Geeker」程序、「SQL Password Rescuer」程序。
Ⅳ osql工具如何使用
osql是一種命令行工具,可以互動式地執行Transact-SQL腳本語句。如果想使用osql,用戶必須理解Transact-SQL這種腳本語言,並且熟悉如何在命令行方式下執行腳本語句。 osql使用SQL Server ODBC(開放式資料庫連接)同伺服器進行通訊,它會受到ODBC應用程序編程介面(APl)的影響和限制。 你可以直接在操作系統中運行osql命令行工具,也從批文件或命令行運行這個程序。一個批是一組Transact-SQL語句,它們被一同提交給SQL Server並作為一個組語句執行。運行osql時有一些選項,這些選項是區分大小寫的。 1、使用交互模式(Interactive Mode) osql命令行工具接受Transact-SQL語句並把它余歷槐們互動式地傳給SQL Server。返回的結果將按格式顯示在顯示器屏幕上。使用GO語句執行當前輸入緩沖區中的Transact-SQL語句。使用Qtilt或EXIT語句從osql命令行工具中退出。 2、使用腳本運行模式(Script Execution Mode) 輸入單行Transact-SQL語句並執行,用戶通過這種方式提交一個osql批,也可以給osql指定一個包含Transact-SQL語句的腳本文件。語句執行後的輸出結果通常被保存爛盯在一個文本文件( *.txt)中,但輸出結果也可以被顯示在屏幕上。 Osql的部分語法如下: osql [-Sserver_name] [-E] [-U login_id] [-P password] [-I input_file] [-O output_file][-?] 注意:osql語句中的參數是區分大小寫的。 參數 說明 -S server_name 指定將要連接的SQL Server伺服器名稱。server_name是網路上安裝了SQL Server的計算機名。如果你想從網路上遠程執行osql,一定要提供這個參數。 -E 使用可信任連接,此時不需提供口令。 -U login_id 用戶的登錄ID。這個登錄名是區分大小寫的。如果既沒有使用-U,也沒使用-P,SQL Server使用當前登錄的用戶賬號,而且不需輸入口令。
-P password 用戶指定的口令。如果沒有使用-P選項,osql將會提示你輸入一個口令;如果-P出現在命令的結尾,並且沒有指定任何口令,osql將使用默認的口令NULL。口令也區分大小寫。如果既沒有使用-P,也沒有使用-U,SQL Server使用當前登錄的用戶賬號信息,並且不需要輸入口令。 - i input=file 指定一個包含一豎友組Transact-SQL語句的批腳本文件,或者一個存儲過程。 -o output_file 指定由osql返回的輸出文件。如果使用「-o」指定了輸出文件,且輸入文件是Unicode型文件,則輸出文件也是Unicode文件。
Ⅵ sql2005如何導入腳本
1. SQL server2008 導入超大SQL腳本文件(超過10);
2. 採用SQLManagement 查詢工具不能打開,所以使用osql在doc命令下執行;
3. osql 用法:
4. 執行SQL腳本文件。-S:sqlserver伺服器名稱 -U:資料庫登陸賬號 -P:資料庫登陸密碼 -i:sql 腳本文件的路徑
5. 如果想將運行結果定向到一個文件,添加 –o output_file 參數
output_file 是輸出文件及其完整路徑。
如想消除輸出結果中的編號和提示符號,請向上述命令中添加 -n 選項。例如:
osql -E -i input_file -o output_file -n
6. 執行結果可友態以查看輸好禪源出文檔。
7. osql 執行SQL語句,輸入osql-S:sql server伺服器名稱 -U:資料庫登陸賬號
然後襲虛輸入密碼,就可以輸入SQL語句了(注意大小寫)。如下圖
8. 輸入exit退出
Ⅶ SQL server2008 安裝完成後無isql工具,只有osql, 環境變數沒有問題,默認路徑下也無isql.exe 怎麼解決
對比它們的使用幫助,大部分是一樣的。紅色部分即它們之間的區別,可以忽略。
下面是一份完整的OSQL的參數,使用方法 :
-L
列出在本地配置的伺服器和在網路上廣播的伺服器的名稱。
-U login_id
用戶登錄 ID。登錄 ID 區分大小寫。
-P password
是用戶指定的密碼。如果未使用 -P 選項,osql 將提示輸入密碼。如果在命令提示符的末尾使用 -P 選項而不帶密碼,osql 使用默認密碼 (NULL)。密碼區分大小寫。
OSQLPASSWORD 環境變數使您得以為當前會話設置默認密碼。因此,不需要通過硬編碼來在批處理文件中設置密碼。
如果沒有為 -P 選項指定密碼,osql 首先檢查 OSQLPASSWORD 變數。如果未設置值,osql 使用默認密碼 (NULL)。以褲宏下示例在命令提示符處設置 OSQLPASSWORD 變數,然後訪問 osql 實用工具:
C:/>SET OSQLPASSWORD=abracadabra
C:/>osql
-E
使用信任連接而不請求密碼。
-S server_name[/instance_name]
指定要連接的 Microsoft SQL Server 2000 實例。在該伺服器上指定 server_name 以連接到 SQL Server 的默認實例。在該伺服器上指定 server_name/instance_name 以連接到一個已命名的 SQL Server 2000 的實例。如果未指定服務滲純凱器,osql 將連接到本地計算機上的 SQL Server 默認實例。從網路上的遠程計算機執行 osql 時,此選項是必需的。
-H wksta_name
是工作站名稱。工作站名稱存儲在 sysprocesses.hostname 中並由 sp_who 顯示。如果未指定此選項,則採用當前計算機名稱。
-d db_name
啟動 osql 時發出一個 USE db_name 語句。
-l time_out
指定 osql 登錄超時之前的秒數。登錄到 osql 的默認超時為 8 秒。
-t time_out
指定命令超時之前的秒數。如果未指定 time_out 值,則命令不會超時。
-h headers
指定要在列標題之間列印的行數。默認為每一查詢結果集列印一次標題。用 –1 指定不列印標題。如果使用 -1,則在參數和設置之間一定不能有空格(可以是 -h-1,不能是 -h –1)。
-s col_separator
指定列分隔符字元,其默認為空格。若要使用對操作系統有特殊含義的字元(例如 | ; & < >),請將該字元用雙引號 (") 引起來。
-w column_width
允許用戶設置屏幕輸出的寬度。默認為 80 個字元。叢喚當輸出行達到其最大屏幕寬度時,會拆分為多個行。
-a packet_size
使您得以請求不同大小的數據包。packet_size 的有效值在 512 到 65535 之間。osql 的默認值為伺服器的默認值。數據包大小的增加可以提高較大腳本執行的性能,在這種執行中 GO 命令之間 SQL 語句的數量很重要。Microsoft 的測試表明 8192 是大容量復制操作典型的最快設置。可以請求更大的數據包大小,但如果請求不能得到批准,則 osql 默認為伺服器的默認值。
-e
回顯輸入。
-I
設置 QUOTED_IDENTIFIER 連接選項為開啟。
-D data_source_name
連接到用 Microsoft SQL Server 的 ODBC 驅動程序定義的 ODBC 數據源。osql 連接使用該數據源中指定的選項。
說明 該選項不適用於其它驅動程序定義的數據源。
-c cmd_end
指定命令終止符。默認情況下,通過單獨在一行中輸入 GO 來終止命令並將其發送到 SQL Server 2000。在重置命令終止符時,不要使用對操作系統有特殊含義的 Transact-SQL 保留字或字元,無論其前面是否有反斜杠。
-q "query"
啟動 osql 時執行查詢,但是在查詢完成時不退出 osql。(注意查詢語句不應包含 GO)。如果從批處理文件中發出查詢,請使用 %variables 或環境 %variables%。例如:
SET table = sysobjects
osql /q "Select * from %table%"
將查詢用雙引號引起來,將查詢中嵌入的任何內容用單引號引起來。
-Q "query"
Ⅷ 用計劃任務做定時執行sql語句,總是說osql不是內部命令,是什麼原因
osql 應該是一個 exe 程咐仿序吧?
C:\Users\zqwang>osql -E -S "localhost\SQLEXPRESS"
1> use test
2>肢飢 go
會不會是你的 PATH 沒有設置好?衡飢纖
Ⅸ 高分!如何禁用系統中的某條命令
看來分不夠啊,沒人回答啊,呵呵......
我來說說。
cmd命令可以整體禁用,但基本上弊大於利,不主張使用。
禁用指定的dos命令,又不可能。
折中的辦法是創建宏,把要禁用的dos命令轉向到別的命令上:
重定義dir命令為清屏命令,在命令行上輸入:doskey dir=cls(回車)
這時,你再執行dir看看?
用記事本編輯C盤根目錄里的autoexec.bat,沒有蘆謹凱就建立一個,內容如下:
doekey =cls
doskey osql=cls
存檔退出。
重新啟動電腦,進入命令行狀態,你會發現、osql命令不好用了,屏幕一閃就什麼都沒有了。
當然,這個辦法對內部命令比較好用,但對於外部命令就不太好用,如輸入osql.exe(回車),osql命令又被打開了,很失望吧?
想要徹底禁用外部命令,首先你要控制好該電腦的系統管理員用戶,系統管理員組的所有用戶都由你來控制才行,別的用戶都是受控用戶,否則,無晌滑論你怎麼設置都沒用。
方法一:搜索到osql.exe文件,按右鍵,選「運行方式」,指定該文件的授權用戶。
方法二:陪喚為每一個除你之外的用戶配置組策略。打開組策略編輯器gpedit.msc,「用戶配置」—「管理模板」—「系統」—「不要運行指定的windows程序」設置為啟用,將「osql.exe」添加進去。
你試試看吧。
Ⅹ osql的問題
沒指定伺服器吧。-s server
另外,用sqlcmd比較好