MSSQL有簡(jiǎn)單方便又高效的管理界面,還用ISQL干什么?什么是ISQL工具?ISQL是用于交互式執(zhí)行Transact-SQL語(yǔ)句和腳本的數(shù)據(jù)庫(kù)工具,ISQL同微軟的OSQL是差不多的工具。
比如做一些高級(jí)的配置,還比如在客戶(hù)端或遠(yuǎn)程執(zhí)行數(shù)據(jù)庫(kù)操作等工作時(shí),ISQL是很方便的。比如入侵一臺(tái)有SQL服務(wù)的主機(jī),入侵SQL Server后都能干什么?最好的工具的就是ISQL了。
不 光是微軟的SQL支持ISQL,還有Sybase的Enterprise版本的數(shù)據(jù)庫(kù)也支持,Sybase的Unix版本,ISQL等工具更是有用武之地 了。ISQL依賴(lài)DB-Library API的應(yīng)用程序不支持 SQL Server 2000 版的某些功能。例如,isql無(wú)法訪問(wèn)用ntext數(shù)據(jù)類(lèi)型定義的列,并截?cái)嗳魏纬^(guò)255字節(jié)的char、varchar、nchar 或 nvarchar 列。它也無(wú)法檢索XML 文檔形式的結(jié)果。除了isql中的這些限制外,osql和isql 支持相同的功能。
isql命令的參數(shù)詳解:
isql [-U login id] [-P password] [-S server]
isql [-?] | [-L] | [
{ {-U login_id [-P password]} | -E }
[-S server] [-H hostname] [-d use database name]
[-l time_out] [-t time_out] [-h headers]
[-s col_separator] [-w column_width] [-a packet_size]
[-e] [-x max_text_size] [-c cmd_end] [-q “query”] [-Q “query”]
[-n] [-m error_level] [-r {0 | 1}]
[-i input file] [-o output file] [-p] [-b] [-O] ]
所有參數(shù)要區(qū)分大小寫(xiě),在使用尤其要注意。
-?顯示 isql 開(kāi)關(guān)的語(yǔ)法摘要。
-L列出在本地配置的服務(wù)器和在網(wǎng)絡(luò)上廣播的服務(wù)器的名稱(chēng)。
-U login_id用戶(hù)登錄 ID。登錄 ID 區(qū)分大小寫(xiě)。
-P password 是用戶(hù)指定的密碼。如果未使用-P 選項(xiàng),isql 將提示輸入密碼。如果在命令提示的末尾使用 -P 選項(xiàng)而不帶密碼,isql 使用默認(rèn)密碼NULL)。密碼區(qū)分大小寫(xiě)。
-S server_name 指定要連接到的 SQL Server 默認(rèn)實(shí)例。如果未指定服務(wù)器,isql 將連接 到本地計(jì)算機(jī)上的 SQL Server 默認(rèn)實(shí)例。如果要在網(wǎng)絡(luò)上從遠(yuǎn)程計(jì)算機(jī)執(zhí)行 isql,則需要此選項(xiàng)。
-H hostname 是使用的客戶(hù)端的主機(jī)名稱(chēng)。工作站名稱(chēng)存儲(chǔ)在 sysprocesses.hostname 中并由 sp_who 顯示。如果未指定,則采用當(dāng)前計(jì)算機(jī)名稱(chēng)。用這個(gè)可以欺騙SQL Server中進(jìn)程信息中顯示的主機(jī)名。
-d use database name,用于指定使用數(shù)據(jù)庫(kù)名。
-i input file,用于指定裝載的SQL語(yǔ)句文件。當(dāng)你不想輸入太多SQL語(yǔ)句時(shí),你可以寫(xiě)好在一個(gè)文件,用這個(gè)參數(shù),作為來(lái)執(zhí)行。
以上這些基本上足夠用了,下面以服務(wù)器ABC為例,用戶(hù)名sa,密碼為了空,用ISQL登錄數(shù)據(jù)庫(kù)DB:
ISQL -U sa -P -S ABC -d DB
連接成功的話(huà),在“1>”后面輸入SQL語(yǔ)句,回車(chē),第二行輸入go回車(chē),就執(zhí)行了上一句SQL語(yǔ)句。
SQL語(yǔ)句可以分多行輸入,直到你執(zhí)行“go”提交后才執(zhí)行SQL語(yǔ)句。
quit可以退出當(dāng)前交互式命行模式。