mssql sqlserver 记录sqlserver每次启动的时间的方法分享


摘要:
下文介绍使用物理表对数据库引擎每次重新启动进行相关记录的方法分享,
在sql引擎启动时,运行相应的无参数存储过程,通过存储过程向相应的数据表中插入相应的记录
如下所示:
实验环境:sqlserver 2008 R2


   --1.在master数据库下建立日志表startLog
    USE master
    GO
     create table startLog(keyId int identity,info varchar(10),writeDate datetime default getdate())
	 go

    --2.在master数据库下创建存储过程向startlog中插入相关的日志信息
	 USE master
    GO
    create proc pr_startLog
	@info varchar(10)
	as 
	begin
	 insert into startLog(info)values(@info)
	end
    go
    --3.将此存储过程标记为sql引擎启动的存储过程
    USE master
    GO
    EXEC SP_PROCOPTION pr_startLog, 'STARTUP', 'ON'
    GO
    
    --4 重启启动sql引擎发现,日志表中被插入相关的日志信息
	  
    --5 查看系统是否存在启动时,运行过程
	 SELECT [name]  FROM sysobjects WHERE type = 'P' AND OBJECTPROPERTY(id, 'ExecIsStartUp') = 1
    --6 关闭启动运行过程
    USE master
    GO
    EXEC SP_PROCOPTION pr_startLog, 'STARTUP', 'OFF'
    GO


注意事项:
需运行启动过程,需将sql数据引擎配置为如下设置:
EXEC sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure ‘default trace enabled’;
GO

mssql_sqlserver_启动日志

mssql_sqlserver_启动日志