Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何缩减Azure SQL server DB(5GB服务器空间已收取18MB数据费)_Azure_Azure Sql Database_Shrink - Fatal编程技术网

如何缩减Azure SQL server DB(5GB服务器空间已收取18MB数据费)

如何缩减Azure SQL server DB(5GB服务器空间已收取18MB数据费),azure,azure-sql-database,shrink,Azure,Azure Sql Database,Shrink,我对Azure SQL DB有问题。 数据库的Bacpack导出只有18MB,但服务器的收费数据库大小已经超过5GB 有没有办法查看数据的实际大小 有没有办法将数据库移动到简单恢复模型? 或者是否有其他方法来收缩日志文件 或者我应该删除数据库并从备份中恢复吗?bacpac文件将比数据库小得多,因为它是数据的压缩版本,我相信它去掉了索引内容之类的内容,只存储在恢复时重新编制索引的索引定义,所以一个不应该表示另一个 例如,我在sqlazure上有一个配置为10GB高级数据库的数据库,目前使用的是2.

我对Azure SQL DB有问题。 数据库的Bacpack导出只有18MB,但服务器的收费数据库大小已经超过5GB

有没有办法查看数据的实际大小

有没有办法将数据库移动到简单恢复模型? 或者是否有其他方法来收缩日志文件


或者我应该删除数据库并从备份中恢复吗?

bacpac文件将比数据库小得多,因为它是数据的压缩版本,我相信它去掉了索引内容之类的内容,只存储在恢复时重新编制索引的索引定义,所以一个不应该表示另一个

例如,我在sqlazure上有一个配置为10GB高级数据库的数据库,目前使用的是2.7GB,它的容量大约为300MB

您配置了什么类型的数据库? 您当前显示的版本、大小和使用设置

**编辑**图像未加载,因此这是外部链接-

接下来要检查的是数据库中按表/对象划分的大小。 使用Management Studio连接到Azure环境并运行以下查询。这将给出数据库的表分解,大小以MB为单位

select    
      sys.objects.name, sum(reserved_page_count) * 8.0 / 1024
from    
      sys.dm_db_partition_stats, sys.objects
where    
      sys.dm_db_partition_stats.object_id = sys.objects.object_id

group by sys.objects.name

问题是由索引碎片整理引起的

您可以从这里找到修复这些问题的好脚本:


在运行脚本(和24小时)后,DB的大小回到了300MB。

我首先使用的是最大5GB的Web版本。但我不得不花一段时间争取最大10GB的业务。现在,在重新生成索引后,我在不到1GB的内存中返回。该链接已断开。有趣的是,有几个问题指向这个链接。