• 数据库文件组小记


    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
  • 相关阅读:
    python logging模块
    python 面向对象进阶之对象内置方法
    Python基于Socket实现简易多人聊天室
    Pypi项目包发布
    Unable to locate package python3 错误解决办法
    Invalid operation updata 错误解决方法
    测试用例组合生成工具
    Python GUI之Tkiner实战
    Python爬虫实现翻译功能
    免费AWS云服务器一键搭建Trojan详细教程
  • 原文地址:https://www.cnblogs.com/martintuan/p/3720281.html
Copyright © 2020-2023  润新知