SqlServer数据库基线检查
中国联通内网SQL数据库安全基线配置指南
目录前言 (III)1 范围 (1)2 定义与缩略语 (1)2.1 定义............................................ 错误!未定义书签。
2.2 缩略语 (1)3 安全配置要求 (1)3.1 操作系统安全 (1)3.2 互联网访问安全 (1)3.3 服务器应用安全 (1)3.4 测试开发环境安全 (2)3.5 SQL Server服务帐户安全 (2)3.6 磁盘分区安全 (2)3.7 目录安全 (2)3.8 SQL Server补丁 (3)3.9 SQL Server端口 (3)3.10 范例数据库 (3)3.11 停用SQL Server的命名管道 (4)3.12 删除扩展的存储过程 (4)3.13 SQL Server属性配置常规选项 (4)3.14 SQL Server属性配置连接选项 (4)3.15 SQL Server属性配置数据库设置选项 (5)3.16 SQL 登录帐号 (5)3.17 审计信息检查 (5)3.18 审计启用 (5)3.19 审计日志 (6)3.20 数据库备份 (6)4 评审与修订 (6)前言为确保中国联通信息系统的网络支撑和内网信息安全,指导各省级分公司做好SQL数据库的安全维护相关工作,在研究国际先进企业最佳实践的基础上,结合中国联通内网信息安全现状和实际需求,特制定本配置指南。
本文档由中国联合网络通信有限公司管理信息系统部提出并归口管理。
本文档起草单位:中国联合网络通信有限公司、系统集成公司。
本文档主要起草人:钮吉安,安莹。
本文档解释单位:中国联合网络通信有限公司管理信息系统部。
1范围本文档规定了中国联通范围内安装有SQL数据库的主机应当遵循的安全性设置标准,本文档旨在指导系统管理人员进行SQL数据库的安全配置。
本文档适用版本:SQL数据库本文档的适用范围为中国联通集团总部、各直属单位、各省级分公司。
2定义与缩略语2.1缩略语下列符号和缩略语适用于本标准:术语及缩写英文中文SQL Structured Query Language结构化查询语言3安全配置要求3.7目录安全3.10范例数据库3.13SQL Server属性配置常规选项3.14SQL Server属性配置连接选项3.15SQL Server属性配置数据库设置选项3.17审计信息检查3.19审计日志4评审与修订本指南由中国联通集团管理信息系统部每年审查一次,并根据需要进行修订;如遇国家相关法律法规发生变化或中国联通企业信息安全策略发生重大变更等情况时,本指南将适时修订。
sqlserver数据库状态评估语句
在SQL Server中,可以使用一些系统视图和函数来评估数据库的状态。
以下是一些常用的语句和查询,可以帮助你评估数据库的健康状况、性能和资源使用情况:1.查看数据库文件信息:sql复制代码EXEC sp_help 'YourDatabaseName';2.查看数据库文件大小和可用空间:sql复制代码EXEC sp_help 'YourDatabaseName'; -- 返回数据库文件大小和可用空间信息EXEC sp_spaceused 'YourDatabaseName'; -- 返回数据库文件使用情况3.查看数据库连接数:sql复制代码SELECT * FROM sys.dm_exec_sessions WHERE database_id = DB_ID('YourDatabaseName');4.查看数据库锁定情况:sql复制代码SELECT * FROM sys.dm_tran_locks WHERE database_id = DB_ID('YourDatabaseName');5.查看数据库索引使用情况:sql复制代码SELECT * FROM sys.dm_db_index_usage_stats WHERE database_id = DB_ID('YourDatabaseName');6.查看数据库备份信息:sql复制代码SELECT * FROM msdb.dbo.backupset WHERE database_name = 'YourDatabaseName';7.查看数据库恢复模式:sql复制代码SELECT name, is_auto_close_on, is_auto_shrink_on, is_auto_update_stats_on, is_auto_update_stats_async_on,is_auto_create_stats_on, is_auto_create_stats_async_on, is_auto_stats_on, is_auto_stats_async_on, is_auto_rebuild_stats_on, is_auto_rebuild_stats_async_on FROM sys.databases WHERE name = 'YourDatabaseName';这些语句和查询可以帮助你了解数据库的基本状态和性能。
MicrosoftSQLServer数据库系统配置安全基线标准与操作指引-网络
Microsoft SQL Server数据库系统配置安全基线标准与操作指南南京农业大学图书与信息中心2018年6月目录第1章概述 (1)1.1 安全基线概念 (1)1.2 文档编制目的 (1)1.3 文档适用范围 (1)1.4 文档修订 (1)第2章帐号与口令 (1)2.1 口令安全 (1)2.1.1 删除不必要的帐号 (1)2.1.2 用户口令安全 (1)2.1.3 帐号分配管理 (2)2.1.4 分配数据库用户所需的最小权限 (2)2.1.5 网络访问限制 (2)第3章日志 (3)3.1 日志审计 (3)3.1.1 登录审计 (3)3.1.2 安全事件审计 (3)第4章其他安全配置 (4)4.1 安全策略 (4)4.1.1 通讯协议安全策略 (4)4.2 更新补丁 (4)4.2.1 补丁要求 (4)4.3 存储保护 (5)4.3.1 停用不必要存储过程 (5)第1章概述1.1 安全基线概念安全基线是指满足最小安全保证的基本要求。
1.2 文档编制目的本文档针对安装运行Microsoft SQL Server数据库系统的服务器主机所应当遵循的基本安全设置要求提供了参考建议,供校园网用户在安装使用Microsoft SQL Server数据库系统提供数据存储服务过程中进行安全合规性自查、检查、加固提供标准依据与操作指导。
1.3 文档适用范围本文档适用于Microsoft SQL Server数据库系统的各类版本。
1.4 文档修订本文档的解释权和修改权属于南京农业大学图书与信息中心,欢迎校园网用户提供意见或建议,请发送至security@。
第2章帐号与口令2.1 口令安全2.1.1 删除不必要的帐号2.1.2 用户口令安全查看password 字段应不为null2.1.3 帐号分配管理2.1.4 分配数据库用户所需的最小权限2.1.5 网络访问限制在防火墙中做限制,只允许与指定的IP 地址建立1433 的通第3章日志3.1 日志审计3.1.1 登录审计3.1.2 安全事件审计打开企业管理器,查看数据库“管理”中的“ SQL Server第4章其他安全配置4.1 安全策略4.1.1 通讯协议安全策略4.2 更新补丁4.2.1 补丁要求级效果,再在实际运行环境更新数据库。
Microsoft SQL Server安全配置基线
Microsoft SQL Server数据库系统安全配置基线中国移动通信公司管理信息系统部2012年 4月版本版本控制信息更新日期更新人审批人V1.0 创建2009年1月V2.0 更新2012年4月备注:1.若此文档需要日后更新,请创建人填写版本控制表格,否则删除版本控制表格。
目录第1章概述 (4)1.1适用范围 (4)1.2适用版本 (4)1.3实施 (4)1.4例外条款 (4)第2章帐号与口令 (5)2.1口令安全 (5)2.1.1删除不必要的帐号* (5)2.1.2SQLServer用户口令安全 (5)2.1.3根据用户分配帐号避免帐号共享* (6)2.1.4分配数据库用户所需的最小权限* (6)2.1.5网络访问限制* (7)第3章日志 (8)3.1日志审计 (8)3.1.1SQLServer登录审计* (8)3.1.2SQLServer安全事件审计* (8)第4章其他 (10)4.1安全策略 (10)4.1.1通讯协议安全策略* (10)4.2更新补丁 (10)4.2.1补丁要求* (10)4.3存储保护 (11)4.3.1停用不必要存储过程* (11)第5章评审与修订 (13)第1章概述本文档规定了中国移动通信有限公司管理信息系统部门所维护管理的SQL Server 数据库应当遵循的数据库安全性设置标准,本文档旨在指导系统管理人员或安全检查人员进行SQL Server 数据库的安全合规性检查和配置。
1.1 适用范围本配置标准的使用者包括:数据库管理员、应用管理员、网络安全管理员。
本配置标准适用的范围包括:中国移动总部和各省公司信息化部门维护管理的SQL Server数据库系统。
1.2 适用版本SQL Server系列数据库。
1.3 实施本标准的解释权和修改权属于中国移动集团管理信息系统部,在本标准的执行过程中若有任何疑问或建议,应及时反馈。
本标准发布之日起生效。
1.4 例外条款欲申请本标准的例外条款,申请人必须准备书面申请文件,说明业务需求和原因,送交中国移动通信有限公司管理信息系统部进行审批备案。
中国联通内网SQL数据库安全基线配置指南
中国联通内网SQL数据库安全基线配置指南中国联通内网SQL数据库安全基线配置指南中国联通内网SQL数据库安全配置指南(试行)目录前言................................................................ V II 1范围12定义与缩略语12.1定义................................. 错误!未定义书签。
2.2缩略语 (1)3安全配置要求13.1操作系统安全 (1)3.2互联网访问安全 (2)3.3服务器应用安全 (3)3.4测试开发环境安全 (3)3.5SQL Server服务帐户安全 (4)3.6磁盘分区安全 (4)3.7目录安全 (5)3.8SQL Server补丁 (6)3.9SQL Server端口 (7)3.10范例数据库 (7)3.11停用SQL Server的命名管道 (8)3.12删除扩展的存储过程 (8)3.13SQL Server属性配置常规选项 (9)3.14SQL Server属性配置连接选项 (9)3.15SQL Server属性配置数据库设置选项 (10)3.16SQL 登录帐号 (10)3.17审计信息检查 (11)3.18审计启用 (11)3.19审计日志 (12)3.20数据库备份 (12)4评审与修订13前言为确保中国联通信息系统的网络支撑和内网信息安全,指导各省级分公司做好SQL数据库的安全维护相关工作,在研究国际先进企业最佳实践的基础上,结合中国联通内网信息安全现状和实际需求,特制定本配置指南。
本文档由中国联合网络通信有限公司管理信息系统部提出并归口管理。
本文档起草单位:中国联合网络通信有限公司、系统集成公司。
本文档主要起草人:钮吉安,安莹。
本文档解释单位:中国联合网络通信有限公司管理信息系统部。
1范围本文档规定了中国联通范围内安装有SQL 数据库的主机应当遵循的安全性设置标准,本文档旨在指导系统管理人员进行SQL数据库的安全配置。
检查sql数据库是否损坏的语句
一、检查数据库完整性的重要性在数据库管理中,数据库的完整性是非常重要的。
如果数据库损坏或不完整,可能会导致数据丢失或系统崩溃。
定期检查数据库的完整性是保证数据安全和系统稳定性的关键步骤。
二、检查数据库完整性的方法1. 使用DBCC CHECKDB命令DBCC CHECKDB是SQL Server提供的一个用于检查数据库完整性的命令。
它可以检查数据库中所有对象的完整性,包括表、索引、视图等。
可以通过以下语句来运行DBCC CHECKDB命令:DBCC CHECKDB ('database_name');2. 使用DBCC CHECKTABLE命令DBCC CHECKTABLE命令可以用来检查数据库中特定表的完整性。
可以通过以下语句来运行DBCC CHECKTABLE命令:DBCC CHECKTABLE ('table_name');3. 使用DBCC CHECKFILEGROUP命令DBCC CHECKFILEGROUP命令可以用来检查文件组的完整性。
可以通过以下语句来运行DBCC CHECKFILEGROUP命令:DBCC CHECKFILEGROUP ('filegroup_name');4. 使用DBCC CHECKALLOC命令DBCC CHECKALLOC命令可以用来检查分配给数据库对象的存储空间的完整性。
可以通过以下语句来运行DBCC CHECKALLOC命令:DBCC CHECKALLOC;三、检查数据库完整性的注意事项1. 在进行完整性检查之前,应该备份数据库以防止任何意外发生。
2. 在生产环境中进行完整性检查时,应该避免对数据库进行写操作,以免影响正在运行的业务。
3. 对于大型数据库,完整性检查可能需要较长的时间,应该安排在系统负载较低的时段进行。
四、检查数据库完整性的建议1. 定期检查数据库完整性,例如每周或每月进行一次完整性检查。
sqlserver数据库连接状态查询语句
sqlserver数据库连接状态查询语句在SQL Server中,可以使用以下查询语句来查看数据库连接状态:SELECTDB_NAME(dbid) AS '数据库名称',COUNT(dbid) AS '连接数量'FROMsys.sysprocessesWHEREdbid > 0GROUP BYdbid;这个查询语句使用sys.sysprocesses系统视图来获取当前数据库连接的信息。
它会返回每个数据库的名称和连接数量。
请注意,这个查询只会返回活动连接的信息,已断开的连接不会包含在结果中。
另外,如果只想查询某个特定数据库的连接状态,可以在WHERE子句中添加条件,例如:SELECTCOUNT(dbid) AS '连接数量'FROMsys.sysprocessesWHEREdbid = DB_ID('YourDatabaseName');将YourDatabaseName替换为想要查询连接状态的数据库的名称。
请注意,sys.sysprocesses视图在较新版本的SQL Server中已被标记为过时,推荐使用sys.dm_exec_sessions和sys.dm_exec_connections动态管理视图来获取连接状态信息。
以下是使用这两个视图的示例查询:SELECTDB_NAME(database_id) AS '数据库名称',COUNT(session_id) AS '连接数量'FROMsys.dm_exec_sessionsWHEREdatabase_id > 0GROUP BYdatabase_id;或者,针对特定数据库的查询:SELECTCOUNT(session_id) AS '连接数量'FROMsys.dm_exec_sessionsWHEREdatabase_id = DB_ID('YourDatabaseName');同样,将YourDatabaseName替换为要查询连接状态的数据库的名称。
基线检查
Informix数据库安全基线检查5-5-1应按照用户分配账号。
避免不同用户间共享账号。
避免用户账号和设备间通信使用的账号共享检查方法1、符合性判定依据不同用户具有不同的账号,且与其他用户、设备没有账号共享情况。
2、参考检测方法通过root 账号登录系统后查看/etc/passwd、/etc/group 文件并询问管理员,确认是否按照用户分配账号;验证分配的用户是否正常使用,使用分配账号登录,验证是否能成功登录和正常操作。
5-5-2应删除与数据库运行、维护等工作无关的账号,删除过期账号检查方法:AIX查看/etc/passwd ,/etc/group 中的informix组账户和成员账号SolarisCat /etc/shadow cat /etc/passwd检查目的是:无关账号被锁定或者是不存在密码相关的问题5-5-3对于采用静态口令进行认证的数据库,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类对于采用静态口令认证技术的数据库,账户口令的生存期不长于90 天。
对于采用静态口令认证技术的数据库,应配置数据库,使用户不能重复使用最近5 次(含5 次)内已使用的口令。
检查方法:Aix 系统查看/etc/security/user,minlen=8 口令最短为8 个字符minalpha=3 口令中最少包含3 个字母字符minother=1 口令中最少包含一个非字母数字字符编辑/etc/security/user,设置如下:maxage=12 口令最长有效期为12 周histsize=5 同一口令与前5 个口令不能重复solaris系统检查/etc/default/passwd是否设置如下参数:PASSLENGTH = 8 #设定最小用户密码长度为8 位MINALPHA=2;MINNONALPHA=1 #表示至少包括两个字母和一个非字母;对于Solaris 8 以前的版本,PWMIN 对应MINWEEKS,PWMAX 对应MAXWEEKS 等,需根据/etc/default/passwd文件说明确定。
查看SqlServer数据库的内存使用情况
查看SqlServer数据库的内存使⽤情况-- 查询SqlServer总体的内存使⽤情况select type, sum(virtual_memory_reserved_kb) VM_Reserved, sum(virtual_memory_committed_kb) VM_Commited, sum(awe_allocated_kb) AWE_Allocated, sum(shared_memory_reserved_kb) Shared_Reserved, sum(shared_memory_committed_kb) Shared_Commited--, sum(single_pages_kb) --SQL2005、2008--, sum(multi_pages_kb) --SQL2005、2008from sys.dm_os_memory_clerksgroup by typeorder by type-- 查询当前数据库缓存的所有数据页⾯,哪些数据表,缓存的数据页⾯数量-- 从这些信息可以看出,系统经常要访问的都是哪些表,有多⼤?select p.object_id, object_name=object_name(p.object_id), p.index_id, buffer_pages=count(*)from sys.allocation_units a,sys.dm_os_buffer_descriptors b,sys.partitions pwhere a.allocation_unit_id=b.allocation_unit_idand a.container_id=p.hobt_idand b.database_id=db_id()group by p.object_id,p.index_idorder by buffer_pages desc-- 查询缓存的各类执⾏计划,及分别占了多少内存-- 可以对⽐动态查询与参数化SQL(预定义语句)的缓存量select cacheobjtype, objtype, sum(cast(size_in_bytes as bigint))/1024as size_in_kb, count(bucketid) as cache_countfrom sys.dm_exec_cached_plansgroup by cacheobjtype, objtypeorder by cacheobjtype, objtype-- 查询缓存中具体的执⾏计划,及对应的SQL-- 将此结果按照数据表或SQL进⾏统计,可以作为基线,调整索引时考虑-- 查询结果会很⼤,注意将结果集输出到表或⽂件中SELECT usecounts ,refcounts ,size_in_bytes ,cacheobjtype ,objtype ,TEXTFROM sys.dm_exec_cached_plans cpCROSS APPLY sys.dm_exec_sql_text(plan_handle)ORDER BY objtype DESC ;GO 原⽂:https:///zhaoguan_wang/p/4602866.html其他⼀些有帮助的语句:1. 查看SQL语句占⽤多⼤内存:SELECT s2.dbid,s1.sql_handle,(SELECT TOP1SUBSTRING(s2.text,statement_start_offset /2+1 ,( (CASE WHEN statement_end_offset =-1THEN (LEN(CONVERT(nvarchar(max),s2.text)) *2)ELSE statement_end_offset END) - statement_start_offset) /2+1)) AS sql_statement,execution_count,plan_generation_num,last_execution_time,total_worker_time,last_worker_time,min_worker_time,max_worker_time,total_physical_reads,last_physical_reads,min_physical_reads,max_physical_reads,total_logical_writes,last_logical_writes,min_logical_writes,max_logical_writesFROM sys.dm_exec_query_stats AS s1CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2WHERE s2.objectid is nullORDER BY s1.sql_handle, s1.statement_start_offset, s1.statement_end_offset;。
SqlServer数据库安全加固
SQLServer数据库安全配置基线加固操作指导书佛山供电局信息中心2014年4月目录1.1 SQLServer数据库安全基线要求 (3)1.1.1 应对登录操作系统的用户进行身份标识和鉴别 (3)1.1.2 禁止用Administrator或System用户启动数据库 (4)1.1.3 密码策略 (4)1.1.4 用户名的唯一性 (5)1.1.5 应启用访问控制功能 (5)1.1.6 管理用户的角色分配权限 (6)1.1.7 实现操作系统和数据库系统特权用户的权限 (6)1.1.8 删除多余账户 (6)1.1.9 审计功能 (7)1.1.10 审计记录要求 (7)1.1.11 安装最新补丁 (8)1.1.12 删除默认安装数据库 (8)1.1.13 删除不必要的存储过程 (9)1.1 SQLServer数据库安全基线要求1.1.1 应对登录操作系统的用户进行身份标识和鉴别控制台根目录下的SQL Server组/数据库,右建打开数据库属性,选择安全性,将安全性中的审计级别调整为“全部”,身份验证调整为“SQL Server 和Windows”SQL Server 2000SQL Server 20051.1.2 禁止用Administrator或System用户启动数据库1.1.3 密码策略1.1.4 用户名的唯一性户名。
为每个管理员添加专门的用户名,建议实名制。
进入“SQLServer管理器->安全性->登陆名(右键)->新建用户名”进行添加数据库用户名。
1.1.5 应启用访问控制功能1.1.6 管理用户的角色分配权限查看sysadmin角色不包含应用账户。
将应用账户中从sysadmin角色中删除1.1.7 实现操作系统和数据库系统特权用户的权限1.1.8 删除多余账户1.1.9 审计功能1.1.10 审计记录要求1.1.11 安装最新补丁1.1.12 删除默认安装数据库1.1.13 删除不必要的存储过程基线要求删除不必要的存储过程基线标准不存在多余的存储过程检查方法访问管理员是否存在不必要的较危险的存储过程,如:sp_OACreatesp_OADestroysp_OAGetErrorInfosp_OAGetPropertysp_OAMethodsp_OASetPropertysp_OAStopsp_regaddmultistringxp_regdeletekeyxp_regdeletevaluexp_regenumvaluesxp_regremovemultistring除非应用程序需要否则以下存储过程也建议删除:xp_perfendxp_perfmonitorxp_perfsample xp_perfstart。
sqlserver数据库状态检查方法
sqlserver数据库状态检查方法SQL Server数据库状态检查方法SQL Server是一种常用的关系型数据库管理系统,为了确保数据库正常运行并及时发现潜在问题,我们需要定期进行数据库状态检查。
以下是一些常用的SQL Server数据库状态检查方法:1. 检查数据库是否处于运行状态:我们可以使用以下查询语句来检查数据库的状态:```SELECT Name, State_desc FROM sys.databases```这将返回所有数据库的名称和状态。
我们应该确保状态为“ONLINE”,表示数据库正在运行。
2. 检查数据库的可用空间:空间不足可能导致数据库运行缓慢或甚至崩溃。
使用以下查询语句来检查数据库的可用空间:```SELECTname AS DatabaseName,((size * 8) / 1024) AS Size_MB,((size * 8) / 1024) - (((FILEPROPERTY(name, 'SpaceUsed')) * 8) / 1024) AS FreeSpace_MBFROM sys.master_filesWHERE type = 0```这将返回数据库的名称、总大小和可用空间。
3. 检查数据库日志文件是否过大:日志文件过大可能影响数据库性能。
使用以下查询语句来检查数据库的日志文件大小:```SELECT name AS DatabaseName, size AS LogSize_MBFROM sys.master_filesWHERE type = 1```这将返回数据库的名称和日志文件的大小。
4. 检查数据库备份情况:数据库备份是保护数据完整性的关键步骤。
我们可以通过以下查询语句来检查最近的备份情况:```SELECT database_name AS DatabaseName, backup_start_date AS LastBackupDateFROM msdb.dbo.backupsetWHERE type = 'D' -- 完整备份ORDER BY backup_start_date DESC```这将返回最新的完整备份日期。
sqlserver 2012 数据库检查语法
SQL Server 2012数据库检查语法一、背景在SQL Server 2012数据库管理中,检查语法是非常重要的一项工作。
通过检查语法,可以帮助管理员及时发现数据库中存在的问题,保证数据库的高效稳定运行。
本文将详细介绍SQL Server 2012数据库检查语法的相关知识及操作方法。
二、检查语法的作用1.发现错误:检查语法能够帮助管理员及时发现数据库中存在的语法错误,如表名拼写错误、字段不存在等问题。
2.优化性能:通过检查语法,可以发现存在的性能问题,及时进行优化,提高数据库的响应速度。
3.保证数据安全:检查语法可以帮助管理员及时发现数据库中存在的安全隐患,如未授权访问、漏洞等问题。
三、SQL Server 2012数据库检查语法的方法1.使用SQL Server Management Studio进行检查在SQL Server Management Studio中,管理员可以利用查询编辑器对数据库进行语法检查。
具体操作步骤如下:(1)打开SQL Server Management Studio,连接到目标数据库;(2)在查询编辑器中编写SQL语句;(3)点击“执行”按钮进行语法检查;(4)SQL Server Management Studio将会对语法进行检查,并给出相应的错误提示。
2.使用系统存储过程进行检查SQL Server 2012中内置了一些系统存储过程,可以用于对数据库进行语法检查。
管理员可以通过执行相关的系统存储过程,对数据库进行全面的语法检查。
具体操作方法如下:(1)利用系统存储过程sp_parse,对SQL语句进行语法检查;(2)执行以下命令进行语法检查:```sqlsp_parse sqltext = 'your sql statement'```(3)系统存储过程将会返回语法检查结果,管理员可以根据结果进行相应的处理。
3.使用第三方工具进行检查除了SQL Server Management Studio和系统存储过程之外,管理员还可以利用一些第三方工具进行数据库语法检查。
山石网科漏洞扫描系统V5.5-1.9.7版本说明说明书
Version V5.5-1.9.7山石网科漏洞扫描系统V5.5-1.9.7发布概述发布日期:2022年9月27日本次发布新增基线配置核查支持RDP协议和支持批量上传Windows离线检查结果,优化漏洞引擎,提升内网存活探测准确率及漏洞检测精度。
平台和系统文件新增功能功能描述新漏洞库信息总数192236条。
在线基线扫描支持RDP协议。
基线配置核查支持批量上传Windows离线检查结果。
增加基线配置核查离线脚本(apache、tomcat、weblogic、webshere、mysql、oracle、sqlserver)。
更新了Apache ActiveMQ、Google Golang、Iteris Apache Velocity、Mozilla Firefox、Sangoma Technologies Asterisk、Linux kernel、Pillow、AdPlug、Gnome gnome-autoar、KDE Discover、wpa_supplicant组件相关的漏洞库。
新增CVE-2019-0630 SMB2远程代码执行漏洞、CVE-2020-1350 域名服务器漏洞信息扫描。
修复了MySQL弱密码漏报。
更新了Adobe Acrobat Reader、 Apache Ambari、 Struts2、Mozilla Firefox、Linux kernel、Dovecot、aiohttp、OpenSSL、OpenLDAP、Oracle Database Server、TYPO3 Core、Python、Oracle Fusion Middleware组件相关的漏洞库。
更新了artifex mupdf、 Linux kernel、 pki-core 、Samba、Caucho Technology Resin、Red Hat Directory Server、Wireshark、Cloud Native Computing CNI、Openvswitch、Google Chrome、GNOME Keyring、GNU Binutils组件相关的漏洞库。
Sql-Server实用操作-数据库一致性检测工具(DBCC)
在危急时刻,数据库一致性检测(DBCC)可能是你最重要的工具。
本文向你简单介绍DBCC 的功能,它们包括:检测表和相关目录的完整性。
检测整个数据库。
检测数据库页的完整性。
重建任何指定表中的目录。
你为何需要学习DBCC如果你甚至还不知道为何使用DBCC,下面提供一些原因:需要不断分割数据库页(表和目录),这可能会破坏分配。
目录可能遭到破坏,或效率降低。
SQL Server引擎有时会误解你的意图。
需要大量更新时,事情可能会很麻烦(记住,任何指定的更新实际为删除和插入)。
单个页面,虽然仍然“健康”,但可能会失去它们的最优存储足迹。
如何运行DBCC你可以用两种方法运行DBCC:通过命令行窗口或查询分析器(Query Analyzer)窗口。
如果你认为必要,你还可以确定其操作的时间。
(我从未感到有必要这样做,因为在微软的所有产品中,我对SQL Server的稳定性最为自信。
我认为它是雷蒙德推出的最佳产品。
但是,感觉也可能出错。
)DBCC命令包括以下扩展:CheckDB:检测整个数据库的一致性,是检查数据库破坏的基本方法。
CheckTable:检测特定表的问题。
CheckAlloc:检测数据库的单个页面,包括表和目录。
Reindex:重建某个特定表的目录。
CacheStats:说明当前存储在内存缓存中的对象。
DropCleanBuffers:释放当前存储在缓冲区中的所有数据,这样你就可以继续进行检测,而不必使用前面的结果。
Errorlog:删除(缩短)当前日志。
你可以考虑确定包含这个命令的操作的时间,一个星期左右运行一次。
FlushProclnDB:清除特定数据库的存储过程缓存(使用它的数据库id而不是名称)。
使用下列代码找出id:SELECT dbid FROM master.dbo.sysdatabasesWHERE name = '<name your poison>IndexDefrag:减少目录分裂,但不给文件加锁,以便用户能够继续应用数据库。
检测SqlServer服务器SQL语句执行情况
检测SqlServer 服务器SQL 语句执⾏情况1、查找⽬前SQL Server 所执⾏的SQL 语法,并展⽰资源情况:2、展⽰耗时查询:3、当前进程及其语句:SQL code1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 SELECT s2.dbid , DB_NAME(s2.dbid) AS [数据库名] , --s1.sql_handle , ( SELECT TOP 1 SUBSTRING (s2.text, statement_start_offset / 2 + 1, ( ( CASE WHEN statement_end_offset = -1 THEN ( LEN(CONVERT (NVARCHAR(MAX ), s2.text)) * 2 ) ELSE statement_end_offset END ) - statement_start_offset ) / 2 + 1) ) AS [语句] , execution_count AS [执⾏次数] , last_execution_time AS [上次开始执⾏计划的时间] , total_worker_time AS [⾃编译以来执⾏所⽤的 CPU 时间总量(微秒)] , last_worker_time AS [上次执⾏计划所⽤的 CPU 时间(微秒)] , min_worker_time AS [单次执⾏期间曾占⽤的最⼩ CPU 时间(微秒)] , max_worker_time AS [单次执⾏期间曾占⽤的最⼤ CPU 时间(微秒)] , total_logical_reads AS [总逻辑读] , last_logical_reads AS [上次逻辑读] , min_logical_reads AS [最少逻辑读] , max_logical_reads AS [最⼤逻辑读] , total_logical_writes AS [总逻辑写] , last_logical_writes AS [上次逻辑写] , min_logical_writes AS [最⼩逻辑写] , max_logical_writes AS [最⼤逻辑写] FROM sys.dm_exec_query_stats AS s1 CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2 WHERE s2.objectid IS NULL ORDER BY last_worker_timeDESC4、存储过程执⾏情况:5、开销较⼤的查询:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -- Current processes and their SQL statements SELECT PRO.loginame AS LoginName , AS DatabaseName ,PRO.[status] as ProcessStatus ,PRO.cmd AS Command ,st_batch AS LastBatch ,PRO.cpu AS Cpu ,PRO.physical_io AS PhysicalIo ,SES.row_count AS [RowCount] ,STM.[text] AS SQLStatement FROM sys.sysprocesses AS PRO INNER JOIN sys.databases AS DB ON PRO.dbid = DB.database_id INNER JOIN sys.dm_exec_sessions AS SES ON PRO.spid = SES.session_id CROSS APPLY sys.dm_exec_sql_text(PRO.sql_handle) AS STM WHERE PRO.spid >= 50 -- Exclude system processes ORDER BY PRO.physical_io DESC ,PRO.cpu DESC ;SQL code1 2 3 4 5 6 7 8 9 10 11 12 13 14 -- Stored Procedure Execution Statistics SELECT ISNULL ( , '') AS DatabaseName ,OBJECT_NAME(EPS.object_id, EPS.database_id) AS ObjectName ,EPS.cached_time AS CachedTime ,st_elapsed_time AS LastElapsedTime ,EPS.execution_count AS ExecutionCount ,EPS.total_worker_time / EPS.execution_count AS AvgWorkerTime ,EPS.total_elapsed_time / EPS.execution_count AS AvgElapsedTime ,(EPS.total_logical_reads + EPS.total_logical_writes) / EPS.execution_count AS AvgLogicalIO FROM sys.dm_exec_procedure_stats AS EPS LEFT JOIN sys.databases AS DBS ON EPS.database_id = DBS.database_id ORDER BY AvgWorkerTime DESC ;SQL code1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21/* 开销较⼤的查询 */ SELECT ss.SUM_execution_count , t.text , ss.SUM_total_elapsed_time , ss.sum_total_worker_time , ss.sum_total_logical_reads , ss.sum_total_logical_writes FROM ( SELECT S.plan_handle , SUM (s.execution_count) SUM_Execution_count , SUM (s.total_elapsed_time) SUM_total_elapsed_time , SUM (s.total_worker_time) SUM_total_worker_time , SUM (s.total_logical_reads) SUM_total_logical_reads , SUM (s.total_logical_writes) SUM_total_logical_writes FROM sys.dm_exec_query_stats s GROUP BY S.plan_handle ) AS ss CROSS APPLY sys.dm_exec_sql_text(ss.plan_handle) t ORDER BY sum_total_logical_reads DESC 6,1 23 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21select er.session_id,cast(csql.text AS varchar(255))AS CallingSQL from master.sys.dm_exec_requests er WITH (NOLOCK)CROSS APPLY fn_get_sql(er.sql_handle)csqlwhere er.session_id=309。
怎样查出SQLServer的性能瓶颈
怎样查出SQLServer的性能瓶颈SQL Server是一款常用的关系型数据库管理系统,可以用于存储和管理大量的数据。
然而,在使用SQL Server时,我们常常会遇到性能瓶颈的问题,导致数据库操作变慢,影响系统的正常运行。
为了解决这些问题,我们需要对SQL Server进行性能优化,首先要查出性能瓶颈。
下面将详细介绍如何查出SQL Server的性能瓶颈。
第一步:监控系统性能要查出SQL Server的性能瓶颈,首先要对系统的性能进行监控。
可以使用SQL Server自带的性能监视工具,如Performance Monitor和SQL Server Profiler。
Performance Monitor可以监控系统的硬件性能,如CPU利用率、内存使用情况、磁盘IO等;SQL Server Profiler可以监控数据库的性能,如查询执行时间、锁定情况等。
第二步:识别慢查询在监控系统性能的基础上,我们还需要识别出哪些查询存在性能问题。
可以通过查询执行计划、系统视图和性能监视器等方式来判断哪些查询的执行时间较长或者占用较多的系统资源。
1. 使用查询执行计划:在SQL Server Management Studio中执行查询时,可以选择显示查询执行计划。
执行计划可以告诉我们查询的执行过程,包括使用了哪些索引、是否进行了表扫描等。
可以通过查看执行计划中的耗时最长的操作节点来判断性能瓶颈所在。
2. 使用系统视图:SQL Server中有一些系统视图,如sys.dm_exec_query_stats和sys.dm_exec_query_plan,可以查询有关查询的性能信息。
可以通过查找执行时间最长的查询语句,并分析其执行计划,判断性能瓶颈所在。
3. 使用性能监视器:可以通过性能监视器来监控数据库的性能指标,如平均响应时间、平均锁等待时间等。
可以根据这些指标判断哪些查询存在性能问题。
第三步:分析性能瓶颈在识别出慢查询之后,我们需要对慢查询进行分析,找出性能瓶颈所在。
sqlserver巡检方案
目录1 前言 (1)1.1 目的 (1)1.2 范围 (1)1.3 内容提要 (1)2 巡检方案 (1)2.1 巡检周期 (1)2.2 巡检目标 (1)2.3 服务类型 (1)2.4 巡检方式 (1)2.5 巡检项 (1)2.5.1 服务器 (1)2.5.2 数据库 (2)2.5.3 应用系统 (3)2.5.4 网络通讯 (4)2.5.5 备份 (4)2.5.6 交易 (4)2.5.7 中间件 (5)2.5.8 系统安全 (5)2.5.9 其它检查项 (6)3 巡检出现问题及解决方案 (6)4 结果评估 (6)4.1 系统性能评估 (6)4.2 系统稳定性评估 (6)4.3 系统安全性评估 (6)4.4 系统可维护性评估 (6)5 巡检意见及建议 (6)1 前言1.1 目的【编写提示:明确乙方人员在规定周期内对系统巡检的内容,并对巡检过程提出建议。
】1.2 范围【编写提示:说明此方案所涉及的巡检系统范围以及所涉及的运维人员。
】1.3 内容提要【编写提示:对下述4点内容进行简单说明。
】2 巡检方案2.1 巡检周期【编写提示:根据运维说明书规定的巡检周期,对每次巡检日期进行登记。
】2.2 巡检目标【编写提示:根据巡检系统的特点及客户需求,重点从“交易是否正常”、“是否符合现有(业务处理)情况”、“系统性能”等方面进行说明,同时就“处理现场积压需求”的内容进行说明。
】2.3 服务类型【编写提示:根据运维说明书规定,阐述定期巡检的服务类型。
】2.4 巡检方式【编写提示:根据运维说明书规定,阐述定期巡检的巡检方式。
】2.5 巡检项2.5.1 服务器2.5.2 数据库2.5.3 应用系统2.5.4 网络通讯2.5.5 备份2.5.6 交易2.5.7 中间件2.5.8 系统安全2.5.9 其它检查项3 巡检出现问题及解决方案4 结果评估4.1 系统性能评估【编写提示:根据对系统巡检项的检查,对系统性能给出评估。
sql server查看及创建缺失索引的方法
sql server查看及创建缺失索引的方法在SQLServer中,索引是数据库性能的关键因素之一。
索引可以加快查询速度,提高数据库的响应速度和效率。
然而,有时候我们可能会发现数据库中存在一些缺失的索引,这可能会影响查询性能。
本文将介绍如何查看和创建缺失的索引。
一、查看缺失索引的方法1.使用系统视图:SQLServer提供了许多系统视图,用于查看数据库中现有的索引和存在的问题。
例如,sys.dm_db_missing_index_stats视图提供了关于缺失索引的统计信息,包括缺失索引的表、列、查询和统计信息等。
通过查询该视图,可以快速了解哪些查询缺少索引,以及缺失的原因。
2.使用SQLServerManagementStudio(SSMS):SSMS是SQLServer的官方管理工具,提供了丰富的功能来查看和管理数据库对象。
在SSMS中,可以使用对象资源管理器来查看数据库中的表和索引,并使用查询窗口来执行查询并查看结果。
通过比较查询结果和实际数据,可以发现是否存在缺失的索引。
3.使用SQL查询分析器:SQL查询分析器是另一个常用的SQLServer工具,提供了强大的查询分析功能。
通过使用查询分析器,可以执行复杂的查询语句,并分析查询性能和瓶颈。
在查询分析器中,可以使用索引优化器来评估查询的性能,并建议添加缺失的索引。
二、创建缺失索引的方法1.使用CREATEINDEX语句:CREATEINDEX语句用于创建新的索引。
在创建索引时,可以根据需要指定表、列和排序规则等参数。
通过使用CREATEINDEX语句,可以根据查询性能和数据分布等因素来创建合适的索引。
例如,假设有一个名为Orders的表,其中包含OrderID、CustomerID和OrderDate列。
经常需要按照CustomerID和OrderDate列进行查询。
可以创建一个复合索引来提高查询性能:```sqlCREATEINDEXidx_Orders_CustomerID_OrderDateONOrders(CustomerID,OrderDate);```2.使用DBCC命令:DBCC命令是SQLServer提供的一种用于维护数据库的工具。
基线检查——精选推荐
基线检查功能描述使⽤基线检查功能可⾃动检测服务器上的系统、账号、数据库、弱密码、合规性配置中存在的风险点,并提供加固建议。
具体检测内容,请参见表。
基线检查默认每隔⼀天在00:00-06:00进⾏⼀次全⾯的⾃动检测。
⽀持⽤户⾃⾏添加和管理基线扫描策略,⾃定义需要检查的基线项⽬、检查周期、检测触发时间和应⽤该策略的服务器。
限制说明基线检查功能为云安全中⼼的增值服务,仅企业版⽤户可开通和使⽤该服务。
基础版和⾼级版⽤户都需先升级到企业版才可使⽤基线检查功能。
部分弱密码检测项(例如:MySQL弱密码检测、PostgreSQL弱密码检测、Microsoft SQLServer弱密码检测可能采⽤尝试登录的⽅式进⾏检测,从⽽会占⽤⼀定的服务器资源,产⽣较多的登录失败记录)和系统等保、CIS标准检测项默认关闭。
如果您需要检查该项⽬,请确认上述风险后,在⾃定义基线扫描策略时勾选这些检测项⽬。
基线检查内容基线检查项分类检测项数据库检测Redis、Memcached、MongoDB、MySQL、Oracle 11g⾼危监听配置风险以及启动权限配置风险。
系统等保合规基线检查对标中国等保2.0第⼆/三等级保护基本要求的部分检查项⽬;安全基线检查对标阿⾥云和CIS标准。
系统⽀持的基线检测项具体包含以下内容。
Aliyun Linux 2等保合规基线检查和阿⾥云、CIS标准安全基线检查CentOS Linux 6/7等保合规基线检查和阿⾥云、CIS标准安全基线检查Redhat Linux 6/7等保合规基线检查和阿⾥云标准安全基线检查Ubuntu阿⾥云标准安全基线检查Ubuntu 14/16等保合规基线检查和CIS标准安全基线检查Debian Linux 8等保合规基线检查和阿⾥云、CIS标准安全基线检查Windows 2008 R2、2012 R2、2016 R2和2019 R2等保合规检查和阿⾥云、CIS标准安全基线检查BCLinux 6/7等保合规基线检查SUSE 10/11/12等保合规基线检查弱密码检测PostgreSQL弱密码检测Windows系统登录弱⼝令检测Microsoft SQL Server弱密码检测Linux系统登录弱⼝令检测MySQL弱密码检测MongoDB登录弱⼝令检测(⽀持2.x版本)FTP匿名登录配置检测FTP登录弱⼝令检测中间件Apache、Apache Tomcat、Docker、IIS 8、Nginx、WebSphere Application Server、WebLogic Server 12c阿⾥云标准安全基线检查。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统中不存在口令为空的登录账号则合规,否则不合规.
检查点
检查是否存在空口令账号
结果
截图
并说明符合/不符合,不符合的需整改为符合
加固方案
参考步骤:
(1).打开SQL Server Management Studio,连接相应的数据库实例.
(2).依次展开“安全性”、“登录名”节点,打开相应的帐户的属性,选择“常规”选项卡,设置密码并确认密码.
(4). 单击“更改范围”.
(5). 指定要为其阻止此端口的一系列计算机,然后单击“确定”.
如果修改了SQL Sever监听端口,请在自定义参数配置页面,修改端口参数.
Sqlserver-9
禁止SA账户远程登录
判定依据
检测步骤:
使用查询分析器,使用SA账号不能连接SQL server
判定依据:
sa登录账号不能登录数据库则合规,否则不合规.
检查点
检查SQL Server用户账号个数
结果
截图
并说明符合/不符合,不符合的需整改为符合
加固方案
参考步骤:
(1).打开SQL Server Management Studio(在SQL Server 2000下打开企业管理器),登入相应的数据库实例.
(2).依次展开“安全性”、“登录名”(在SQL Server 2000下为“登录”)节点,创建多个账户.按照实际情况赋予账户相应的角色.
判定依据
检测步骤:
执行以下命令查看LoginMode的值:
#reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer" /v LoginMode #注意注册表路径不固定,请依据实际情况确定
判定依据:
LoginMode的值为0x2则合规,否则不合规.
检查点
检查 “服务器身份验证”模式
结果
截图
并说明符合/不符合,不符合的需整改为符合
加固方案
参考步骤:
(1).打开SQL Server Management Studio(在SQL Server 2000下打开企业管理器),连接相应的数据库实例.
判定依据
检测步骤:
使用以下命令检查系统是否将如下扩展存储过程的执行权限赋予public角色
#select name from sysobjects where id in(select major_id from sys.database_permissionswhere grantee_principal_id=DATABASE_PRINCIPAL_ID('public') and permission_name='EXECUTE' and state_desc != 'DENY' and major_id in (select id from sysobjects where name in( 'xp_cmdshell','sp_OACreate','sp_OADestroy','sp_OAGetErrorInfo','sp_OAGetProperty','sp_OAMethod','sp_OASetProperty','sp_OAStop','xp_regaddmultistring','xp_regdeletekey','xp_regdeletevalue','xp_regenumvalues','xp_regremovemultistring','xp_sdidebug','xp_availablemedia','xp_cmdshell','xp_deletemail','xp_dirtree','xp_dropwebtask','xp_dsninfo','xp_enumdsn','xp_enumerrorlogs','xp_enumgroups','xp_enumqueuedtasks','xp_eventlog','xp_findnextmsg','xp_fixeddrives','xp_getfiledetails','xp_getnetname','xp_logevent','xp_loginconfig','xp_logininfo','xp_makewebtask','xp_msver xp_perfend','xp_perfmonitor','xp_perfsample','xp_perfstart','xp_readerrorlog','xp_readmail','xp_run ebtask','xp_schedulersignal','xp_sendmail','xp_servicecontrol','xp_snmp_getstate','xp_snmp_raisetrap','xp_sprintf ','xp_sqlinventory','xp_sqlregister','xp_sqltrace','xp_sscanf','xp_startmail' ,'xp_stopmail' ,'xp_subdirs' ,'xp_unc_to_drive')));
判定依据:
ForceEncryption的值为0x1则合规,否则不合规.
检查点
检查是否使用通讯协议加密
结果
截图
并说明符合/不符合,不符合的需整改为符合
加固方案
参考配置操作
(1).单击"开始",在 Microsoft SQL Server 程序组中,指向"配置工具",再单击"SQL Server Configuration Manager"。
加固方案
参考步骤:
(1).打开SQL Server Management Studio,连接相应的数据库实例.
(2).依次展开“安全性”、“登录名”节点,打开相应的帐户的属性,选择“常规”选项卡,勾选“强制实施密码策略”;在SQL Server 2000中,请手动检查.
Sqlserver-7
检查是否强制密码过期
(3)在"身份验证"下,只选择"Windows ".
(4) 重新启动SQL Server服务.
说明(加固该项之前请慎重):
1)此项仅在使用“使用 Windows 身份验证”的模式下适用.
2)做了此项限制,只能使用Windows账号本地登录数据库,需要赋予相应权限.
3.
Sqlserver-10
检查身份验证设置是否安全
Sqlserver-3
检查是否存在空口令登录名
判定依据
检测步骤:
执行以下命令查看系统中是否存在口令为空的登录账号:
#select * from syslogins where sid in(select sid from sysusers where issqluser=1) and password is null;
(2).依次展开“安全性”、“登录名”(在SQL Server 2000下为“登录”)节点,删除“BUILTIN\Administrators”用户.
Sqlserver-5
查看sa登录名是否被修改
判定er,登录失败.
判定依据:
重命名sa登录名名称则合规,否则不合规
(2).在数据库名称上点击右键,打开其属性对话框,选择“安全性”选项卡,将“登录审核”(在SQL Server 2000下为“审核级别”)更改为“失败和成功的登录”(在SQL Server 2000下为“全部”).
(3).重启数据库使之生效。
4.
Sqlserver-12
使用通讯协议加密
判定依据
检查步骤:
#select name from sys.sql_logins where is_policy_checked = 0 and name not like '##%';
判定依据:
系统不存在未强制实施密码策略的用户
检查点
检查是否强制实施密码策略(密码复杂度)
结果
截图
并说明符合/不符合,不符合的需整改为符合
判定依据:
AuditLevel的值为0x3则合规,否则不合规.
检查点
检查 “登录审核”级别
结果
截图
并说明符合/不符合,不符合的需整改为符合
加固方案
参考步骤:
(1).打开SQL Server Management Studio(在SQL Server 2000下打开企业管理器),连接相应的数据库实例.
1.
Sqlserver-1
检查是否按照用户分配帐号
判定依据
检测步骤:
执行以下命令查看SQL Server用户账号个数
#select count(name) from master..syslogins where isntname=0 and name not like '##%'