sql CE数据库中的行数和空间使用情况

时间:2010-10-20 00:24:52

标签: sql-server-ce record-count

您好我有两个DB1.sdf和DB2.sdf文件(sql ce)。我想比较两者。 我想检查每个数据库中使用的行数和空间数。

有没有办法做到这一点?还有什么方法可以在两个数据库中对应表进行表比较吗?

1 个答案:

答案 0 :(得分:1)

您可以使用它来尝试获取行数:

public Int64 GetRowCount(string tableName)
{
   object value = ExecuteScalar("SELECT CARDINALITY FROM INFORMATION_SCHEMA.INDEXES WHERE PRIMARY_KEY = 1 AND TABLE_NAME = N'" + tableName + "'");
    if (value != null)
    {
       return (Int64)value;
    }
    return -1;
 }

如果失败,您可以使用“SELECT COUNT(*)FROM table”

使用的空间不可用,但您可以根据此进行估算:http://support.microsoft.com/kb/827968

对于数据比较,最好的方法可能是将每个sdf迁移到SQL Server Express数据库,并使用SQL Server数据比较工具