SQL Server DBA日常运维语句(下)

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 今天我们介绍一下,日常工作中的一些运维语句,可以当作工具直接来使用。

6、收缩数据库、收缩文件

--收缩数据库  
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 --清空文件,清空文件后,才可以删除文件  
               )


7、删除文件、删除文件组

7.1.要删除文件,必须要先把文件上的数据删除,或者移动到其他文件或文件组上


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


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


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

--最后删除文件组
ALTER DATABASE test
REMOVE FILEGROUP WC_FG8


8、重新组织索引

ALTER INDEX [idx_temp_lock_id]
ON [dbo].[temp_lock] REORGANIZE
WITH ( LOB_COMPACTION = ON )


use testgo
select 'DBCC INDEXDEFRAG('+db_name()+','+o.name+','+i.name + ');'
       --,db_name(),
       --o.name,
       --i.name,
       --i.*
from sysindexes iinner join sysobjects o        
     on i.id = o.idwhere o.xtype = 'U'
     and i.indid >0
     and charindex('WA_Sys',i.name) = 0



9、重新生成索引

ALTER INDEX [idx_temp_lock_id]
ON [dbo].[temp_lock]
REBUILD PARTITION =
ALLWITH ( PAD_INDEX  = OFF,
      STATISTICS_NORECOMPUTE  = OFF,
      ALLOW_ROW_LOCKS  = ON,
      ALLOW_PAGE_LOCKS  = ON,
      ONLINE = OFF,
      SORT_IN_TEMPDB = OFF )



10、更新统计信息

--更新表中某个的统计信息  
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



11、执行SQL Server代理作业

exec msdb.dbo.sp_start_job
   @job_name =N'job_update_sql';


请大家收藏以后备用~

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
打赏
0
0
0
0
15
分享
相关文章
|
2月前
|
通义灵码在DBA日常SQL优化中的使用分享
通义灵码在DBA日常SQL优化中的使用分享
173 1
通义灵码在DBA日常SQL优化中的使用分享
如何在 Java 代码中使用 JSqlParser 解析复杂的 SQL 语句?
大家好,我是 V 哥。JSqlParser 是一个用于解析 SQL 语句的 Java 库,可将 SQL 解析为 Java 对象树,支持多种 SQL 类型(如 `SELECT`、`INSERT` 等)。它适用于 SQL 分析、修改、生成和验证等场景。通过 Maven 或 Gradle 安装后,可以方便地在 Java 代码中使用。
127 11
MySQL 运维 SQL 备忘
MySQL 运维 SQL 备忘录
60 1
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
SQL Server 运维常用sql语句(二)
SQL Server 运维常用sql语句(二)
51 3
Sql Server日常运维看我这篇就够了!
Sql Server日常运维看我这篇就够了!
144 2
|
5月前
|
SQL Server 运维常用sql语句(三)
SQL Server 运维常用sql语句(三)
47 1
|
6月前
|
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
163 13
|
6月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等