【问题标题】:Schema Compare Gets to 75% and Never Finishes, Never Times Out模式比较达到 75% 并且永不完成,永不超时
【发布时间】:2011-01-11 20:19:28
【问题描述】:

我正在尝试在 Visual Studio 2010 数据库项目中运行架构比较。窗口的顶部栏指示“比较源模式和目标模式...”,达到 75% 左右,然后停止进行。我已经让它处理了一个多小时,并重新启动了 IDE,但没有任何结果。在解决方案的一个单独项目中,我连接到同一个 SQL Server (2008 R2) 中的不同数据库,我没有问题。这个另一个数据库比有问题的数据库稍大,加载时间不到 20 秒。我正在连接到远程服务器,并且已验证连接测试正常。我还尝试使用 devenv.exe /log c:\working 生成日志文件,但没有创建报告。

知道我还能尝试什么来完成这项工作吗?

非常感谢,

~DJ

我已通过 SQL Profiler 验证 Visual Studio 已成功从服务器下载架构。似乎 VS 接收到的架构有问题,但没有错误消息,我不确定问题可能是什么。

【问题讨论】:

    标签: sql visual-studio-2010 sql-server-2008


    【解决方案1】:

    您有未结交易吗? DBCC OPENTRAN 会告诉你的。

    【讨论】:

    • 我停止并重新启动模式比较,通过 Management Studio 对同一数据库运行此命令,并收到 No active open transactions。 DBCC 执行完成。如果 DBCC 打印错误消息,请联系您的系统管理员。
    【解决方案2】:

    我遇到过这种情况,问题是错误被发送到“输出”窗口,而我从未注意到它们,因为我认为比较从未完成,因为 UI 从未自行更新。

    【讨论】:

    • 我曾认为这也是我的问题,但是在运行比较时我没有产生一点输出,这让我感到困惑。
    【解决方案3】:

    您获取数据库信息的进程可能被另一个 SQL Server 进程阻止。您可以先在连接到 SQL Server 的新查询窗口中运行以下命令:

    EXEC sp_who2
    

    这将显示 SQL Server 上运行的进程列表。查看BlkBy 列并查看是否有任何行具有值的数字。被阻塞的进程将在此列中显示阻塞进程的会话 ID。

    阻塞进程必须先释放资源(例如数据页)锁,然后您的进程才能使用资源。这通常通过正常处理发生,但您可能有一些进程持有锁的时间过长。

    【讨论】:

    • 出现的 37 个进程中,没有一个对 BlkBy 有任何价值
    猜你喜欢
    • 2018-09-27
    • 2010-10-12
    • 1970-01-01
    • 2011-07-26
    • 2021-11-17
    • 2018-06-26
    • 2022-01-24
    • 2021-08-05
    • 2016-12-13
    相关资源
    最近更新 更多