问题标签 [sql-server-2005-express]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 如何避免这两个 SQL 语句之间出现死锁?
我有两个在不同线程中运行的存储过程,在 SQL Server 2005 上运行。一个过程将新行插入一组表中,另一个过程从同一组表中删除旧数据。这些过程在DLevel和Model表上遇到了死锁。这是架构:
(来源:barramsoft.com)
表DFile:主键 = DFileID
表DLevel:主键 = DLevelID,外键:DFileID
表模型:主键 = ModelID,外键:DFileID
表元素:主键 = ElementID,外键 1:DFileID,外键 2:DLevelID
我已经隔离了导致死锁的确切的两个 SQL 语句(每个存储过程中的一个)。我已经看到任何一个程序报告的死锁。我在这两种情况下都使用 top (1000) 并且两个语句都在循环中执行,直到它们完成并且没有剩余的行可以删除/插入。
SQL 语句 1:
SQL 语句 2:
注意:@fileID1和@fileID2的值始终保证不同。DLevel 表平均有大约。单个DFileID有 60 行,因此将在一次传递中完成所有行的删除。
如何避免这两个 SQL 语句之间出现死锁?
编辑1: 重写以更好地澄清问题;添加图像;简化 SQL 并删除了对 DLevel 表的连接,这不会导致死锁。
编辑 2:
添加了死锁图的 XML。
死锁现在发生在模型表上。模型的删除语句和模式与DLevel表类似。
sql-server-express - SQL Server 2005 Express - 无法打开连接
我在我的 Vista Ultimate 计算机上安装了 Microsoft SQL Server 2005 Express 版本。但是,当它打开时,我输入我的计算机名/SQLEXPRESS。当我单击连接按钮时,它会给我一条错误消息。
在配置工具下,我找不到 SQL Server 外围应用配置。它只有 SQL Server 错误和使用情况报告。
单击“连接”按钮时收到的错误消息是:
建立与 SQL Server 的连接时发生网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,并且 SQL Server 已配置为允许远程连接(提供程序:命名管道提供程序,错误 40 - 无法打开与 SQL Server 的连接)(Microsoft SQL Server:错误 67)
sql - Visual Studio 2005 SQL Server Express 版用户名通过
SQL Server Management Studio Express
Visual Studio 2005 我使用 Windows 身份验证连接 SQL Server Express 版本。
当我安装 Visual Studio 2005 时,我没有被要求提供 SQL Server Express 版本的用户名或密码。如何在没有 Windows 身份验证的情况下进行连接?
sql-server-2005 - 通过 SQL Server Management Studio Express 打开 .mdf 文件时出错
我正在做一个启用网络的数据库项目。我已经在我的 PC 中创建了数据库文件。
现在,当我只想打开我创建的数据库的 .mdf 即,我无法在其他 PC 上打开它。我什至已经将 .ldf 文件(即日志文件)复制到了那台 PC。
由于我以后需要将数据库传输到服务器,我不知道我将如何从我的PC转储该服务器中的数据库以便公司可以使用它。
sql-server - MS SQL Server Express 2005 中的级联树删除
一个表的名称为“Stages”,每个 Stage 可以有 0 到无穷大的孩子。在“Stages”表中有一个名为“Parent”的列。此列是同一个表“Stages”的外键。
我将如何对这棵树进行级联删除?我想在删除此表中的任何行时,自动删除他们所有的孩子和他们孩子的孩子......
使用以下查询
我收到这个错误
sql-server - 无法在 sql server (single_user) 中恢复数据库
我正在尝试在我的 sql server 2005 express edition 中恢复数据库。我知道要恢复数据库,我需要将其设置为单个用户。我正在给出这个命令以使其成为单个用户
该命令正确执行,我什至可以在该数据库的对象资源管理器中看到一个小图像,表明现在是单用户。
现在我正在尝试通过以下步骤还原数据库->右键单击数据库和任务,然后还原数据库。我正在选择备份文件所在的路径,然后单击还原。
但我仍然收到错误“无法获得独占访问权限,因为数据库正在使用(microsoft.sqlserver.smo)。我错过了什么吗?我已经用谷歌搜索过了,所有大多数网站都建议数据库需要在单个用户中模式,仅此而已。
我没有尝试数据库方法的分离和附加。我以前从未这样做过,我想知道这样做是否安全。
编辑:感谢您的回答。两者都建议了我相同的答案,因此我将一个答案标记为已选择。
我什至从选项中选择了覆盖现有数据库。
sql - 在 SQL Server 2005 Express 中将 NVARCHAR 转换为 INTEGER 的问题
大家下午,
我在将计算转换为整数时遇到了一些问题!基本上我有计算;
(它根据邮政编码计算经度和纬度之间的距离)
现在,我可以在 SELECT 语句中使用这个值,并且ISNUMERIC()
输出返回true!
但是,当我尝试在 WHERE 语句中限制此值时WHERE .... <= 150
,我收到返回的“将 NVARCHAR 转换为整数时出错”消息。
任何人都可以帮忙吗?我已经尝试过 CONVERT 和 CAST ,如果我添加了 limitedWHERE ISNUMERIC(...) = 1
我没有输出值!
感谢所有帮助
最诚挚的问候皮特 W
sql-server-2005 - 使用 SQL Server 2005 Management Studio Express 的不同架构下的同名表
我知道如何创建新模式并编写 DDL 脚本来创建具有相同名称的表,这些表位于同一数据库的不同模式中。我想知道如何使用 SQL Server 2005 Management Studio Express 做到这一点。
重复一遍,我想知道是否可以使用 SQL Server 2005 Management Studio Express 创建两个具有相同名称但驻留在同一数据库的不同模式中的表。
sql-server - 在没有浏览器的 sql server 2005 express edition 中创建数据库
我有一个 SQL 服务器 Express 版实例,我需要在其上创建一个数据库,但我没有 Sql 浏览器,否则我该怎么做
sql-server - 如何从具有两列 PatientID 和 TestNo 的 SQL Server 表中检索数据,不同的 TestNo 可以具有相同的患者 ID
我有一个数据库(SQL server 2005 Express)表,其中包含 PatientID 列(超过 1 条记录可以具有相同的患者 ID)和 TestNo。我想在具有相同 PatientID 的所有记录中检索 testNo 列的最大值。执行此操作的 SQL 语句应该是什么?我正在使用 RecordSet 指针访问 vc++ 应用程序中的记录。