在SqlServer中,删除一个文件组

alter database [xxxxx] remove filegroup FGMonthTurnIntroduceByMonth13

  有时候会遇到如下报错:

消息 5042,级别 16,状态 12,第 8 行
无法删除 文件组'FGMonthTurnIntroduceByMonth13',因为它不为空。

  文件组被占用,常见的是里面有文件没删除、有分区方案使用了这个文件组,还有比如索引或LOB数据落到了这个文件组中。

  查询数据库的文件和文件组可以分别使用sys.database_files和sys.filegroups两个系统视图。查询一个文件组下是否有文件:

select * from sys.database_files where data_space_id =(select data_space_id from sys.filegroups where name = 'FGMonthTurnIntroduceByMonth13')

  查询出来的结果,就是文件组FGMonthTurnIntroduceByMonth13下的文件。或者更简单的,使用sp_helpfilegroup系统存储过程。

sp_helpfilegroup 'FGMonthTurnIntroduceByMonth13'

  

  第一个查询结果是文件组名称、id、文件个数。第二个查询结果是里面文件详细信息。

  如果文件组下没有文件,仍然提示这个文件组不为空的错误,还有可能是分区方案使用到了这个文件组,使用如下语句查询与该文件组关联的分区方案:

select s.name,g.* from sys.filegroups g
left join sys.destination_data_spaces d on g.data_space_id=d.data_space_id
left join sys.partition_schemes s on s.data_space_id=d.partition_scheme_id
where g.name='FGMonthTurnIntroduceByMonth13'

  

  如果第一列是NULL,表示没有对应的分区方案。

最新文章

  1. PHP图片裁剪与缩放 / 无损裁剪图片
  2. JAVA Day3
  3. asp.net webapi初探(一)
  4. 异常处理与MiniDump详解(转)
  5. misc_register、 register_chrdev 的区别总结
  6. 使用日期工具类:DateUtil
  7. Backdoor CTF 2013: 电子取证 250
  8. css元素选择器 first-child nth-child
  9. MySQL事务以及隔离级别
  10. [转载]ISO 8601规则
  11. Linux 系统免密码登陆远程服务器
  12. ubuntu16.04下vim的安装与配置
  13. Linux 命令梳理
  14. sql语句之随机查询记录和批量插入--基于mysql
  15. C# MD5 32位加密 UTF-8编码
  16. 【Algorithm】插入排序
  17. Html dom 赋值
  18. FreeMarker MyEclipse IDE
  19. Python3 函数式编程自带函数
  20. css修改placeholder的样式

热门文章

  1. Umbraco back office 中templates显示不出来问题解决 (一片空白)
  2. hdu1083
  3. nej 搭配 vue 方案
  4. Note: Secure Deduplication with Efficient and Reliable Convergent Key Management (Dekey)
  5. Mac 安装flutter 踩坑记
  6. oracle函数获取汉字拼音的首字母
  7. P1168 中位数(对顶堆)
  8. QPS,TPS,吞吐量,响应时间详解及关系
  9. 手写的select 下拉菜单
  10. poj2186-Popular Cows(强连通分支)