【澳门金沙vip】MSSQL ISQL命令详细解释

比如做一些高级的配置,还比如在客户端或远程执行数据库操作等工作时,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可以退出当前交互式命行模式。

MS
SQL有简单方便又高效的管理界面,还用ISQL干什么?什么是ISQL工具?ISQL是用于交互式执行Transact-SQL语句和脚本的数据库工具,ISQL同微软的OSQL是差不多的工具。比如做一些高级的配置,还比如在客户端或远程执行数据库操作等工作时,ISQL是很方便的。比如入侵一台有SQL服务的主机,入侵SQL
Server后都能干什么?最好的工具的就是ISQL了。

@echo off
echo The following commands will set up the database for DocComposer.


光是微软的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 支持相同的功能。

set /p pDbName=Please Enter Database Name to be Created : 
(注:不知道怎么把这个参数传入createDB.sql 和DocComposerDatabase.sql
脚本中,这里这个参数无效,脚本中参数写死了,望高手指点。)
set /p pHost=Enter the Host Name (Machine) for Database :
set /p pPass=Enter the password for “sa” user :

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] ]

echo if the database does not exist, it will be created, otherwise, the
database will be updated and all the data will be removed!!

所有参数要区分大小写,在使用尤其要注意。
-?显示 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语句时,你可以写好在一个文件,用这个参数,作为批处理来执行。

echo enter Ctrl+C to stop, otherwise press any key to continue to set up
the database.
pause

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

echo check or create the database
isql -S”%pHost%” -U sa -P”%pPass%” -i createDB.sql -o logs\test1.log
type Logs\test1.log >  Logs\setup.log