sql-server的添加数据库文件(日志数据)以及收缩数据库文件(日志数据)

环境:

SSMS

sql-server2016

一、为数据库添加数据文件

添加日志数据文件

以下是添加数据文件和日志文件的代码

ALTER DATABASE [joinbest] ADD FILE ( NAME = N‘joinbest_2‘, FILENAME = N‘C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\joinbest_2.ndf‘ , SIZE = 8192KB , FILEGROWTH = 65536KB ) TO FILEGROUP [PRIMARY]

ALTER DATABASE [joinbest] ADD FILE ( NAME = N‘joinbest_2_log‘, FILENAME = N‘C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\joinbest_2_log.ndf‘ , SIZE = 8192KB , FILEGROWTH = 65536KB ) TO FILEGROUP [PRIMARY]

二、测试文件自动增长功能,往joinbestgo数据库添加海量数据

use benet

create table t(id int,name nvarchar(max),pwd nvarchar(max))

为t表添加100000行数据,观察cpu、内存和文件大小的变化

declare @i int=1;

while(@i<=100000)

begin
     insert into t values(@i,replicate(rand()*100000,1000)
                            ,replicate(rand()*100000,1000));
     set @i=@i+1;

end

如果一切操作无误的话,相信你已经看到结果了,数据文件原始文件是8M,自动增长,每次增长64M,没有上限;但是日志文件是必须要设置上限的,原因是,不管数据库做什么样的更改操作,都会记录到日志文件里面,更是要定期的进行清理呢

三、删除数据库中数据,查看测试结果

删除t表中的数据,观察cpu、内存和文件大小的变化

delete from t

我们在观察一下数据文件,以及日志文件的大小,日志文件更大了,而且数据文件大小也没有降下来,这是因为虽然你删除了数据,但是文件在你的文件系统磁盘上还是占着那么大地方,只不过里面没有东西而已

收缩数据库,从而节省磁盘资源

DBCC SHRINKDATABASE(N‘joinbest‘)

//执行该命令是收缩整个数据库的容量,

DBCC SHRINKFILE (N‘joinbest‘ , 5)

//该命令是收缩单个数据文件的

本文完。。。

原文地址:https://www.cnblogs.com/joinbestgo/p/10534534.html

时间: 2024-11-04 17:39:30

sql-server的添加数据库文件(日志数据)以及收缩数据库文件(日志数据)的相关文章

Sql Server之使用T_SQL创建,修改,查看数据库信息

一.使用Transact_SQL创建数据库 Transact_SQL语法如下:  create database database_name   [ on     [primary]  [<filespec> [,...n] ]   ]   [ log on    [<filespec>[,...n]]   ];   <filespec>::=    (      name=logical_file_name      [  ,  newname = new_login

SQL Server调优系列进阶篇(如何维护数据库索引)

原文:SQL Server调优系列进阶篇(如何维护数据库索引) 前言 上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看. 本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常维护以及一些注意事项等. 闲言少叙,进入本篇的主题. 技术准备 数据库版本为SQL Server2012,前几篇文章用的是SQL Server2008RT,内容区别不大,利用微软的以前的案例库(Northwind)进行分析,部分内容也会

SQL Server也可以异地恋:借助rsync轻松实现异地日志传送

SQL Server也可以异地恋:借助rsync轻松实现异地日志传送 微软有一个爱好叫绑定.我最痛恨的一个绑定是IIS与Windows的绑定——升级IIS竟然要升级操作系统,服务器不是PC,系统不是想重装就可以重装. 在使用SQL Server日志传送进行异地备份时,又被微软的绑定策略坑了一次.日志传送只支持Windows文件共享这1种也仅此1种方式,而用于异地备份的服务器与主服务器不在同一个网络中,根本无法使用Windows文件共享.下图就是微软绑定策略的证据: 上图中的共享路径 \\dbse

报错:此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容

在Visual Studio 2012中使用Entity Framework,根据模型生成数据库时,报如下错误: 无法在自定义编辑器中打开Transact-SQL文件此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容 解决办法:下载"Server Data Tools for Visual Studio 2012" ,并安装,重新启动Visual Studio 2012.

SQL Server安全(7/11):使用跨数据库所有权链接(Cross-Database Ownership Chaining)的跨数据库安全

在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Server里的安全功能充分利用,不用在面对特定威胁,不能保护你数据的功能上浪费时间. 从让人眼花缭乱的客户端使用连接,通过到处分布的网络,尤其是互联网,关系数据库在各种应用程序里广泛使用.这使数据对任何人,在任何地方都可访问.数据库可以保存人类知识的很大部分,包括高度敏感的个人信息和让国际商务工作的关

SQL Server -&gt;&gt; 重新创建Assembly和自动重建相关的数据库编程对象(存储过程,函数和触发器)

在SQL Server中,一旦一个Assembly被其他的数据库编程对象(存储过程,函数和触发器)引用了,这个Assembly就不能被删除.但是问题是,在SQL Server要更新一个Assembly的方法是先删除这个Assembly再用心的DLL地址或者编译后的二进制代码重新创建.这样就造成了,每次我们都要根据它的错误提示把那些引用到该Assembly的数据库编程对象的创建脚本导出后再删除这些编程对象,然后才可能删除Assembly.导出脚本的方法需要手动去利用SSMS这个IDE里面的GENE

SQL Server 2008 R2 安装时提示“Reporting Services目录数据库文件存在”

打开MSSQL数据库管理系统的安装目录,例如: X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA. 其中 X:\是你安装MS SQL数据库管理系统实例所在的盘符. 删除 X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 里面 ReportServer.mdf.ReportServer_log.LDF.ReportServe

C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase数据库的代码集

C#连接六类数据库的代码集 本文列出了C#连接Access.SQL Server.Oracle.MySQL.DB2和SyBase六种不同数据库的程序源码和需要注意的点. 1.C#连接Access 程序代码: Code using System.Data;using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+[email protected]&

SQL Server 2014 64位版本链接32位Oracle数据库

问题背景: 刚进入公司不久的BI新手,最近接部门的一个交接项目,需要在SQL Server上通过openquery来获取Oracle数据库的数据.各种配置,各种设置折腾了一周之久.在此,将自己的问题解决过程拿出来与大家分享.这里需要强调一点,网络资源虽然强大,但是每个人的问题一定是specific的,切忌生搬硬套. 系统配置:Windows server 2012 R2,64bit Intel Xeon 8 threads,48GB Memory: 预装软件:VS 2012 32bit,SQL

【SQL 问题】试用版SQL Server 2008 R2 提示评估期已过,数据库不能访问解决办法

因为以前一直是试用版,重启服务器之后,突然数据库不能访问,提示评估期已过,都快吓死了.还好找到了解决办法特copy解决步骤如下: (笔者用的是企业版: R88PF-GMCFT-KM2KR-4R7GB-43K4B) 第一步:进入SQL2008配置工具中的安装中心第二步:再进入维护界面,选择版本升级第三步:进入产品密钥,输入密钥第四步:一直点下一步,直到升级完毕.SQL Server 2008 Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB SQL Server 2