SQLServer数据库通常都不建议进行SHRINKFILE操作,因为SHRINKFILE不当会造成一定的性能问题。

但是当进行了某些操作(例如某个超大的日志类型表转成分区表切换了数据文件),数据库某个文件组中的剩余空间占了整个磁盘的很大一部分,而且磁盘空间已经吃紧的情况下,你也许会考虑收缩一下某个数据文件。

收缩数据文件时,可以每次收缩一点点(例如每次5GB)来进行。

然而博主最近对某个数据库进行数据库收缩时碰到了标题所示的困扰。在DBCC SHRINKFILE (db_name , target_size)执行了几次之后。

DBCC SHRINKFILE (db_name , target_size)

莫名出现了如下错误:

不能收缩 ID 为 6 的数据库中 ID 为 1 的文件,因为它正由其他进程收缩或为空。

据网上的经验,备份之后仍然不变,重启也无效,尝试重建某些表的索引,也无效。

但博主在尝试将数据库文件增加10MB,然后再次收缩数据库的时候这个错误消失了。

ALTER DATABASE db_name MODIFY FILE ( NAME = file_name, SIZE = target_size )

后来从官方社区找到了答案:应该是我在进行DBCC SHRINKFILE的时候正好同时进行了备份操作(定时日志备份)。

官方给的解决方法就是将要收缩的数据文件增加一点点,哪怕1MB。

SqlServer 不能收缩 ID 为 %s 的数据库中 ID 为 %s 的文件,因为它正由其他进程收缩或为空。的更多相关文章

  1. 不能收缩 ID 为 %s 的数据库中 ID 为 %s 的文件,因为它正由其他进程收缩或为空。

    SQLServer数据库通常都不建议进行SHRINKFILE操作,因为SHRINKFILE不当会造成一定的性能问题. 但是当进行了某些操作(例如某个超大的日志类型表转成分区表切换了数据文件),数据库某 ...

  2. 数据库中id为自增

    使用find_and_modify函数可以设置mongo的id为自增 且可以支持原有的高并发操作,find_and_modify函数完成更新查找两个操作其是原子性的操作 代码:(auto_id.py) ...

  3. 从数据库中导出数据到.csv文件

    考虑到csv文件比xls文件格式容易控制,所以在这次导出中用的是.csv格式. protected function exportInfo($arr, &$err){ $nameInfo = ...

  4. net9:图片文件转换成二进制流存入SQL数据库,以及从数据库中读取二进制流输出文件

    原文发布时间为:2008-08-10 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  5. 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页

    在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...

  6. Java中获取刚插入数据库中的数据Id(主键,自动增长)

    public int insert(String cName, String ebrand, String cGender) { String sql = "insert into Clot ...

  7. 使用js批量选中功能实现更改数据库中的status状态值(批量展示)

    我们在开发项目的时候经常会在后台管理时用到批量展示功能来动态的修改数据库的值.下面以修改数据库的status状态值来实现批量展示功能.批量选中功能引用js来实现.前端html代码: <table ...

  8. sql语句查询数据库中的表名/列名/主键/自动增长值

    原文地址:http://blog.csdn.net/pukuimin1226/article/details/7687538 ----查询数据库中用户创建的表 ----jsj01 为数据库名 sele ...

  9. js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中

    ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId ...

  10. SpringMvc处理模型数据(也就是从数据库中查询出来的数据放到请求域中)

    这讲的是从数据库中查询到的数据,存放到请求域中.然后页面上直接可以从请求域中获取值. 有4种方式: 1):ModelAndView   是作为一个对象. /** * 目标方法的返回值可以是 Model ...

随机推荐

  1. STP协议-进阶

    一 STP的选举规则1.在交换网络中选举一个根桥(Root Bridge)比较Bridge ID桥ID(优先级+MAC地址)越小越优 为了确保交换网络的稳定,建议提前规划STP组网,并将规划为根桥的交 ...

  2. 面试之arrayList扩容机制

    参考: ArrayList扩容详解_java编程艺术的博客-CSDN博客_arraylist扩容 ArrayList底层是数组elementData,用于存放插入的数据.初始大小是0,当有数据插入时, ...

  3. Warning: PHP Startup: Unable to load dynamic library 'php_pdo_oci.dll'处理

    出现这样提示的原因可能有以下几种: (1)没有在php.ini中将extension=php_pdo_mysql.dll前面的分号去掉 在php.ini中分号表示注释,因为在配置时被注释掉了,所谓无法 ...

  4. laravel关联查询

    1.创建表: -- 创建学生表 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) C ...

  5. MacOS系统下selenium之火狐浏览器驱动firefoxdriver安装

    https://blog.csdn.net/weixin_44107321/article/details/106452468

  6. css浮动效果造成父元素高度为0,解决

    1. 子元素浮动时,会造成父元素高度为0.会造成后面的元素样式混乱. <div class="outer"> <div class="inner&quo ...

  7. sql server 常用高级查询sql

    数据源:表:coursename kecheng fenshu张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100王五 英语 90赵六 语文 88赵六 数 ...

  8. git - git常用操作命令

    1.创建一个空的仓库 git init 2.配置git仓库 配置姓名 git config --global user.name '张三' 配置邮箱 git config --global user. ...

  9. SPI接口(续三)

    在SPI接口中,判断传输的数据位上电平的高低是通过时钟来衡量的,根据时钟的上升沿/下降沿和数据电平的保持/更改,可以组合出4种方式,具体如下图所示. 从上图中可以看出,时钟相位CPHA决定传输的数据电 ...

  10. Windows Server 2012 R2安装.NET Framework4.7.1

    1.KB2919442 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=42153 2.clearcompressionfl ...