如何使用SQL收缩SQL Server CE数据库

时间:2014-10-23 03:38:45

标签: sql-server-ce

我在客户端计算机上使用SQL Server CE数据库,我想知道是否有办法使用SQL缩小数据库?

在SQL Server中执行此操作,

DBCC SHRINKDATABASE

SQL Server CE有这样的东西吗?

不幸的是,我没有能力使用C#这样的命令来运行这个命令,

SqlCeEngine.Shrink

没有某种软件更改。

2 个答案:

答案 0 :(得分:3)

无法通过SQL执行此操作。

您可以使用我的sqlcmd命令行工具压缩数据库(优于收缩):

sqlcecmd -d "Data Source=C:\Northwind.sdf" -e compact

答案 1 :(得分:0)

在应用程序中实现收缩行为之前,您应该考虑此操作的优缺点。缩小数据库文件只有一个pro:data文件将占用更少的存储空间。但缺点是数据库中的索引会遭受性能损失,因此大多数查询都会变慢。我会建议你不要缩小生产中的数据库。特别是我建议不要使用SQL Server CE的自动收缩功能 - 在某些情况下可能会导致数据文件损坏。好消息是您可以在连接字符串中使用参数“autoshrink threshold = 100”完全禁用自动收缩行为。