SQL server数据库压缩空间

by admin on 2019年11月1日

SQL
server数据库,在手动删除恐怕电动删除数据后,查看数据库物理文件发掘占用空间并未自由,毅然接收万能的重启。(反正是和煦用的叁个服务器,随意玩。倘使不是独有和谐用的服务器,依旧建议让运转或许DBA来做)。

查询数据库

  • 询问全体数据库

exec sp_helpdb;

  • 查询数据库test

exec sp_helpdb test;

  • 查询数据库视图

select * from sys.databases;

1、什么是分区表

首先轻便的介绍一下Sql server 备份的门类有:

积存在数据库中的全部数据值均正确的意况。固然数据库中寄存有不正确的数据值,则该数据库称为已丧失数据完整性。

服务注重启后开采照旧不曾自由空间,emmmmmm。。。。那就请教百度教师职员和工人了。

创立数据库

  • 创办数据库(暗许)

create database mydb;

  • 始建蕴含多少个数据文件组,八个日志文件的数据库mydb。

create database mydb
on
/*默认为primary文件组*/
primary
(
name=mydb_dat1,
filename='G:\programs\SQL server\mydb_dat1.mdf',
size=10MB,
maxsize=20MB, /*默认unlimited*/
filegrowth=50%
),
(
name=mydb_dat2,
filename='G:\programs\SQL server\mydb_dat2.ndf',
size=10MB,
maxsize=20MB,
filegrowth=50%
),
/*文件组mydb_gro*/
filegroup mydb_gro
(
name=mydb_dat3,
filename='G:\programs\SQL server\mydb_dat3.ndf',
size=10MB,
maxsize=20MB,
filegrowth=50%
)
log on
(
name=mydb_log1,
filename='G:\programs\SQL server\mydb_log1.ldf',
size=10MB,
maxsize=20MB,
filegrowth=50%
)
  • 跻身数据库

use mydb;

 分区表在逻辑上是一个表,而物理上是三个表。从客商角度来看,分区表和普通表是后生可畏律的。使用分区表的主要性指标是为改善大型表甚至全数四个访谈形式的表的可伸缩性和可管理性。分区表是把数量按设定的正统划分成区域存款和储蓄在区别的公文组中,使用分区能够飞速而卓有成效管理和访谈数据子集。

  1:完整备份(全体的数据文件和部分的事体日志文件)

详尽释义

数据库中的数据是从外界输入的,而数据的输入由于各个原因,会生出输入无效或
错误音讯。保险输入的数量相符规定,成为了 数据库系统,极度是多顾客的
关周全据库系统首要关切的主题素材。数据完整性因而而建议。本章将叙述数据完整性的概念及其在SQL
Server 中的落成方式。

数据完整性(Data Integrity)是指多少的正确性(Accuracy)
和可信赖性(Reliability)。它是应预防数据库中留存不合乎语义规定的多寡和防卫因
错误音讯的输入输出形成无效操作或错误音讯而建议的。数据完整性分为四类:
实体完整性(Entity Integrity)、 域完整性(Domain Integrity)、
参照完整性(Referential Integrity)、
客户自定义完整性(User-definedIntegrity)。

数据库选择两种主意来有限支撑数据完整性,满含 外键、约束、法则和
触发器。系统很好地拍卖了那四者的关系,并指向性不一样的具体意况用区别的方法进行,相互交叉使用,相补瑕疵。

(以上来自搜狗百科)

网络好友的解答是,SQL
server数据库不会自身压缩已经扩张的上空,如若要求裁减要求手动操作。

纠正数据库

  • 移除文件。

alter database mydb
remove file mydb_dat2;
  • 累Gavin件到文件组mydb_gro

alter database mydb
add file
(
name=mydb_dat2,
filename='G:\programs\SQL server\mydb_dat2.ndf',
size=10MB,
maxsize=20MB,
filegrowth=50%
)
to filegroup mydb_gro;
  • 删除数据库

drop database mydb;

 

  2:差距备份(最终三遍到位备份后数据库改变的部分)

数据完整性:能确定保障积累在数据库中数据的风流倜傥致性和正确性。

 实体完整性节制:对一列的羁绊(主键(P福特ExplorerIMARubiconY KEY )限制)

实业(行)完整性:需要表中具有的行唯意气风发,举个例子主关键字值。


 域完整性约束:对意气风发行的封锁(默许值(default)限定,检查(check)约束,非空(not
null)约束)。

 域(列)完整性:钦定对列的风姿浪漫组有效值并决定是或不是同意有空值。也得以通过在一列中节制数据类型,格式和也许值的节制来强制数据完整性。


参照完整性限定 :与主键有提到的外键(foreign key)限定

参谋完整性:确认保证保证主关键字和表面关键字的关联。


 顾客自定义节制:除了含有约束外,关全面据库的设计者也可为数据库设定一定的任何节制,那样的节制称为“客户自定义限制”

减掉空间的主意有二种:1、数据库。2、文件。

切合做分区表的场地

  3:文件和文书组备份(对点名的文件和文件组备份)

在要减弱空间的数据库上右键–》职责–》减少–》1、数据库,2文件(自身采用)。然后就等着吗。

  ◊
数据库中某些表的数量比较多,在询问数据时会显然感到到到速度一点也不快,当时须求思虑分区表;

  4:事物日志备份(全部数据库的更改)

图片 1

  ◊
数据是分支的,如以年份为分隔的多少,对于当下的多寡平日开展增加和删除改查操作,而对于过去的数据大约不做操作或只做询问操作,这种状态能够运用分区表。对数码的操作假若只涉及一些数据并不是百分百数据之处能够虚拟分区表,假使一张表的数额平日接收且不论年份之类的要素平日对其增加和删除改查操作则最棒不用分区。

  5:尾日期备份(日志的运动有的,指上壹次为备份的日志部分)

七个会有例外,数据库会将该数据库全部的未使用空间进行减弱。适用于
数据和日志都有清空或删除。

 

  6:部分备份(主文件组、每种可读可写文件组和钦定的只读文件组)

图片 2

2、
为啥要扩充表分区

  7:仅复制备份(数据库或然日志的备份,不影响总体备份)

选拔文件,

 ◊
分区表能够从情理上校一个大表分成多少个小表,不过从逻辑上来看要么一个大表。

 

图片 3

 ◊
对于持有多个CPU的体系,分区能够对表的操作通过相互的主意张开,能够进级采访质量。

——————–完整备份暗中同意追加到存活的文件—————

 

3、怎么开展表分区

backup database NorthWind To
disk=’d:\backup\NorthWindCS-Full-2010-11-23.bak’

有三种能够开展收缩,数据、日志和filestream 数据。

 创设分区表的步骤分为5步:

 

前八个相比熟知,正是对数码和日志占用空间扩充减弱,第八个自个儿亦非很领会,提出百度下,但是超级多地方都有教学。

  (1)创设数据库文件组

——–完整备份,覆盖现存的文件

Ali介绍 filestream
:https://yq.aliyun.com/ziliao/103097

  (2)成立数据库文件

Backup database NorthWind To
disk=’d:\backup\NorthWindCS-Full-2010-11-23.bak’ With init

剧本之家:

  (3)创制分区函数

 

自家选择的是数据库裁减,照旧非常慢的,大家等着吧。

  (4)创制分区方案

——–差距备份(上次豆蔻梢头风度翩翩体化备份以来改动的数据页)

  (5)创设分区表

backup database NorthWind To
Disk=’d:\backup\NorthWindCS-Full-2010-11-23.bak’

 3.1、**创建数据库文件组**

 

 
   
  注:数据库:ZMQGL_TEST;表:dbo.ENTRY_HEAD、dbo.ENTRY_LIST为例

—–事物日志备份,会活动截断日志(暗中认可会阶段日志)

            成立文件组:alter database ZMQGL_TEST add filegroup Group1

backup log NorthWind To Disk=’d:\backup\NorthWindCS-log-2010-11-23′

            语法:alter database <数据名称> add filegroup <文件组名称>

 

  3.2、**创办数据库文件**

—–事物日志备份,不截断日志(暗中同意会阶段日志)

    创设文件并增多到文件组中:

backup log NorthWind To
Disk=’d:\backup\NorthWindCS-log-2010-11-23′ With No_Truncate

data-wiz-span=”data-wiz-span”>alter > data-wiz-span=”data-wiz-span”>  > data-wiz-span=”data-wiz-span”>database > data-wiz-span=”data-wiz-span”>  > data-wiz-span=”data-wiz-span”>ZMQGL_TEST > data-wiz-span=”data-wiz-span”>  > data-wiz-span=”data-wiz-span”>add > data-wiz-span=”data-wiz-span”>  > data-wiz-span=”data-wiz-span”>file > data-wiz-span=”data-wiz-span”> 

data-wiz-span=”data-wiz-span”>( > data-wiz-span=”data-wiz-span”>name > data-wiz-span=”data-wiz-span”>= > data-wiz-span=”data-wiz-span”>N’ById1′ > data-wiz-span=”data-wiz-span”>, > data-wiz-span=”data-wiz-span”>filename > data-wiz-span=”data-wiz-span”>= > data-wiz-span=”data-wiz-span”>N’E:\DB\ZMQGL_test\ById1.ndf’ > data-wiz-span=”data-wiz-span”>, > data-wiz-span=”data-wiz-span”>size > data-wiz-span=”data-wiz-span”>= > data-wiz-span=”data-wiz-span”>5 > data-wiz-span=”data-wiz-span”>Mb > data-wiz-span=”data-wiz-span”>, > data-wiz-span=”data-wiz-span”>filegrowth > data-wiz-span=”data-wiz-span”>= > data-wiz-span=”data-wiz-span”>5 > data-wiz-span=”data-wiz-span”>mb > data-wiz-span=”data-wiz-span”>)

style=”font-family: SimSun”> > data-wiz-span=”data-wiz-span”>to > data-wiz-span=”data-wiz-span”>  > data-wiz-span=”data-wiz-span”>filegroup > data-wiz-span=”data-wiz-span”>  > data-wiz-span=”data-wiz-span”>Group1

 

语法:alter database <数据库名称> add file <数据标记> to
filegroup <文件组名称>

--<数据标识> (name:文件名,fliename:物理路径文件名,size:文件初始大小kb/mb/gb/tb,filegrowth:文件自动增量kb/mb/gb/tb/%,maxsize:文件可以增加到的最大大小kb/mb/gb/tb/unlimited)

 

 

 

  3.3、**创建分区函数、成立分区方案、成立分区表**

—–不备份直接阶段日志,在SQL SESportageVEEscort2010中不再接济。

      右键到要分区的表— >> 存储 — >> 成立分区 —
>>展现向导视图 — >> 下一步 — >> 下一步。。

backup log NorthWind With No_Log backup log NorthWind With
Tuancate_only

        图片 4

 

 

—–SQL SERubiconVE奥德赛 二〇〇九 代替的截断日志方法

             
  图片 5

alter database NorthWind set Recovery Simple

 

exec sp_helpdb NorthWInd

             
  图片 6

use NorthWind 

 

dbcc shrinkfile(‘NorthWind_log’)

             
  图片 7

alter database NorthWind set Recovery Full

data-wiz-span=”data-wiz-span”>点击“下一步”,最终点击实现会生成分区函数和分区方案的台本,如下:

USE [ZMQGL_TEST]

GO

BEGIN TRANSACTION

CREATE PARTITION FUNCTION [FQ_HS](datetime2(3)) AS RANGE LEFT FOR VALUES (N’2015-12-31T23:59:59.999′, N’2016-12-31T23:59:59.999′)

CREATE PARTITION SCHEME [FQ_FA] AS PARTITION [FQ_HS] TO ([PRIMARY], [Group1], [Group2])

CREATE CLUSTERED INDEX [ClusteredIndex_on_FQ_FA_636040955802353043] ON [dbo].[ENTRY_HEAD] 

(

    [D_DATE]

data-wiz-span=”data-wiz-span”>)WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [FQ_FA]([D_DATE])

DROP INDEX [ClusteredIndex_on_FQ_FA_636040955802353043] ON [dbo].[ENTRY_HEAD] WITH ( ONLINE = OFF )

COMMIT TRANSACTION 

 

直白F5运行就能够。

 

 

—-相当的大型数据库的文本和文件组备份

 

Exec sp_helpdb NorthWind backup database NorthWind
File=’NorthWind_Current’ to
disk=’h:\backup\NorthwindCS_Full_2010031.bak’

 

 

4、新扩大分区表【新添分区边界】

—仅复制备份,不影响现存的备份类别

      
1、先新添文件组和文书,举例:Group3,并塑造好对应涉及

backup database NorthWind To
disk=’h:\backup\NorthwindCS_Full_2010031.bak’ With Copy_only

       2、新扩充边界值

 

ALTER PARTITION SCHEME FQ_FA NEXT USED [Group3]

'

 

    

–后面部分日志备份,备份实现后数据库不再提供访问

语法“:

backup log NorthWind to
disk=’h:\backup\Northwind-taillog-20101031.bak’ With NoRecovery

ALTECRUISER PARTITION SCHEME
<分区方案> NEXT USED <文件组>

ALTER PARTITION FUNCTION <分区函数> SPLIT RANGE(<边界值>)

5、删除(合并)分区

 

    删除边界值为'2017-12-31 23:59:59.999'的分区

    ALTER PARTITION FUNCTION FQ_HS() MERGE RANGE ('2017-12-31 23:59:59.999')

与之対应的分区方案也发生了变化。

–回复数据库提供访谈

Restore databse NorthWind with Recovery

 

–分割备份到七个指标文件

backup database NorthWind to
disk=’h:\backup\Northwind-part1.bak’,disk=’h:\backup\NorthwindCS-part2.bak’

 

–镜像备份,必要投入With Format

backup database NorthWind to disk=’h:\backup\NorthwindCS-Mirror1.bak’ 

Mirror to disk=’h:\backup\NorthwindCS-Mirror2.bak’—-Mirror镜像 

With Format

 

 

–备份到长途服务器

–使用SQL SEOdysseyVEPAJERO 的劳务运行账号访问远程分享可写文件夹

backup database Northwind to
disk=’\\192.168.3.20\backup\nw-yourname.bak’

 

–备份到长途服务器,钦命访谈远程服务器的账号和密码

Exec sp_configure

Exec Sp_COnfigure ‘show advanced options’,1

Reconfigure with Overrid

Exec sp_configure ‘xp_cmdshell’,1

Reconfigure with override

  

Exec xp_cmdshell ‘net use \\192.168.10.101′ /user:administrator
password’

 

backup database Northwind to
disk=’\\192.168.10.101\backup\nw-fy.bak’

 

Exec sp_configure ‘xp_cmdshell’,0

Reconfigure with override

 

 


–备份压缩


Backup Database AdventureWorks To disk=’h:\backup\adv不压缩备份.bak’

–132MB  花费 7.789 秒(16.877 MB/秒)。

 

–备份到NTFS目录

Backup Database AdventureWorks To
disk=’H:\backup\test\advNTFS压缩备份.bak’

–60MB     花费 11.871 秒(11.073 MB/秒)。

 

Backup Database AdventureWorks To
disk=’h:\backup\adv压缩备份.bak’ With Compression

–132MB  花费 7.789 秒(16.877 MB/秒)。

–34MB    花费 3.775 秒(34.820 MB/秒)。

 

–运行暗许备份压缩

EXEC sp_configure ‘backup compression default’, ‘1’ RECONFIGURE WITH
OVERRIDE

GO

 

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图