我在客户端计算机上使用SQL Server CE数据库,我想知道是否有办法使用SQL缩小数据库?
在SQL Server中执行此操作,
DBCC SHRINKDATABASE
SQL Server CE有这样的东西吗?
不幸的是,我没有能力使用C#这样的命令来运行这个命令,
SqlCeEngine.Shrink
没有某种软件更改。
答案 0 :(得分:3)
无法通过SQL执行此操作。
您可以使用我的sqlcmd命令行工具压缩数据库(优于收缩):
sqlcecmd -d "Data Source=C:\Northwind.sdf" -e compact
答案 1 :(得分:0)
在应用程序中实现收缩行为之前,您应该考虑此操作的优缺点。缩小数据库文件只有一个pro:data文件将占用更少的存储空间。但缺点是数据库中的索引会遭受性能损失,因此大多数查询都会变慢。我会建议你不要缩小生产中的数据库。特别是我建议不要使用SQL Server CE的自动收缩功能 - 在某些情况下可能会导致数据文件损坏。好消息是您可以在连接字符串中使用参数“autoshrink threshold = 100”完全禁用自动收缩行为。