SQL Server的脚本好像只能在查询分析器里面执行?
以前好像听一位高人给我说过可以在批处理文件中执行SQL Server的脚本功能。如何做?
如何使用批处理命令执行SQL Server的脚本功能?
多谢先!!
以前好像听一位高人给我说过可以在批处理文件中执行SQL Server的脚本功能。如何做?
如何使用批处理命令执行SQL Server的脚本功能?
多谢先!!
解决方案 »
- sql server 2005 如何对多字段进行模糊查询
- 把一个数据库中的一个表的内容插入到另外一个数据库的一个表里
- 求一个平均值的SQL语句~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 一个vip信息排序问题
- 2个表内容的删除
- 一个关于锁的问题(急!)
- 关于VFP的FORM显示问题,一直想不明白……
- 如何知道一个表被其他表引用了?还有如何知道引用的字段是哪个?
- 在线等:把表a中的部分列的数据追加到表b相应的几列中
- 前台应用程序调用存储到后台照片(60多k每张,共2000张),速度很慢,怎么办?
- 为什么在access中可以运行在server 2000出错呢?
- SQL2005怎样可以通过增加服务器的形式提高负荷能力?
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**1.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**2.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**3.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**4.sql'
-P 123是SQL的密码
--如果脚本及路径是变量,则:SET QUOTED_IDENTIFIER OFF
declare @ls_path varchar(100)
set @ls_path = 'c:\test.sql'
exec("master..xp_cmdshell 'isql -U sa -P -i "+@ls_path+"'")
osql -S服务器名 -U用户名 -P密码 -d数据库名 /i"你的.sql脚本文件名"c:\a.sql脚本的内容:
select * into tb from sysobjectsc:\a.bat批处理文件的内容:
isql /S"www /Usa /Psa /d"pubs" /i"c:\a.sql"这样,执行c:\a.bat后,就会在pubs数据库中生成一个tb的表
master.dbo.xp_cmdshell 是什么意思?存储过程么?
以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。授予非管理用户执行 xp_cmdshell 的权限。说明 在 Microsoft® Windows® 95 或 Microsoft Windows 98 操作系统中执行 xp_cmdshell 时,将不把 xp_cmdshell 的返回代码设置为唤醒调用的可执行文件的进程退出代码。返回代码始终为 0。
语法
xp_cmdshell {'command_string'} [, no_output]参数
'command_string'是在操作系统命令行解释器上执行的命令字符串。command_string 的数据类型为 varchar(255) 或 nvarchar(4000),没有默认值。command_string 不能包含一对以上的双引号。如果由 command_string 引用的文件路径或程序名称中有空格,则需要使用一对引号。如果使用嵌入空格不方便,可考虑使用 FAT 8.3 文件名作为解决办法。no_output是可选参数,表示执行给定的 command_string,但不向客户端返回任何输出。返回代码值
0(成功)或 1(失败)结果集
执行下列 xp_cmdshell 语句将返回当前目录的目录列表。xp_cmdshell 'dir *.exe'行以 nvarchar(255) 列的形式返回。执行下列 xp_cmdshell 语句将返回随后的结果集:xp_cmdshell 'dir *.exe', NO_OUTPUT下面是结果:The command(s) completed successfully.--系统存储过程