sqlserver数据库得管理及维护

这篇具有很好参考价值的文章主要介绍了sqlserver数据库得管理及维护。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

sqlserver数据库得管理及维护



前言

Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。
1、高性能设计,可充分利用WindowsNT的优势。
2、系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
3、强壮的事务处理功能,采用各种方法保证数据的完整性。
4、持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。


一、手动备份及恢复

有备无患才是最安全得选择,即使天塌地陷,山崩地裂也无惧
打开SQL Server Management Studio
sqlserver数据库得管理及维护
点击备份
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
还原数据库
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护

二、自动备份及定期清除备份集计划

管理-右键维护计划
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
无报错说明配置无问题
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
设置每天执行,没有结束日期。
sqlserver数据库得管理及维护
最后ctrl+s保存就好了
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
为防止数据文件过多占用磁盘空间,可以设置过去一周清除计划。
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
最后得结果就是这样得,最后不要忘记保存ctrl+s
sqlserver数据库得管理及维护

三、数据库日志收缩

随着数据库使用时间增长,日志文件也在不停的增大,在此总结几个方法供参考,不管哪种方法,只要操作数据库就要注意先备份,以防万一。

方法一:直接通过企业管理器收缩日志

1、SQL Server Management Studio,数据库,使用数据库右键属性,选项,恢复模式,由完整更改为简单;
2、数据库右键,任务,收缩,文件,文件类型由数据更改为日志,点击确定进行日志收缩;
3、SQL Server Management Studio,数据库,使用数据库右键属性,选项,恢复模式,由简单更改为完整。
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护

方法二:分离数据库及日志文件

分离数据库 企业管理器->服务器->数据库->右键->分离数据库
删除或剪切ldf.log文件
附加数据库 企业管理器->服务器->数据库->右键->附加数据库
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护
sqlserver数据库得管理及维护

四、数据库索引碎片处理

SQL Server Management Studio (SSMS)连接数据库以后,展开数据库,展开表的索引,右键某条索引属性可查看其碎片;索引碎片比例要求小于60%,若索引碎片大多超过90%,需要备份数据库之后重建整个数据库所有索引:索引右键重新生成或者执行重建索引存储过程。存储过程sql如下:

IF OBJECT_ID('REBUILD_ALL_INDEX_FOR_MSSQL') IS NOT NULL DROP PROC REBUILD_ALL_INDEX_FOR_MSSQL;

go

CREATE PROCEDURE [dbo].[REBUILD_ALL_INDEX_FOR_MSSQL]
AS
  DECLARE @tablename varchar(100);
  DECLARE @indexname varchar(300);
BEGIN
  print 'REBUILD_ALL_INDEX_FOR_MSSQL - 20190427.1'
  print 'Challenge Your Won, Challengy Won'
  print ' '
  declare _table cursor for select name from sysobjects where xtype='U' order by name
  OPEN _table
  fetch next from _table into @tablename
  while (@@fetch_status=0)
  begin

    declare _index cursor for select i.name from sysindexes i JOIN sysobjects c ON i.id = c.id WHERE i.indid NOT IN ( 0, 255 ) and i.root is not null AND c.name = @tablename ORDER BY i.name
    open _index
    fetch next from _index into @indexname
    while (@@fetch_status=0)
    begin

      print convert(varchar(20),getdate(),120)+' exec -> ALTER INDEX '+@indexname+' on '+@tablename+' REBUILD'
      exec('ALTER INDEX '+@indexname+' on '+@tablename+' REBUILD')
      print convert(varchar(20),getdate(),120)
      print ' '

    fetch next from _index into @indexname
    end
    close _index
    deallocate _index

  fetch next from _table into @tablename
  end
  close _table
  deallocate _table
END

go

EXEC [dbo].[REBUILD_ALL_INDEX_FOR_MSSQL];

go

五、常用SQL语句

按照表大小进行排序查询文章来源地址https://www.toymoban.com/news/detail-464135.html

SELECT A.NAME ,B.ROWS  FROM sysobjects  A JOIN sysindexes B ON A.id = B.id 
WHERE A.xtype = 'U' AND B.indid IN(0,1) AND B.rows>0 ORDER BY B.ROWS DESC

到了这里,关于sqlserver数据库得管理及维护的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包