0

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

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

4

1 回答 1

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 数据比较工具

于 2010-10-21T13:35:39.427 回答