MSSQL ISQL命令详解

634 查看

比如做一些高级的配置,还比如在客户端或远程执行数据库操作等工作时,ISQL是很方便的。比如入侵一台有SQL服务的主机,入侵SQL Server后都能干什么?最好的工具的就是ISQL了。

不 光是微软的SQL支持ISQL,还有Sybase的Enterprise版本的数据库也支持,Sybase的Unix版本,ISQL等工具更是有用武之地 了。ISQL依赖DB-Library API的应用程序不支持 SQL Server 2000 版的某些功能。例如,isql无法访问用ntext数据类型定义的列,并截断任何超过255字节的char、varchar、nchar 或 nvarchar 列。它也无法检索XML 文档形式的结果。除了isql中的这些限制外,osql和isql 支持相同的功能。

isql命令的参数详解:
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] ]

所有参数要区分大小写,在使用尤其要注意。
-?显示 isql 开关的语法摘要。
-L列出在本地配置的服务器和在网络上广播的服务器的名称。
-U login_id用户登录 ID。登录 ID 区分大小写。
-P password 是用户指定的密码。如果未使用-P 选项,isql 将提示输入密码。如果在命令提示的末尾使用 -P 选项而不带密码,isql 使用默认密码NULL)。密码区分大小写。
-S server_name 指定要连接到的 SQL Server 默认实例。如果未指定服务器,isql 将连接 到本地计算机上的 SQL Server 默认实例。如果要在网络上从远程计算机执行 isql,则需要此选项。
-H hostname 是使用的客户端的主机名称。工作站名称存储在 sysprocesses.hostname 中并由 sp_who 显示。如果未指定,则采用当前计算机名称。用这个可以欺骗SQL Server中进程信息中显示的主机名。
-d use database name,用于指定使用数据库名。
-i input file,用于指定装载的SQL语句文件。当你不想输入太多SQL语句时,你可以写好在一个文件,用这个参数,作为批处理来执行。

以上这些基本上足够用了,下面以服务器ABC为例,用户名sa,密码为了空,用ISQL登录数据库DB:
ISQL -U sa -P -S ABC -d DB
连接成功的话,在“1>”后面输入SQL语句,回车,第二行输入go回车,就执行了上一句SQL语句。
SQL语句可以分多行输入,直到你执行“go”提交后才执行SQL语句。
quit可以退出当前交互式命行模式。