如何批量将一个文件夹下所有的SQL文件执行,更新到数据库
1.exec master..xp_cmdshell 'osql -S 服务器 -U sa -P aa -d my -i d:/aa.sql'
2. exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'xp_cmdshell',1
reconfigure
declare @f table(name varchar(1000))
insert into @f exec master..xp_cmdshell 'dir c:/sql/*.sql'
delete from @f where isnull(name,'') not like '%.sql'
update @f set name=
right(name,charindex(' ',reverse(name))-1)
declare @sql varchar(8000)
select @sql=isnull(@sql,'')+'
exec master..xp_cmdshell ''osql -S. -Usa -Psqltest -dmaster -i c:/sql/'+name+'''' from @f
exec (@sql)
以上命令会执行服务器上 c:/sql目录下的所有sql文件.
如果是sql2005可以用ssis的文件枚举器来执行
本文介绍了一种使用SQL Server的xp_cmdshell存储过程来批量执行指定文件夹下的所有SQL脚本的方法,并提供了适用于SQL Server 2000和SQL Server 2005的具体步骤。
921

被折叠的 条评论
为什么被折叠?



