把SQL Server 错误日志导出为EXCEL 并发送到指定的ftp 或者 共享盘
/* 2005版本 和2000 版本 sql server 错误日志结果不同。 下面是 适用于 SQL2000的 其中加入了 自己编写的一个ftp小程序 用来上传 相关日志状况 */ IF object_id('tempdb..#error_log') IS NOT NULLDROP TABLE #error_loggo --2000 CREATE TABLE #error_log(id INT IDENTITY(1,1), ErrorContent VARCHAR(8000),continueRow int)insert INTO #error_log EXEC master.dbo.xp_readerrorlog UPDATE a SET ErrorContent = LEFT(b.ErrorContent,23) + a.ErrorContentFROM #error_log aINNER JOIN #error_log b ON a.id = b.id + a.continueRowWHERE a.continueRow>0 DECLARE @str VARCHAR(8000)SET @str= 'SELECT id,errorcontent,continuerow FROM #error_log WHERE ErrorContent LIKE CONVERT(VARCHAR(10),DATEADD(dd,-1,GETDATE()) ,120) +''%''OR ErrorContent LIKE CONVERT(VARCHAR(10),GETDATE() ,120) +''%''' exec talkins.dbo.p_exporttb @sqlstr= @str,@path= 'e:\fanr\temp ',@fname= 'SQLLog.xls' ,@sheetname ='log'goexec master..xp_cmdshell 'e:\fanr\temp\myftp.exe p e:\fanr\temp\ /fanr SQLLog.xls'goexec master..xp_cmdshell 'del e:\fanr\temp\SQLLog.xls'
/*--数据导出EXCEL 导出表中的数据到Excel,包含字段名,文件为真正的Excel文件,如果文件不存在,将自动创建文件,如果表不存在,将自动创建表基于通用性考虑,仅支持导出标准数据类型 --邹建 2003.10(引用请保留此信息)--*/ /*--调用示例 p_exporttb @sqlstr= 'select * from t2 ',@path= 'd:\ ',@fname= 'a1.xls' ,@sheetname ='local2'--*/ create PROCEDURE p_exporttb (@sqlstr sysname, --查询语句,如果查询语句中使用了order by ,请加上top 100 percent,注意,如果导出表/视图,用上面的存储过程 @path nvarchar(1000), --文件存放目录 @fname nvarchar(250), --文件名 @sheetname varchar(250)='' --要创建的工作表名,默认为文件名 )as--select @sqlstr= 'select * from t2 ',@path= 'd:\ ',@fname= 'a1.xls' ,@sheetname ='local' declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000) --参数检测 if isnull(@fname,'')='' set @fname='temp.xls' if isnull(@sheetname,'')='' set @sheetname=replace(@fname,'.','#') --检查文件是否已经存在 if right(@path,1)<>'\' set @path=RTRIM(@path)+'\' IF object_id('tempdb..#tb') IS NOT NULLDROP TABLE #tbcreate table #tb(a bit,b bit,c bit) set @sql=@path+@fname insert into #tb exec master..xp_fileexist @sql --数据库创建语句 set @sql=@path+@fname if exists(select 1 from #tb where a=1) set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE' +';CREATE_DB="'+@sql+'";DBQ='+@sql else set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES' +';DATABASE='+@sql+'"' --连接数据库 exec @err=sp_oacreate 'adodb.connection',@obj out if @err<>0 goto lberr exec @err=sp_oamethod @obj,'open',null,@constr if @err<>0 goto lberr --创建表的SQL declare @tbname sysname set @tbname='##tmp_'+convert(varchar(38),newid()) set @sql='select * into ['+@tbname+'] from('+@sqlstr+') a' exec(@sql) select @sql='',@fdlist='' select @fdlist=@fdlist+','+a.name ,@sql=@sql+',['+a.name+'] ' +case when b.name in('char','nchar','varchar','nvarchar') then 'text('+cast(case when a.length>255 then 255 else a.length end as varchar)+')' when b.name in('tynyint','int','bigint','tinyint') then 'int' when b.name in('smalldatetime','datetime') then 'datetime' when b.name in('money','smallmoney') then 'money' else b.name end FROM tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xusertype where b.name not in('image','text','uniqueidentifier','sql_variant','ntext','varbinary','binary','timestamp') and a.id=(select id from tempdb..sysobjects where name=@tbname) select @sql='create table ['+@sheetname +']('+substring(@sql,2,8000)+')' ,@fdlist=substring(@fdlist,2,8000) exec @err=sp_oamethod @obj,'execute',@out out,@sql if @err<>0 goto lberr exec @err=sp_oadestroy @obj --导入数据 set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES ;DATABASE='+@path+@fname+''',['+@sheetname+'$])' exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from ['+@tbname+']') set @sql='drop table ['+@tbname+']' exec(@sql) return lberr: exec sp_oageterrorinfo 0,@src out,@desc out lbexit: select cast(@err as varbinary(4)) as 错误号 ,@src as 错误源,@desc as 错误描述 select @sql,@constr,@fdlist GO
把SQL Server 错误日志导出为EXCEL 并发送到指定的ftp 或者 共享盘相关推荐
- SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...
原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...
- 使用xp_readerrorlog命令读取SQL Server错误日志
This article explores the xp_readerrorlog command for reading SQL Server error logs using T-SQL. 本文探 ...
- SQL Server查询结果导出到EXCEL表格
导出SQL Server查询结果到excel文件 需求:将查询的两列数据导出到excel中 1.选择数据库,右键任务→导出数据,打开导入导出向导,单击下一步 2.在打开的SQL Server导入和导出 ...
- Web API——添加Swagger、SQL Server、日志记录、导出到Excel和Docker
目录 介绍 要求 1.创建一个新的Web API项目 2.将Swagger添加到项目 3.将项目连接到SQL Server数据库 4.登录到SQL Server 5.添加"导出到Excel& ...
- 如何使用损坏或删除SQL Server事务日志文件重建数据库
This is the last article, but not the least one, in the SQL Server Transaction Log series. In this s ...
- Excel与Sql Server互通导入导出跨语言
目录 Excel与Sql Server互通导入导出跨语言 1.目标Excel缺少表的列标题字段 1.1.问题的提出从这里开始 1.2.参数的正确写法 1.3.附带说一下Jet 4.0 1.4.附带说一 ...
- SQL Server 无法生成 FRunCM 线程。请查看 SQL Server 错误日志和 Windows 事件日志(转)...
前言: 今天遇到这个sql服务无法启用 .无法登陆 的情况..在google 百度 搜了一下.发现很多网站都是采集来的数据..(很奇怪这些采集站都那么靠前!) 照着文章里边的方法去试试都不行,,,后来 ...
- 服务器腾讯通文件数据源导入,连接到 Excel 数据源(SQL Server 导入和导出向导)...
连接到 Excel 数据源(SQL Server 导入和导出向导) 04/02/2018 本文内容 适用于: SQL Server(所有支持的版本) Azure 数据工厂中的 SSIS Integra ...
- SQL Server 2008 R2导出数据脚本和导入数据库脚本的方法(原创+转载)
以前看到有些朋友说必须SQL Server 2008才能导出包含数据的脚本,后来仔细研究发现其实SQL Server 2008 R2也是可以的,只需在导出的时候在高级中设置一下即可. 1.首先在数据库 ...
最新文章
- 修改mysql字符编码出现Job failed to start解决办法
- boost::function30的用法实例
- html如何控制弹窗位置,控制弹窗展示顺序
- 利用永恒之蓝入侵服务器复制文件,msf利用永恒之蓝进行漏洞攻击
- linux oracle em使用,Linux平台下启动oracle 11g EM控制台
- python编程入门-python编程入门(第3版)
- windows系统中Dotnet core runtime 安装后,无法启动次程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的解决方法...
- 验证DG最大性能模式下使用ARCH/LGWR及STANDBY LOG的不同情况
- 【TabularData】DNN和表格数据分析建模综述
- 五子棋软件测试自学,初学者如何从零开始自学五子棋
- 静态多层Map缓存清除
- 图像处理库Pillow的使用
- 【0514 更新中】CVPR 2019 论文汇总 按方向划分
- android xp wifi连接不上,笔记本xp系统连接不上wifi怎么办
- 工作简历写些什么比较好? 优秀的求职简历模板包括哪些内容
- 学计算机的ctrl,学会这些电脑快捷键,瞬间成为电脑高手
- 项目的人员考核和激励
- modern android5.1,modern warships
- CSS3中文手册,新特性速查
- matlab求图像的能量图,如何计算图像的能量
热门文章
- Oracle的表空间和数据文件
- NULL,,String.Empty三者在C#中的区别
- Android SDK Manager无法更新的解决方案
- 日志处理--高效Linux命令整理
- How to become the truely yourself?
- 在centos7中安装redis,并通过node.js操作redis
- linux与windows互传文件、用户与用户组管理、密码配置文件
- 《交互式程序设计 第2版》一3.5 捕获简单用户交互行为
- HoloLens开发手记 - Unity之Spatial Sounds 空间声音
- 【ArcGIS 10.2新特性】ArcGIS 10.2 for Server新特性