5

我有一个尝试使用 Visual Studio 发布的 CLR 项目。我不得不将项目更改为 SQL Data Tools 项目,现在它没有发布。每次尝试时,我都会收到超时错误。当我一步一步进行时,我发现这行代码挂在我的服务器上。

IF EXISTS (
  SELECT 1
  FROM [master].[dbo].[sysdatabases]
  WHERE  [name] = N'fwDrawings')
BEGIN
  ALTER DATABASE [fwDrawings]
  SET READ_COMMITTED_SNAPSHOT OFF;
END

基本上,我知道当我尝试发布它时它试图强制服务器进入单用户模式。它只是针对我的登台服务器而不是生产服务器,但这仍然是一个问题。每次我想在测试 CLR 的功能时更新 CLR 时,我都无法将所有人都踢出服务器并尝试将其切换到单用户模式。而且我不想等待维护周期或停机时间来将其推广到生产。有没有解决的办法?

4

2 回答 2

2

大概你已经READ_COMMITTED_SNAPSHOT为你的数据库打开了。

如果是这种情况,您需要更改数据库项目设置以匹配。在项目的数据库设置的操作选项卡中检查“读取提交的快照”事务隔离。

对我来说,这防止了发布超时,即我现在可以成功发布。

于 2013-08-13T09:48:43.727 回答
1

要以更安全的方式部署到正在使用的服务器,请尝试改用模式比较

于 2012-10-18T19:37:58.220 回答