49得票5回答
我可以添加一个忽略现有违规的唯一约束吗?

我有一张表,其中一个列目前存在重复的值。 我无法删除这些错误的重复项,但我希望防止添加其他非唯一值。 我能创建一个不检查现有符合性的“UNIQUE”吗? 我尝试使用“NOCHECK”,但没有成功。 在这种情况下,我有一张将许可信息与“CompanyName”关联的表。 编辑:拥有多个...

33得票4回答
EF Code First对于所有字符串都使用nvarchar(max)。这会影响查询性能吗?

我有一些使用Entity Framework Code First创建的数据库;这些应用程序正在运行,总体上我对Code First所能做的事情感到非常满意。我首先是一个程序员,其次才是DBA,这是出于必要性。我正在阅读关于DataAttributes的内容,以便在C#中进一步描述我希望数据库...

28得票6回答
在整个数据库中更改对GETDATE()的使用

我需要将一个本地 SQL Server 2017 数据库迁移到 Azure SQL 数据库,但是我面临一些挑战,因为有很多限制需要克服。 特别是,由于 Azure SQL 数据库仅使用 UTC 时间(没有时区),而我们需要本地时间,所以我们必须在数据库中的所有地方更改对 GETDATE() ...

26得票1回答
我该如何在SQL Azure上更改现有的主键?

我想在一个 SQL Azure 表上修改现有的主键。 目前它只有一个列,我想要添加另一个列。 在 SQL Server 2008 上,这是非常简单的,只需在 SSMS 中进行操作,就完成了。 如果我从 SQL Server 脚本化主键,它看起来就像这样: ALTER TABLE [dbo]...

26得票1回答
为什么在配置有历史表和非聚集索引的表中,MERGE操作不能插入超过277条记录?

我再次发现了一个与SQL Server和MERGE语句相关的问题,并需要确认一下。 我可以在Azure数据库上不断重现我的问题(但在本地的SQL Server 2017/2019上却没有)。 请按照以下步骤执行(逐步执行,而不是一次性执行命令)! 1)模式脚本: CREATE ...

24得票1回答
在简单的SELECT查询计划中,这个Constant Scan和Left Outer Join是从哪里来的?

我有这张桌子: CREATE TABLE [dbo].[Accounts] ( [AccountId] UNIQUEIDENTIFIER UNIQUE NOT NULL DEFAULT NEWID(), -- WHATEVER other columns ); GO CREA...

20得票5回答
在应用程序中出现Azure SQL数据库的“用户登录失败”,但在SSMS中正常工作。

我想在Azure SQL Database V12上尝试使用包含的数据库用户功能,但是我在身份验证方面遇到了一个奇怪的问题。 我创建了一个名为Classifier的数据库。我将我的IP添加到防火墙规则中,以便可以从我的工作站上的SSMS连接到Azure数据库服务器。一旦我能够通过SSMS进行...

16得票2回答
为什么我的索引在SELECT TOP中没有被使用?

这是情况说明:我正在执行一个选择查询。在WHERE和ORDER BY子句中的每一列都包含在一个非聚集索引IX_MachineryId_DateRecorded中,要么作为键的一部分,要么作为INCLUDE列。我选择了所有列,所以会导致一个书签查找,但我只取TOP (1),所以服务器肯定可以知道...

16得票6回答
重新构建非常大的主键索引

我有一个托管在Azure上的SQL数据库。问题是,它的大小已经失控了,我可以看到主键聚集索引中高达99%的碎片化。 我能够使用"online=on"选项重建所有其他索引,并且不会影响性能。但其中一个PK聚集索引的大小超过了200GB,对于这个索引,使用"REBUILD...WITH (ONL...

15得票1回答
性能差的子查询与日期比较

当使用子查询来查找具有匹配字段的所有先前记录的总数时,在仅有5万条记录的表上性能非常差。没有子查询时,查询只需几毫秒即可执行。而使用子查询时,执行时间长达一分钟。 对于此查询,结果必须满足以下要求: 仅包括给定日期范围内的记录。 包括所有先前记录的计数,不包括当前记录,无论日期范围如何。...