首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Tarantino数据库管理创建ASP.NET成员资格表

使用Tarantino数据库管理创建ASP.NET成员资格表
EN

Stack Overflow用户
提问于 2010-07-06 20:10:22
回答 1查看 485关注 0票数 2

我正在将Tarantino数据库管理介绍到一个具有全新数据库模式的项目中。惟一的更改(位于0001_InitialSchema.sql中)是创建ASP.NET成员资格中使用的表。我使用aspnet_regsql.exe生成了表,然后将它们作为CREATE脚本编写,然后将它们组合到我的单个Tarantino sql文件中。

在运行我的NAnt构建脚本时,当试图从它试图删除的数据库中删除所有连接时,drop database命令会阻塞。

删除数据库DBName的连接 调用在执行Transact-SQL语句或批处理时发生的异常。 只能调用用户进程。

这将导致以下create database步骤失败,因为数据库仍然存在,并且不会应用新的更新:

ManageSqlDatabase: 使用路径\to\source\src\数据库中的脚本在本地主机上创建DBName 生成失败-1次非致命错误,0次警告 内部误差 Microsoft.SqlServer.Management.Common.ExecutionFailureException:执行Transact-SQL语句或批处理时发生异常.-> System.Data.SqlClient.SqlException:数据库'DBName‘已经存在。选择不同的数据库名称。

某些系统进程总是在脚本运行后很好地连接到数据库上。我试过在不同的机器上运行这个程序,同样的问题也存在。我也尝试过运行一个不同的Tarantino项目,每次都运行得完美无缺。我甚至创建了一个虚拟更新文件(它添加了表Foo、Bar等),该文件也没有问题地运行。问题似乎源于为ASP.NET成员资格表创建表脚本。

您可以找到运行在PasteBin的separated脚本的副本(由于它的长度而与post分离)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-07 04:13:16

那将是塔伦蒂诺的一个错误。如果您查看DropConnections.sql,您会发现作者已经陷入了一个古老的神话,即任何高于50的会话都是用户会话。识别用户会话(因此是可杀死的会话)的正确方法是检查sys.dm_exec_sessions中的sys.dm_exec_sessions列。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3189830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档