SQL Server DBA维护常用语句
发布时间:2024-01-22 01:47:00
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 )
猜你喜欢
- 在Microsoft OfficeAccess和 Microsoft OfficeExcel之间存在多种交换数据的方法。若要将Access中
- 很对编程语言都支持递归函数,Go语言也不例外,所谓递归函数指的是在函数内部调用函数自身的函数,从数学解题思路来说,递归就是把一个大问题拆分成
- 环境:Zend Studio 8.0Zend Studio是PHP开发者的首选开发工具,其地位相当于微软开发工具中的Visual Studi
- 我最新最全的文章都在 南瓜慢说 www.pkslow.com ,欢迎大家来喝茶!1 数据库审计数据库审计是指当数据库有记录变更时,可以记录数
- 一、Python字符编码介绍1、须知:在python 2中默认编码是 ASCII,而在python 3中默认编码是 unicodeunico
- 现在我们用python代码实现感知器算法。# -*- coding: utf-8 -*-import numpy as npclass Pe
- 综述本系列文档用于对Python爬虫技术进行简单的教程讲解,巩固自己技术知识的同时,万一一不小心又正好对你有用那就更好了。Python 版本
- 又发一个js版幻灯片,接口比较少,但功能和外观都还不错的,可自定义切换时间:)method: adRotator.initialize(容器
- 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) &
- 前言康威生命游戏设计并不难,我的思路就是借助pygame进行外观的展示,最近一段时间的游戏项目都是使用pygame进行的,做起来比较顺利。内
- 本文实例讲述了Python通过调用有道翻译api实现翻译功能。分享给大家供大家参考,具体如下:通过调用有道翻译的api,实现中译英、其他语言
- 本文实例讲述了Sql Server事务语法及使用方法。分享给大家供大家参考,具体如下:事务是关于原子性的。原子性的概念是指可以把一些事情当做
- python解决指定代码段超时程序卡死最近我写的一个程序中遇到了解析网页的代码,对于网页信息比较多的可能会超时,最后解析失败,程序卡死,于是
- python 线程池的四种实现方式线程简述 一个程序运行起来后,一定有一个执行代码的东西,这个东西就是线程; 一般计算(
- loss函数如何接受输入值keras封装的比较厉害,官网给的例子写的云里雾里,在stackoverflow找到了答案You can wrap
- 这里还以前面的微博为例,我们知道拖动刷新的内容由Ajax加载,而且页面的URL没有变化,那么应该到哪里去查看这些Ajax请求呢?1. 查看请
- 本文是一篇关于《Effective Python》书中一节的学习笔记,记录了示例代码和思路。如果函数要产生一系列结果,那么最简单的做法就是把
- 本文实例为大家分享了python sklearn分类算法模型调用的具体代码,供大家参考,具体内容如下实现对'NB',&nbs
- 目录效果特点使用手册主要代码完整项目地址效果在Excel日历模板的基础上,生成带有农历日期、节假日、休班等信息的日历,解决DIY日历最大的技
- 在之前文章给大家分享后不久,就有位小伙伴跟小编说在用scrapy搭建python爬虫中出现错误了。一开始的时候小编也没有看出哪里有问题,好在