首页 MsSql SQL Server DBA维护常用语句

SQL Server DBA维护常用语句

数据库的日常维护,可以通过SQL Server中的维护计划来自动实现,非常方便。不过,也不是所有的维护,都可以通过维护计划来实现, 下面将通过代码来实现

1、检查数据库完整性
代码如下:–通过加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、移动文件
代码如下:–所以必须把整个数据库设置为离线
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’,–收缩后,数据库文件中空间空间占用的百分比
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,
SORT_IN_TEMPDB = OFF )

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/mssql/20201204/12979.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部