如何批量将一个文件夹下所有的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的文件枚举器来执行