poorX

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

可以把库、表、分区绑定到文件组上。

文件组系统表
-- sys.data_spaces 表空间定义表
-- sys.database_files 表空间与表空间文件一对多关系表
-- sys.destination_data_spaces 分区表对应文件组的多对多关系(同一个文件组的不同位置)
-- sys.filetables 
-- sys.filegroups 文件组定义表
分区表使用文件组
  1. 分区结构可以使用一个文件组也可以使用多个文件组,如果带 ALL 属性则只能绑定一个文件组
  2. 分区结构如果指定一个文件组同时使用 ALL 属性,分区函数会一一对应文件组中的文件
  3. 如果要指定每一个小分区对应一个文件组中的文件,则文件组中文件数量要大于等于分区函数的分区数量,否则添加新分区时会出现“does not have any next used filegroup”提示
  4. 表分区迁移到另一张表,必须是同一个文件组,不同库是不同的文件组,所以不能跨库迁移分区
  5. 已经绑定文件组的分区结构理论支持上把主键删掉重新绑定文件组,未验证
  6. 删除文件组必须先删除文件组中的文件
  7. AUTOGROW_ALL_FILES 只能在 modify filegroup 时使用,但库在使用中时不能设置 AUTOGROW_ALL_FILES,所以单独设置 file MAXSIZE = UNLIMITED
  8. 如果删除文件组文件后出现 file XXX cannot be reused until after the next backup log operation 备份事务日志再进行操作
分区创建并自动创建文件组和文件
  1. 先创建分区函数
  2. 创建文件组 DBNAME_FG_TABLENAME
  3. 在文件组中创建文件,文件数大于或等于分区函数 VALUE + 4,DBNAME_FG_TABLENAME_PARTID
  4. 创建分区结构,结构绑定文件组
自动添加文件组文件
  1. 扫描分区函数,判断文件数是否大于分区函数
  2. 创建文件组文件
自动添加分区并刷新分区结构
  1. 设置分区维护表,包含分区函数名、分区间隔粒度、分区间隔值
  2. 扫描分区函数的 VALUE,与分区维护表的 (分区粒度 * 分区间隔值) * 16 进行判断
  3. 添加分区函数并刷新分区结构
posted on 2022-04-23 21:29  poorX  阅读(114)  评论(0编辑  收藏  举报