一、应用背景
由于开发人员经常非法操作开发数据库,导致数据库不能正常响应。由于客户端电脑名命名不规范,无法确认当时是谁操作了数据库。为了规范开发人员的使用习惯,将对出现在开发过程中违规操作数据库的账号和电脑名进行限制登录数据库。这样在数据库出现问题后,有人反馈后就可以追踪到人了。
二、实现步骤
1、创建Config用于控制账号的配置。
USE ReportServer;
GO
CREATE TABLE [dbo].[Config]
(
[LoginName] [sysname] NOT NULL ,
ClientHostName [VARCHAR](50) NOT NULL ,
UserName [NVARCHAR](50) NOT NULL ,
GroupName [NVARCHAR](50) NOT NULL ,
[IsEnabled] [BIT] NOT NULL
)
ON [PRIMARY];
--[IsEnabled]中0代表禁用,1代表启用
2、创建用于记录登录账号信息的表。
CREATE TABLE [dbo].[ServerLoginLog](
[LogID] [BIGINT] IDENTITY(1,1) NOT NULL,
[SPID] [SMALLINT] NOT NULL,
[LoginName] [sysname] NOT NULL,
[ClientHost] [NVARCHAR](200) NOT NULL,
[ClientHostName] [NVARCHAR](200) NULL,
[ClientProgramName] [NVARCHAR](200) NOT NULL,
[