我正尝试从PowerShell脚本中的xp_readerrorlog
扩展存储过程中读取第一行。从存储过程的结果集中读取第一行
不幸的是,ExecuteReader()
方法读取xp_readerrorlog
存储过程返回的所有记录,有时候这是几百万行或几分钟。
我试图谷歌它,发现使用DAO可以读取数据,因为它返回的SQL Server但DAO已弃用,我不想走这条路线。
BeginExecuteReader()
似乎没有帮助,因为没有迹象表明是否有任何数据已经返回,直到执行完成,等于ExecuteReader()
。 在处理大型记录集时,是否有其他方法可以获取仅第几行/页?
据我所知,我可以创建一个临时表,将数据转储到它并从它SELECT TOP 1
,但这会引入一些额外的I/O,这不是我正在寻找的解决方案。
如何[归档](http://blogs.msdn.com/b/chrissk/archive/2011/01/05/how-to-archive-your-sql-errorlogs-into-a- table.aspx)你的错误日志并定期循环它?然后'sp/xp_readerrorlog'应该更易于管理。 –
这是此特定存储过程的解决方法之一。如果没有其他解决方案,我可能会采用这种方法。但是,一般来说,我很高兴看到我问的是否可能。 – Sheva