sqlserver管理及维护.docx

上传人:b****6 文档编号:9274216 上传时间:2023-02-03 格式:DOCX 页数:10 大小:481.67KB
下载 相关 举报
sqlserver管理及维护.docx_第1页
第1页 / 共10页
sqlserver管理及维护.docx_第2页
第2页 / 共10页
sqlserver管理及维护.docx_第3页
第3页 / 共10页
sqlserver管理及维护.docx_第4页
第4页 / 共10页
sqlserver管理及维护.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

sqlserver管理及维护.docx

《sqlserver管理及维护.docx》由会员分享,可在线阅读,更多相关《sqlserver管理及维护.docx(10页珍藏版)》请在冰豆网上搜索。

sqlserver管理及维护.docx

sqlserver管理及维护

 

1引言

1.1编写目的

便于对数据库进展管理、维护

1.3背景

以下6个需求:

1.数据库访问IP控制

2.数据库连接情况监控语句

3.找出SQL执行耗时操作语句

4.数据库整体资源负荷语句

5.数据库中杀死访问进程语句

6.数据库存储空间情况语句

2sqlserver管理与维护

2.1需求的优化

i.数据库中杀死访问进程语句在数据库连接情况监控语句可以实现,两个合并成一个。

ii.数据库整体资源负荷语句,分别在数据库连接情况监控语句和数据库存储空间情况语句中实现,分别与另外两个合并

iii.找出SQL执行耗时操作语句,语意不清晰,建议改成:

查看sql语句的执行时间。

2.2数据库访问IP控制

2.2.1创立登录触发器,限制IP地址登录

步骤1.创立IP过滤表〔仅允许表的IP登录〕

USEcyt

GO

CREATETABLEValidIP(

IPNVARCHAR(15),

);

GO

步骤2.插入过滤IP。

例:

USEcyt

GO

INSERTINTOdbo.ValidIP(IP)VALUES('192.168.1.94');

步骤3.创立登录触发器、

CREATETRIGGER[tr_logon_CheckIP]

ONALLSERVER

FORLOGON

AS

BEGIN

DECLAREIPNVARCHAR(15);

SETIP=(SELECTEVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]','NVARCHAR(15)'));

IFNOTEXISTS(SELECTIPFROM[cyt].[dbo].[ValidIP]WHEREIP=IP)

ROLLBACK;

END;

 

步骤4.其他限制:

一〕如果需要限制登录用户名使用如下的判断:

ORIGINAL_LOGIN()='sa'

例:

CREATETRIGGER[tr_connection_limit]

ONALLSERVER

FORLOGON

AS

BEGIN

--限制test这个XX的连接

IFORIGINAL_LOGIN()='test'

ROLLBACK;

END;

二〕如果需要限制数据库角色使用如下的判断:

IS_SRVROLEMEMBER('sysadmin')=1

例:

CREATETRIGGER[tr_logon_CheckIP]

ONALLSERVER

FORLOGON

AS

BEGIN

--限制数据库角色为sysadmin的用户登录

IFIS_SRVROLEMEMBER('sysadmin')=1

BEGIN

ROLLBACK;

END;

END;

 

2.2.2删除登录触发器

场景1.如果数据库依然能连接连接的话使用如下的语句对登录触发器进展删除:

droptrigger登录触发器名onallserver

本例中对应的删除语句:

droptriggertr_logon_CheckIPonallserver

场景2.如果数据库连接不上,在命令行通过使用DAC专用管理员连接,方法如下:

一、使用DAC专用管理员连接,在命令行输入如下命令:

sqlcmd–A–S效劳器名称

查看sqlserver效劳器名称使用如下的命令:

selectServername

本地效劳器的效劳器名称是poem-PC对应的命令如下:

sqlcmd-A-Spoem-PC

二、连接成功后输入上面删除登录触发器的语句:

droptriggertr_logon_CheckIPonallserver

go

DAC连接成功的界面如下:

 

DAC删除登录触发器删除成功的界面如下:

 

2.3数据库连接情况监控语句

开场——所有程序——Microsoftsqlserver2012——SQLServerManagementStudio

截图如下:

连接到对象资源管理器,截图如下:

 

点击后,连接前:

 

连接后:

 

点击后出现如下的界面:

 

2.4查看sql语句的执行时间

SETSTATISTICSPROFILEON

SETSTATISTICSIOON

SETSTATISTICSTIMEON

GO

/*--你的SQL脚本开场*/

SELECT*FROMtb_account〔例〕

GO

/*--你的SQL脚本完毕*/

SETSTATISTICSPROFILEOFF

SETSTATISTICSIOOFF

SETSTATISTICSTIMEOFF

2.5数据库存储空间情况语句

1.查看整个数据库存储空间的使用情况:

输入如下的命令:

sp_spaceused

返回值说明:

Ødatabase_name:

当前数据库的名称

Ødatabase_size:

当前数据库的大小

Øunallocated:

数据库的未分配空间

2.查看指定数据库表的存储空间使用情况:

输入如下的命令:

sp_spaceused表名

例:

sp_spaceusedtb_info

返回值说明:

Øname:

为其请求空间使用信息的表名

Ørows:

所请求的数据库表中现有的行数

Øreserved:

为表保存的空间总量

Ødata:

表中的数据所使用的空间量

Øindex_size:

表中的数据所使用的空间量

Øunused:

表中未用的空间量

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1