DOS下连接SQL server
经验与学习 2010/6/8 10:41:54 点击:不统计
<p>DOS窗口中连接SQL数据库,</p>
一般命令在C:\Program Files\Microsoft SQL Server\90\Tools\Binn
根据安装SQL的位置不同,有所不同
下面是命令,注意参数的大小写
连接成功后,将显示的"1>"的提示符,下面的操作将和在查询分析器里的一样了,就不
用我说了,想查看系统表请查看我的SQL系统表的应用.
==================================================================================================================
MS SQL有简单方便又高效的管理界面,还用ISQL干什么?什么是ISQL工具?ISQL是用于交互式执行Transact-SQL语句和脚本的数据库工具,ISQL同微软的OSQL是差不多的工具。比如做一些高级的配置,还比如在客户端或远程执行数据库操作等工作时,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可以退出当前交互式命行模式。
==================================================================================================================
isql -U login_id -P password -S server isql [-?] | [-L] | [
{ {-U login_id [-P password]} | -E }
[-S server_name] [-H wksta_name] [-d db_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)。
密码区分大小写。 ISQLPASSWORD 环境变量使您得以为当前会话设置默认密码。因此,不需要通过硬编码来在
批处理文件中设置密码。如果没有 为 -P 选项指定密码,isql 首先检查 ISQLPASSWORD 变量。如果未设置
值,isql使用默认密码 (NULL)。以下示例 在命令提 示处设置LPASSWORD 变量,然后访问 isql 实用工具:C:\>
SET ISQLPASSWORD=abracadabraC:\>isql -E使用信任连接而不请 求密码。
-S server_name
指定要连接到的 SQL Server 默认实例。isql 不支持连接到 SQL Server 2000 命名实例。如果未指定服务
器,isql 将连接 到本地计算机上的 SQL Server 默认实例。如果要在网络上从远程计算机执行 isql,则需要
此选项。
-H wksta_name 是工作站名称。
工作站名称存储在 sysprocesses.hostname 中并由 sp_who 显示。如果未指定,则采用当前计算机名称。
-d db_name 启动 isql 时发出一个 USE db_name 语句。
-l time_out 指定 isql 登录超时之前的秒数。
如果未指定 time_out 值,则命令无限期地运行。登录到 isql 的默认超时为 8 秒。
-t time_out 指定命令超时之前的秒数。
如果未指定 time_out 值,则命令会无限期地运行;登录到 isql 的默认超时为 8 秒。
-h headers 指定要在列标题之间打印的行数。
默认为每一查询结果集打印一次标题。使用 –1 指定不打印标题。如果使用 –1,则在参数和设置之间不能空
格
(可以是 -h-1,不能是 -h –1)。
-s col_separator 指定列分隔符字符,其默认为空格。
若要使用对操作系统有特殊含义的字符(例如 | ; & < >),请将该字符用双引号 (") 引起来。
-w column_width 允许用户设置屏幕输出的宽度。默认为 80 个字符。当输出行达到其最大屏幕宽度时,会拆分
为多个行。
-a packet_size 使您得以请求不同大小的数据包。
<span> packet_size 的有效值介于 512 和 65535 之间。Microsoft Windows NT</span>® 版中的 isql 默认值为 8192
;另外,Microsoft MS-DOS® 版中的 isql 默认值为 512,但在该版本中也可以请求更大的数据包。数据
包大小的增加可以提高较大脚本执行的性能,在这种执行中 GO 命令之间 SQL 语句的数量很重要。Microsoft
的测试表明 8192 是大容量复制操作典型的最快设置。可以请求更大的数据包大小,但是如果请求不能得到批
准,则 isql 默认为 512。
-e 回显输入。
-x max_text_size 指定返回文本数据的最大长度,以字节为单位。
长于 max_text_size 的文本值将被截断。如果未指定 max_text_size,则文本数据在 4096 字节处截断。
-c cmd_end 指定命令终止符。
默认情况下,通过单独在一行中输入 GO 来终止命令并将其发送到 SQL Server 2000。在重置命令终止时,不
要使用对操作 系统有特殊含义的 Transact-SQL 保留字或字符,无论其前面是否有反斜杠。
-q "query" 启动 isql 时执行查询,但是在查询完成时不退出 isql。
(注意查询语句不应包含 GO)。如果从批处理文件中发出查询,可使用 %variables。环境 %variables% 也可
用。例如:
SET table = sysobjectsisql /q "Select * from %table%" 将查询用双引号引起来,将查询中嵌入的任何内
容用单引号引 起来。
-Q "query" 执行查询,在查询完成时立即退出 isql。
将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。
-n 从输入行中删除编号和提示符号 (>)。
-m error_level 自定义错误信息的显示。
显示指定的或更高严重级别错误的消息数、状态和错误级别。不显示严重级别低于指定级别的错误的任何信
息。用 -1 指定与消息一起返回所有标题,即使是信息类的消息。如果使用 –1,则在参数和设置之间不能有
空格
(可以是 -m-1,不能是 -m -1)。
-r {0 | 1} 将消息输出重定向到屏幕 (stderr)。
如果未指定参数,或指定参数为 0,那么仅重定向严重级别为 17 或更高的错误信息。
如果指定参数为 1,则将重定向所有消息输出(包括 "print")。
-i input_file标识包含一批 SQL 语句或存储过程的文件。小于 (<) 比较运算符可以用来代替 –i。
-o output_file 标识从 isql 接收输出的文件。
大于 (>) 比较运算符可以用来代替 –o。-p打印性能统计。
-b 指定错误发生时 isql 退出并返回一个 DOS ERRORLEVEL 值。
当 SQL Server 错误信息的严重级别为 10 或更高时,返回给 DOS ERRORLEVEL变量的值为 1;否则,返回值为
0。MS-DOS 批处理文件可以测试 DOS ERRORLEVEL 的值并适当处理错误。
-O指定 isql 还原为早期版本的行为。下列功能停用: EOF 批处理控制台宽度自动调整宽信息
该选项还将 DOS ERRORLEVEL 的默认值设置为 –1。
================================================================================
C:\Documents and Settings\Administrator>osql /?
Microsoft (R) SQL Server 命令行工具
版本 9.00.3042.00 NT INTEL X86
版权所有 (c) Microsoft Corporation。保留所有权利。
注意: osql 并不支持 SQL Server 2005的所有功能。
请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。
用法: osql [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
[-h 标题] [-s 列分隔符] [-w 列宽]
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
[-q "命令行查询"] [-Q "命令行查询" 并退出]
[-n 删除编号方式] [-m 错误级别]
[-r 发送到 stderr 的消息] [-V 严重级别]
[-i 输入文件] [-o 输出文件]
[-p 打印统计信息] [-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-O 使用旧 ISQL 行为禁用下列项]
<EOF> 批处理
自动调整控制台宽度
宽消息
默认错误级别为 -1 和 1
[-? 显示语法摘要]
C:\Documents and Settings\Administrator>
C:\Documents and Settings\Administrator>osql /?
Microsoft (R) SQL Server 命令行工具
版本 9.00.3042.00 NT INTEL X86
版权所有 (c) Microsoft Corporation。保留所有权利。
注意: osql 并不支持 SQL Server 2005的所有功能。
请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。
用法: osql [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
[-h 标题] [-s 列分隔符] [-w 列宽]
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
[-q "命令行查询"] [-Q "命令行查询" 并退出]
[-n 删除编号方式] [-m 错误级别]
[-r 发送到 stderr 的消息] [-V 严重级别]
[-i 输入文件] [-o 输出文件]
[-p 打印统计信息] [-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-O 使用旧 ISQL 行为禁用下列项]
<EOF> 批处理
自动调整控制台宽度
宽消息
默认错误级别为 -1 和 1<br />
转自http://hi.baidu.com/ren_long_/blog/item/55ec9183e062b7ae0df4d2d8.html
一般命令在C:\Program Files\Microsoft SQL Server\90\Tools\Binn
根据安装SQL的位置不同,有所不同
下面是命令,注意参数的大小写
连接成功后,将显示的"1>"的提示符,下面的操作将和在查询分析器里的一样了,就不
用我说了,想查看系统表请查看我的SQL系统表的应用.
==================================================================================================================
MS SQL有简单方便又高效的管理界面,还用ISQL干什么?什么是ISQL工具?ISQL是用于交互式执行Transact-SQL语句和脚本的数据库工具,ISQL同微软的OSQL是差不多的工具。比如做一些高级的配置,还比如在客户端或远程执行数据库操作等工作时,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可以退出当前交互式命行模式。
==================================================================================================================
isql -U login_id -P password -S server isql [-?] | [-L] | [
{ {-U login_id [-P password]} | -E }
[-S server_name] [-H wksta_name] [-d db_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)。
密码区分大小写。 ISQLPASSWORD 环境变量使您得以为当前会话设置默认密码。因此,不需要通过硬编码来在
批处理文件中设置密码。如果没有 为 -P 选项指定密码,isql 首先检查 ISQLPASSWORD 变量。如果未设置
值,isql使用默认密码 (NULL)。以下示例 在命令提 示处设置LPASSWORD 变量,然后访问 isql 实用工具:C:\>
SET ISQLPASSWORD=abracadabraC:\>isql -E使用信任连接而不请 求密码。
-S server_name
指定要连接到的 SQL Server 默认实例。isql 不支持连接到 SQL Server 2000 命名实例。如果未指定服务
器,isql 将连接 到本地计算机上的 SQL Server 默认实例。如果要在网络上从远程计算机执行 isql,则需要
此选项。
-H wksta_name 是工作站名称。
工作站名称存储在 sysprocesses.hostname 中并由 sp_who 显示。如果未指定,则采用当前计算机名称。
-d db_name 启动 isql 时发出一个 USE db_name 语句。
-l time_out 指定 isql 登录超时之前的秒数。
如果未指定 time_out 值,则命令无限期地运行。登录到 isql 的默认超时为 8 秒。
-t time_out 指定命令超时之前的秒数。
如果未指定 time_out 值,则命令会无限期地运行;登录到 isql 的默认超时为 8 秒。
-h headers 指定要在列标题之间打印的行数。
默认为每一查询结果集打印一次标题。使用 –1 指定不打印标题。如果使用 –1,则在参数和设置之间不能空
格
(可以是 -h-1,不能是 -h –1)。
-s col_separator 指定列分隔符字符,其默认为空格。
若要使用对操作系统有特殊含义的字符(例如 | ; & < >),请将该字符用双引号 (") 引起来。
-w column_width 允许用户设置屏幕输出的宽度。默认为 80 个字符。当输出行达到其最大屏幕宽度时,会拆分
为多个行。
-a packet_size 使您得以请求不同大小的数据包。
<span> packet_size 的有效值介于 512 和 65535 之间。Microsoft Windows NT</span>® 版中的 isql 默认值为 8192
;另外,Microsoft MS-DOS® 版中的 isql 默认值为 512,但在该版本中也可以请求更大的数据包。数据
包大小的增加可以提高较大脚本执行的性能,在这种执行中 GO 命令之间 SQL 语句的数量很重要。Microsoft
的测试表明 8192 是大容量复制操作典型的最快设置。可以请求更大的数据包大小,但是如果请求不能得到批
准,则 isql 默认为 512。
-e 回显输入。
-x max_text_size 指定返回文本数据的最大长度,以字节为单位。
长于 max_text_size 的文本值将被截断。如果未指定 max_text_size,则文本数据在 4096 字节处截断。
-c cmd_end 指定命令终止符。
默认情况下,通过单独在一行中输入 GO 来终止命令并将其发送到 SQL Server 2000。在重置命令终止时,不
要使用对操作 系统有特殊含义的 Transact-SQL 保留字或字符,无论其前面是否有反斜杠。
-q "query" 启动 isql 时执行查询,但是在查询完成时不退出 isql。
(注意查询语句不应包含 GO)。如果从批处理文件中发出查询,可使用 %variables。环境 %variables% 也可
用。例如:
SET table = sysobjectsisql /q "Select * from %table%" 将查询用双引号引起来,将查询中嵌入的任何内
容用单引号引 起来。
-Q "query" 执行查询,在查询完成时立即退出 isql。
将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。
-n 从输入行中删除编号和提示符号 (>)。
-m error_level 自定义错误信息的显示。
显示指定的或更高严重级别错误的消息数、状态和错误级别。不显示严重级别低于指定级别的错误的任何信
息。用 -1 指定与消息一起返回所有标题,即使是信息类的消息。如果使用 –1,则在参数和设置之间不能有
空格
(可以是 -m-1,不能是 -m -1)。
-r {0 | 1} 将消息输出重定向到屏幕 (stderr)。
如果未指定参数,或指定参数为 0,那么仅重定向严重级别为 17 或更高的错误信息。
如果指定参数为 1,则将重定向所有消息输出(包括 "print")。
-i input_file标识包含一批 SQL 语句或存储过程的文件。小于 (<) 比较运算符可以用来代替 –i。
-o output_file 标识从 isql 接收输出的文件。
大于 (>) 比较运算符可以用来代替 –o。-p打印性能统计。
-b 指定错误发生时 isql 退出并返回一个 DOS ERRORLEVEL 值。
当 SQL Server 错误信息的严重级别为 10 或更高时,返回给 DOS ERRORLEVEL变量的值为 1;否则,返回值为
0。MS-DOS 批处理文件可以测试 DOS ERRORLEVEL 的值并适当处理错误。
-O指定 isql 还原为早期版本的行为。下列功能停用: EOF 批处理控制台宽度自动调整宽信息
该选项还将 DOS ERRORLEVEL 的默认值设置为 –1。
================================================================================
C:\Documents and Settings\Administrator>osql /?
Microsoft (R) SQL Server 命令行工具
版本 9.00.3042.00 NT INTEL X86
版权所有 (c) Microsoft Corporation。保留所有权利。
注意: osql 并不支持 SQL Server 2005的所有功能。
请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。
用法: osql [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
[-h 标题] [-s 列分隔符] [-w 列宽]
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
[-q "命令行查询"] [-Q "命令行查询" 并退出]
[-n 删除编号方式] [-m 错误级别]
[-r 发送到 stderr 的消息] [-V 严重级别]
[-i 输入文件] [-o 输出文件]
[-p 打印统计信息] [-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-O 使用旧 ISQL 行为禁用下列项]
<EOF> 批处理
自动调整控制台宽度
宽消息
默认错误级别为 -1 和 1
[-? 显示语法摘要]
C:\Documents and Settings\Administrator>
C:\Documents and Settings\Administrator>osql /?
Microsoft (R) SQL Server 命令行工具
版本 9.00.3042.00 NT INTEL X86
版权所有 (c) Microsoft Corporation。保留所有权利。
注意: osql 并不支持 SQL Server 2005的所有功能。
请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。
用法: osql [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
[-h 标题] [-s 列分隔符] [-w 列宽]
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
[-q "命令行查询"] [-Q "命令行查询" 并退出]
[-n 删除编号方式] [-m 错误级别]
[-r 发送到 stderr 的消息] [-V 严重级别]
[-i 输入文件] [-o 输出文件]
[-p 打印统计信息] [-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-O 使用旧 ISQL 行为禁用下列项]
<EOF> 批处理
自动调整控制台宽度
宽消息
默认错误级别为 -1 和 1<br />
转自http://hi.baidu.com/ren_long_/blog/item/55ec9183e062b7ae0df4d2d8.html
·上一篇:删除msn账号密码 >> ·下一篇:删除系统服务 >>