DECLARE @data XML;
SET @data = EVENTDATA();
-- 将XML数据转换为NVARCHAR(MAX)
DECLARE @EventDataStr NVARCHAR(MAX);
SET @EventDataStr = CAST(@data AS NVARCHAR(MAX));
-- 为了安全地写入文件,可以创建临时表,然后通过bcp工具导出
CREATE TABLE #TempData (EventDataStr NVARCHAR(MAX));
INSERT INTO #TempData VALUES (@EventDataStr);
DECLARE @Command NVARCHAR(1000);
SET @Command = 'bcp "SELECT EventDataStr FROM #TempData" queryout "D:\eventdata.txt" -T -c';
EXEC xp_cmdshell @Command;
-- 清理临时表
DROP TABLE #TempData;
DECLARE @EventDataVarChar varchar(8000) = REPLACE(@EventDataStr, '''', '''''');
declare @mycommand varchar(8000)='echo '+CONCAT(@EventDataStr,' > D:\eventdata.txt');
''' select ''```
select 1
RAISERROR ('New tables cannot be created in this database.', 16, 1)
select 2
还有网络提交法,这里就没提到了
网友评论