1. 这里的核心就是使用 xp_cmdshell 这个命令。
2. 首先要确保这个工具在SQL Server 中处于被开启状态,默认处于被关闭状态。否则将无法使用。可以用下面的语句查看当前SQL Server中的配置。
SELECT * FROM sys.configurations ORDER BY name
3. 如果没有开启配置,请执行下面语句来打开配置
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
4. 然后我们就可以来创建文件了。
declare @cmd varchar(8000)--命令
declare @info varchar(8000)--要写入的信息的内容
set @info = 'this is test content'
set @cmd = 'echo ' + @info +' >>c:/text/abc.txt' --在这里使用>>是在已有同名文件中追加内容,如果是>则每次执行是重新生成文件覆盖原来的内容
Exec master.dbo.xp_cmdshell @cmd
5.如果出现Access desined这样的错误,说明对文件或者该文件夹没有操作权限,可以给everyone用户Full Control的权限。如果你确定没危险的话。