数据库文件组小记

1) 如何将一个数据表从A 文件组移动到 B文件组中


--要点:只需将聚集索引建立在需要移动的数据组中,数据页面也会随之移动到对应的文件组中

--创建数据表
CREATE TABLE tb(id INT ,cname NVARCHAR(4000)) ON [FG_A]
GO
--INSERT DATA
INSERT INTO [dbo].[tb]
SELECT 1,‘aaaaaaa‘

--创建聚集索引(必须是聚集索引)
CREATE CLUSTERED INDEX PK_ID ON [dbo].[tb]([id]) WITH(ONLINE=ON) ON [FG_B]
GO

--收缩FG_A
DBCC SHRINKFILE(FG_A,1)

2) 修改数据文件名称

--更改文件组名称
alter database Test
modify file(name=‘Test1‘,newname=‘test2‘)

3) 当同一个文件组有两个或多个文件时,如何删除某个文件

--若文件组FG_A中有两个次要文件Test1,Test0.
--现Test1中已有数据,如何删除Test1文件,同时Test1中的数据不能丢失
--1)将Test1中的数据转移,系统会自动将数据移动到Test0的文件中
DBCC SHRINKFILE(Test1,EMPTYFILE)
--2)移除Test1文件
ALTER DATABASE Test REMOVE file Test1

数据库文件组小记,布布扣,bubuko.com

时间: 2024-08-24 08:31:02

数据库文件组小记的相关文章

SQLSERVER-底层基础-体系结构-文件和文件组结构

SQLServer 将数据库映射为一组操作系统文件. 数据和日志信息绝不会混合存放在同一个文件中,而且一个文件只能由一个数据库使用.文件组是命名的文件集合,用于帮主数据布局和管理任务,譬如备份和还原操作. 数据库文件 SQLServer数据库具有三种类型的文件:.mdf,.ldf,ndf(主数据文件.日志文件.次要数据文件),注:文件的后缀名是可自主命名的. 主数据文件:每个数据库都会有一个主数据库文件,它是数据库的起点,指向数据库的其他文件. 次要数据文件:数据库可以没有次数据文件,也可以有多

无法为数据库中的对象分配空间,因为'PRIMARY'文件组已满

用SQL Server2012,做数据保存时出错,错误信息:无法为数据库'***'中的对象'***'分配空间,因为'PRIMARY'文件组已满.请删除不需要的文件.删除文件组中的对象.将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间. 解决办法:打开SQL Server Management Studio,右键报错的数据库,选择"属性",弹出对话框,选择"文件"页签,查看是否限制了数据库文件增长,若没有做限制,再查看磁盘剩余空间是否足够

[SQL_Server_Question]Msg 1105无法为数据库 'tempdb' 中的对象分配空间,因为 'PRIMARY' 文件组已满

错误消息: Msg 1105, Level 17, State 2, Line 266Could not allocate space for object 'dbo.Large Object Storage System object: 422392492982272' in database 'tempdb' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropp

SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法

SQL2005 还原数据库失败,提示如下: SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法 出现错误时操作步骤为:右击数据库--->任务--->还原--->文件和文件组--->源设备(选择备份文件)--->指定备份文件位置--->添加选定文件.在“还原文件和文件组”对话框中点击“确定”按钮,即出现上面显示的错误. 正确的步骤为: 右击数据库--->任务--->还原--->数据库--->源设备

SQL Server中数据库文件的存放方式,文件和文件组 (转载)

简介 在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已.SQL SERVER通过管理逻辑上的文件组的方式来管理文件.理解文件和文件组的概念对于更好的配置数据库来说是最基本的知识. 理解文件和文件组 在SQL SERVER中,通过文件组这个逻辑对象对存放数据的文件进行管理. 先来看一张图: 我们看到的逻辑数据库由一个或者多个文件组构成 而文件组管理着磁盘上的文件.而文件中存放着SQL SERVER的实际数据. 为什么通过文件组

sqlserver多文件组数据库的备份和还原实战

数据库文件过大时就要进行数据分区,就是讲数据库拆分到多个文件组中.已方便数据文件管理,提高数据库的读取效能,多文件组如何进行数据库的备份和还原呢,今天主要做多文件组数据库的备份和还原实验. 第一步 创建数据库qhw_test 数据库包括一个userinfo 数据表,userinfo数据表根据id做分区 包括一个主分区 ,五个次分区,主分区包括qhw_test,data2两个文件, 数据表脚本如下 CREATE TABLE [dbo].[userinfo](    [Id] [int] IDENT

SQL Server 在缺少文件组的情况下如何还原数据库

SQL Server 在缺少文件组的情况下如何还原数据库 一.背景 我有一个A库,由于a,b两张表的数据量比较大,所以对表进行分区:在把A库迁移到一个新的集群上去,我只备份了A库的主分区过去进行还原为B库(主分区的备份还原可参考:SQL Server 维护计划备份主分区 和 主分区备份与还原),为了对a,b表进新的数据,我修改了a,b表名,在B库新建了两张不分区的a,b表: 这样运行都没有什么问题的,但是在一次我分离了数据库B,拷贝了mdf和ldf文件,现在想使用mdf和ldf还原为B库的时候出

未能为数据库 '*'中得对象'*'分配空间,因文件组'PRIMARY'已满

服务器使用mssqlserver2005,最近经常出现无法新增信息错误,查看日志,发现严重错误提示,内容大致为: 无法为数据库 'weixin_main' 中的对象 'dbo.wx_logs'.'PK_wx_logs_id' 分配空间,因为 'PRIMARY' 文件组已满.请删除不需要的文件.删除文件组中的对象.将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间. 打开企业管理器,右键报错的数据库,选择“属性”,弹出对话框,发现常规标签页的可用空间显示只有1.03M,

无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。

无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满.请删除不需要的文件.删除文件组中的对象.将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间. 原因是装了mssql express 2005 版本,该版本最大的限制是4G 百度说明: 1.数据库的大小限制:SQL Server 2005 Express 和SQL Server 2008 Express 数据库的大小限制最大为 4GB,最新版本的SQL Server 2008 R2 E