Sql 将存储过程的结果插入表中,并添加一个额外的列

Sql 将存储过程的结果插入表中,并添加一个额外的列,sql,sql-server,tsql,stored-procedures,Sql,Sql Server,Tsql,Stored Procedures,我尝试将存储过程中的数据插入到表中,例如 INSERT INTO FailedLogins EXEC sp_readerrorlog 0, 1, 'Login failed' 这很好,但是,我正在使用SSI对数百个数据库运行此操作,因此我需要将@@SERVERNAME添加到FailedLogins表中,以使每个记录与相应的服务器匹配 因此,结果集应如下所示: LogDate ServerName ProcessInfo Text 您可以编辑SP以合并该字段吗?不是在数百台服务器上。表是

我尝试将存储过程中的数据插入到表中,例如

INSERT INTO FailedLogins
EXEC sp_readerrorlog 0, 1, 'Login failed'
这很好,但是,我正在使用SSI对数百个数据库运行此操作,因此我需要将@@SERVERNAME添加到FailedLogins表中,以使每个记录与相应的服务器匹配

因此,结果集应如下所示:

LogDate  ServerName  ProcessInfo  Text

您可以编辑SP以合并该字段吗?不是在数百台服务器上。表是否在每台服务器上都登录失败?否,它正在从每台服务器回写到一个DB。那么您什么时候可以引用@SERVERNAME?
DECLARE @readerrorlog_results TABLE (
  LogDate date,
  ProcessInfo varchar(max),
  Text varchar(max)
)

INSERT INTO @readerrorlog_results
      (LogDate,ProcessInfo,Text)
EXEC sp_readerrorlog 0, 1, 'Login failed'

INSERT INTO FailedLogins
      (LogDate,  ServerName,ProcessInfo,Text)
SELECT LogDate,@@SERVERNAME,ProcessInfo,Text FROM @readerrorlog_results