SQL Server DBA维护常用语句_MsSql

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 )

时间: 2024-10-25 09:03:24

SQL Server DBA维护常用语句_MsSql的相关文章

SQL Server DBA维护常用语句

1.检查数据库完整性复制代码 代码如下:dbcc checkdb(test)--通过加tablock提高速度 dbcc checkdb(test) with tablock2.数据库重命名.修改恢复模式.修改用户模式复制代码 代码如下:--数据库重命名  ALTER DATABASE WC  MODIFY NAME = test --设置数据库为完整恢复模式alter database testset recovery full --只允许一个用户访问数据库  alter database te

详解SQL Server的简单查询语句_MsSql

前言 对于一些原理性文章园中已有大量的文章尤其是关于索引这一块,我也是花费大量时间去学习,对于了解索引原理对于后续理解查询计划和性能调优有很大的帮助,而我们只是一些内容进行概括和总结,这一节我们开始正式步入学习SQL中简单的查询语句,简短的内容,深入的理解. 简单查询语句 所有复杂的语句都是由简单的语句组成基本都是由SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY等组成,当然还包括一些谓词等等.比如当我们要查询某表中所有数据时我们会像如下进行. SELECT

SQL Server DBA日常检查常用SQL_MsSql

1.数据库 复制代码 代码如下: --所有数据库的大小  exec sp_helpdb    --所有数据库的状态  select name,         user_access_desc,           --用户访问模式         state_desc,                 --数据库状态         recovery_model_desc,        --恢复模式         page_verify_option_desc,    --页检测选项   

SQL Server DBA日常检查常用SQL

1.数据库 复制代码 代码如下:--所有数据库的大小  exec sp_helpdb --所有数据库的状态  select name,         user_access_desc,           --用户访问模式         state_desc,                 --数据库状态         recovery_model_desc,        --恢复模式         page_verify_option_desc,    --页检测选项       

一名小小的SQL Server DBA想谈一下SQL Server的能力

原文:一名小小的SQL Server DBA想谈一下SQL Server的能力 一名小小的SQL Server DBA想谈一下SQL Server的能力 百度上暂时还没有搜索到相关的个人写的比较有价值的文章至少在中文网络的世界里面没有 但是在微软的网站有这样一篇文章<比较 SQL Server 与 IBM DB2> 文章从下面几个方面进行了对比 1.TCO和ROI2.性能和可扩展性3.高可用性4.安全5.管理6.开发效率7.商业智能和数据仓库8.OLTP9.SAP集成 文章介绍得比较牛逼 性能

SQL Server DBA:那些年,我们一起用过的工具

作为SQL Server DBA,我们常常抱怨微软自带工具的种种不好,但能做到开箱 即用已经很难得.SQL Server 2012中包含了以下三种单独的GUI工具,供SQL Server DBA与开发者使用. 1.2005年推出的SQL Server Management Studio 2.同样于2005年推出的SQL Server Business Intelligence Development Studio 3.2012年全新推出的SQL Server Data Tools SQL Ser

2年SQL Server DBA调优方面总结

原文:2年SQL Server DBA调优方面总结 2年SQL Server DBA调优方面总结 当2年dba 我觉得,有些东西需要和大家分享探讨,先书单. 书单 1.<深入解析SQL Server 2008 系列> 这个就是mssql 2005 的技术内幕系列.2012版的也出了有兴趣可以看看,技术内幕系列是我接触最早的书,里面内容涵盖量很大,但是都是点到为止.所以很多都是可以细细品味,回头再看的. 2.<Troubleshooting SQL Server A Guide for t

SQL Server DBA需要知道的三件事

TechTarget记者有幸在六月采访了SQL Server顾问和热门博客写手Denny Cherry.他谈到了对于SQL Server DBA需要知道的三件事,并请介绍了SQL Server的发展趋势. 1.SQL Server 2012已经发布.Cherry说:"我遇到 很多人问我,SQL Server 2012什么时间发布.实际上它已经发布了."为什么还 会有这种困惑呢?微软近期发布的新产品太多了,包括Window Server 2012和 Digital Studio 2012

Microsoft SQL Server 2005数据库镜像语句

Microsoft SQL Server 2005数据库镜像语句: SERVER 1 CREATE ENDPOINT DbMirroring STATE=STARTED AS TCP(LISTENER_PORT=5023) FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED) ALTER DATABASE AdventureWorks SET PARTNER='TCP://192.168.5.106:5022' SERVER 2 CR