我有一个开发数据库,经常从一个Visual Studio数据库项目(通过TFS自动构build)重新部署。 有时当我运行我的构build时,我得到这个错误: ALTER DATABASE失败,因为锁不能放在数据库'MyDB'上。 稍后再试。 ALTER DATABASE语句失败。 不能删除数据库“MyDB”,因为它目前正在使用中。 我试过这个: ALTER DATABASE MyDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE 但我仍然不能删除数据库。 (我的猜测是大多数开发人员都有dbo访问权限。) 我可以手动运行SP_WHO,并开始查杀连接,但是我需要一种自动的方式在自动构build中做到这一点。 (虽然这次我的连接是唯一一个在我试图删除的分贝。) 有没有一个脚本,可以删除我的数据库,无论谁连接?
我有一个用户定义的表types。 我想在使用OBJECT_ID(name, type)函数修补一个补丁之前检查它是否存在。 什么type的枚举应该传递给用户定义的表types? N'U'为用户定义的表不起作用,即IF OBJECT_ID(N'MyType', N'U') IS NOT NULL
目前,我的数据库处于单用户模式。 当我尝试扩展数据库时,出现错误: 数据库'my_db'不可访问(ObjectExplorer) 另外,当我尝试删除数据库,我得到的错误: 目前无法更改数据库“my_db”的状态或选项。 数据库处于单用户模式,并且当前正在连接一个用户。 如何退出单用户模式? 我没有任何用户使用这个数据库。 当我尝试使用IIS浏览我的网站时,出现的错误是: 在执行当前Web请求期间生成未处理的exception。 有关exception的来源和位置的信息可以使用下面的exception堆栈跟踪来标识。 我觉得好像单用户模式正在造成这种情况。
我需要在表A上编写一个Insert,Update Trigger,它将从表B中删除表B中所有行,其中一列(称为Desc)具有类似于表A的列(比如Col1)中插入/更新的值。 我将如何去写它,以便我可以处理更新和插入案例。 我将如何确定触发器是否执行更新或插入。
我有一个Competitions结果表,一方面持有团队成员的名字和他们的排名。 另一方面,我需要维护一个独特的竞争对手名称表 : CREATE TABLE Competitors (cName nvarchar(64) primary key) 现在我在第一张表中有大约20万的结果, 当竞争者表是空的,我可以执行这个: INSERT INTO Competitors SELECT DISTINCT Name FROM CompResults 而查询只需要大约5秒钟来插入大约11,000个名字。 到目前为止,这不是一个关键的应用程序,所以我可以考虑每月一次截断竞争对手表格 ,当时我收到了约10,000行的新竞争结果。 但是当新的和现有的竞争对手增加新的结果时,最佳做法是什么? 我不想截断现有的竞争对手表 我只需要为新的竞争对手执行INSERT语句,如果它们存在,什么也不做。
我怎样才能从一个SQL Server表中生成一个类? 我不是在谈论使用一些ORM。 我只需要创build实体(简单的类)。 就像是: public class Person { public string Name { get;set; } public string Phone { get;set; } }
最近几天我们在我们的网站上看到这个错误消息太多了: “Timeout expired。在从池中获取连接之前已经超时了,这可能是因为所有连接池都在使用中,并且达到最大池大小。 我们在一段时间内没有改变我们的代码中的任何东西。 我修改了代码来检查打开的连接没有closures,但发现一切正常。 我该如何解决这个问题? 我需要编辑这个池吗? 如何编辑此池的最大连接数? 高stream量网站的build议价值是多less? 更新: 我需要在IIS中编辑一些东西吗? 更新: 我发现活动连接的数量是从15到31的任何地方,我发现在SQL服务器中configuration的连接的最大允许数量超过3200个连接,是31太多,或者我应该编辑ASP.NET configration ?
我有一个tablix有很多行跨越多个页面。 我已经在每个页面上设置了Tablix属性重复标题行,但这不起作用。 我在某处读到这是Report Builder 3.0中的一个已知错误。 这是真的? 如果不是,还有什么需要做的?
我已经开始阅读关于公共表expression式的内容 ,并且不能想到需要使用它的用例。 他们似乎是多余的,因为派生表可以做同样的事情。 有什么我失踪或理解不好? 有人可以给我一个简单的例子限制常规select,派生或临时表查询,使CTE的情况下? 任何简单的例子将不胜感激。
SQL Server中的CROSS JOIN和FULL OUTER JOIN有什么区别? 他们是一样的还是不一样? 请解释。 什么时候会使用这些?