侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

SQL Server DBA维护常用语句

数据库  /  管理员 发布于 5年前   426

1、检查数据库完整性
复制代码 代码如下:dbcc checkdb(test)
--通过加tablock提高速度
dbcc checkdb(test) with tablock
2、数据库重命名、修改恢复模式、修改用户模式
复制代码 代码如下:
--数据库重命名 
ALTER DATABASE WC 
MODIFY NAME = test

--设置数据库为完整恢复模式
alter database test
set recovery full

--只允许一个用户访问数据库 
alter database test 
set single_user  
with rollback after 10 seconds --指定多少秒后回滚事务 

--只有sysadmin,dbcreator,db_owner角色的成员可以访问数据库 
alter database wc 
set restricted_user  
with rollback immediate        --立即回滚事务 

--多用户模式
alter database wc 
set multi_user 
with no_wait       --不等待立即改变,如不能立即完成,那么会导致执行错误

2、扩展数据库:增加文件组、增加文件、修改文件大小、修改文件的逻辑名称
复制代码 代码如下:
--添加文件组
ALTER DATABASE test
ADD FILEGROUP WC_FG8


--添加数据文件
ALTER DATABASE test
ADD FILE
(
  NAME = WC_FG8,
  FILENAME = 'D:\WC_FG8.ndf',
  SIZE = 1mb,
  MAXSIZE = 10mb,
  FILEGROWTH = 1mb
)
TO FILEGROUP WC_FG8


--添加日志文件
ALTER DATABASE test
ADD LOG FILE
(
  NAME = WC_LOG3,
  FILENAME = 'D:\WC_FG3.LDF',
  SIZE = 1MB,
  MAXSIZE = 10MB,
  FILEGROWTH = 100KB
)


--修改数据文件的大小,增长大小,最大大小
ALTER DATABASE test
MODIFY FILE
(
  NAME = 'WC_FG8',
  SIZE = 2MB,      --必须大于之前的大小,否则报错
  MAXSIZE= 8MB,
  FILEGROWTH = 10%
)


--修改数据文件或日志文件的逻辑名称
ALTER DATABASE test
MODIFY FILE
(
  NAME = WC_LOG3,
  NEWNAME = WC_FG33
)
3、移动文件
复制代码 代码如下:--由于在SQL Server中文件组、文件不能离线
--所以必须把整个数据库设置为离线
checkpoint
go

ALTER DATABASE WC
SET OFFLINE
go

--修改文件名称
ALTER DATABASE WC
MODIFY FILE
(
  NAME = WC_fg8,
  FILENAME = 'D:\WC\WC_FG8.NDF'
)
go

--把原来的文件复制到新的位置:'D:\WC\WC_FG8.NDF'


--设置数据库在线
ALTER DATABASE WC
SET ONLINE
4、设置默认文件组、只读文件组
复制代码 代码如下:
--设置默认文件组
ALTER DATABASE WC
MODIFY FILEGROUP WC_FG8 DEFAULT


--设为只读文件组
--如果文件已经是某个属性,不能再次设置相同属性
ALTER DATABASE WC
MODIFY FILEGROUP WC_FG8 READ_WRITE
5、收缩数据库、 收缩文件
--收缩数据库 
DBCC SHRINKDATABASE('test',    --要收缩的数据库名称或数据库ID 
                    10         --收缩后,数据库文件中空间空间占用的百分比 
                    ) 

 
DBCC SHRINKDATABASE('test',    --要收缩的数据库名称或数据库ID 
                    10,        --收缩后,数据库文件中空闲空间占用的百分比 
                    NOTRUNCATE --在收缩时,通过数据移动来腾出自由空间 
                    ) 

                     
DBCC SHRINKDATABASE('test',      --要收缩的数据库名称或数据库ID 
                    10,          --收缩后,数据库文件中空间空间占用的百分比 
                    TRUNCATEONLY --在收缩时,只是把文件尾部的空闲空间释放 
                    ) 

 
--收缩文件 
DBCC SHRINKFILE(wc_fg8,   --要收缩的数据文件逻辑名称 
                7         --要收缩的目标大小,以MB为单位 
                ) 

DBCC SHRINKFILE(wc_fg8,   --要收缩的数据文件逻辑名称 
                EMPTYFILE --清空文件,清空文件后,才可以删除文件 
                )

6、删除文件、 删除文件组
复制代码 代码如下:
--要删除文件,必须要先把文件上的数据删除,或者移动到其他文件或文件组上

--删除数据后,必须要清空文件的内容
DBCC SHRINKFILE(WC_FG8,EMPTYFILE)

--删除文件,同时也在文件系统底层删除了文件
ALTER DATABASE test
REMOVE FILE WC_FG8

--要删除文件组,必须先删除所有文件

--最后删除文件组
ALTER DATABASE test
REMOVE FILEGROUP WC_FG8
7、重新组织索引

ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock]
REORGANIZE
WITH ( LOB_COMPACTION = ON )
8、重新生成索引
复制代码 代码如下:
ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock]
REBUILD PARTITION = ALL
WITH ( PAD_INDEX  = OFF,
       STATISTICS_NORECOMPUTE  = OFF,
       ALLOW_ROW_LOCKS  = ON,
       ALLOW_PAGE_LOCKS  = ON,
       ONLINE = OFF,
       SORT_IN_TEMPDB = OFF )
9、更新统计信息
复制代码 代码如下:
--更新表中某个的统计信息 
update statistics temp_lock(_WA_Sys_00000001_07020F21) 

update statistics temp_lock(_WA_Sys_00000001_07020F21) 
with sample 50 percent 

update statistics temp_lock(_WA_Sys_00000001_07020F21) 
with resample,    --使用最近的采样速率更新每个统计信息 
     norecompute  --查询优化器将完成此统计信息更新并禁用将来的更新 

--更新索引的统计信息 
update statistics temp_lock(idx_temp_lock_id) 
with fullscan         

--更新表的所有统计信息 
update statistics txt 
with all
10、执行SQL Server代理作业

11、备份数据库(完整、差异、日志备份),这个在其他文章中已有详细描述,这里不再赘述。
复制代码 代码如下:
ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock]
REBUILD PARTITION = ALL
WITH ( PAD_INDEX  = OFF,
       STATISTICS_NORECOMPUTE  = OFF,
       ALLOW_ROW_LOCKS  = ON,
       ALLOW_PAGE_LOCKS  = ON,
       ONLINE = OFF,
       SORT_IN_TEMPDB = OFF )


  • 上一条:
    sql带分隔符的截取字符串示例
    下一条:
    SQL Server DBA日常检查常用SQL
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 分库分表的目的、优缺点及具体实现方式介绍(0个评论)
    • DevDB - 在 VS 代码中直接访问数据库(0个评论)
    • 在ubuntu系统中实现mysql数据存储目录迁移流程步骤(0个评论)
    • 在mysql中使用存储过程批量新增测试数据流程步骤(0个评论)
    • php+mysql数据库批量根据条件快速更新、连表更新sql实现(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2017-06
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-05
    • 2018-10
    • 2018-11
    • 2020-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2021-02
    • 2021-04
    • 2021-07
    • 2021-08
    • 2021-11
    • 2021-12
    • 2022-02
    • 2022-03
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-07
    • 2023-08
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-03
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客