简书链接:SQLSERVER调试输出大法,你还有新的办法吗
文章字数:68,阅读全文大约需要1分钟
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 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;
|
1 2
| DECLARE @EventDataVarChar varchar(8000) = REPLACE(@EventDataStr, '''', ''''''); declare @mycommand varchar(8000)='echo '+CONCAT(@EventDataStr,' > D:\eventdata.txt');
|
'xx'
1 2 3 4
| select 1 RAISERROR ('New tables cannot be created in this database.', 16, 1) select 2
|
还有网络提交法,这里就没提到了