相关疑难解决方法(0)

SQL Server Management Studio 2012中的自动增量主键

我如何auto incrementprimary key一个SQL Server数据库表,我已经通过论坛看看,但不能看到.

我查看了属性,但看不到一个选项,我看到了一个答案,你去了Identity规范属性并将其设置为是并设置Identity increment为1,但该部分显示为灰色,我无法更改不,是的.

必须有一个简单的方法来做到这一点,但我找不到它.

sql-server identity sql-server-2012

416
推荐指数
7
解决办法
104万
查看次数

SQL Server 2012列标识增量在第7个条目上从6跳到1000+

我有一个奇怪的情况,我的SQL Server 2012数据库中的自动标识int列没有正确递增.

假设我有一个使用int自动标识作为主键的表,它偶尔会跳过增量,例如:

1,2,3,4,5,1004,1005

这是在随机数量的随机时间表上发生的,无法复制它以查找任何趋势.

这是怎么回事?有办法让它停止吗?

sql sql-server identity sql-server-2012

123
推荐指数
1
解决办法
10万
查看次数

在SQL Server中,标识列值突然跳转到1001

我正在使用Sql server 2012(Denali).我想知道为什么所有标识列值都从1001开始,依此类推.在开始Identity列从1,2开始,依此类推,并顺利添加标识,但突然它跳转到1001,1002以及包含标识列的数据库中的所有表.可能是什么原因?请协助.

sql sql-server sql-server-2012

48
推荐指数
2
解决办法
5万
查看次数

Windows Azure SQL数据库 - 标识自动增量列会跳过值

目前正在使用Entity Framework 5处理ASP.Net MVC 4应用程序.使用CodeFirst进行初始开发阶段.但现在已禁用自动迁移并直接使用SSMS设计新表并编写POCO.一切都很好.

最近,在生产中发现了一个奇怪的问题.其中一个最初设计的表中的记录跳过自动增量标识值超过900个数字.这在过去3个月内发生了3次.在本地调试应用程序但无法重现.没有观察到任何模式或趋势.

模型:

public class Enquiry
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public Int64 EnquiryId { get; set; }

    [Required]
    public int UserId { get; set; }

    [Required]
    public byte Bid { get; set; }

    ...

    [Required]
    public DateTime Created { get; set; }

    [Required]
    public DateTime Modified { get; set; }
}

public class EnquiryDetail
{
    [Key]
    public Int64 EnquiryId { get; set; }

    [Required]
    public int CreditScore { get; set; }

    [Required]
    public byte BidMode { get; …
Run Code Online (Sandbox Code Playgroud)

sql-server entity-framework asp.net-mvc-4 entity-framework-5 azure-sql-database

17
推荐指数
1
解决办法
6160
查看次数

为什么我的IDENTITY列值存在差距?

我有个问题.

我的ID主要(IDENTITY)配置为自动递增(类型:int).但是,当我插入一个新行时,这个新的id不是连续的.怎么了?有解决方案吗

编辑:

[...]
[id]int] IDENTITY(1,1) NOT NULL,
[...]
CONTRAINT [PK_Medida] PRIMARY KEY CLUSTERED
(
[id] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

sql sql-server

12
推荐指数
2
解决办法
2万
查看次数

SQL Server:主键的任意自动增量

我们正在运行SQL Server 2012 SP1 x64(11.0.3000.0)

我有下表与InvoiceId字段作为自动递增,主键:

CREATE TABLE Orders(
    InvoiceId           bigint           IDENTITY(1001,1) NOT FOR REPLICATION,
    OrderId             varchar(8)       NOT NULL,
    ...  -- other fields removed for brevity
    CONSTRAINT [PK_ORDERS] PRIMARY KEY CLUSTERED (InvoiceId)
    ON [PRIMARY], 
)
Run Code Online (Sandbox Code Playgroud)

通过一个简单的存储过程插入新行,如下所示:

SET  XACT_ABORT ON
SET  NOCOUNT ON

BEGIN TRANSACTION
    INSERT INTO Orders(
          OrderId,
          ... -- other fields removed for brevity
        )
    VALUES  (
          @orderId,
          ...
        )              

    SELECT @newRowId = SCOPE_IDENTITY()
COMMIT TRANSACTION
Run Code Online (Sandbox Code Playgroud)

上面的sproc将新创建的row-id(Orders.InvoiceId)返回给调用者.

代码工作正常,[InvoiceId]从1001开始,每个连续插入递增1.

我们的用户插入了大约130行.[InvoiceId]是在1130,然后在下一个插入其价值跃升至11091! …

sql sql-server primary-key

10
推荐指数
1
解决办法
3958
查看次数

标识列增量跳转

我在数据库中遇到了一些有趣的事情.主键增加如下:

1
2
3
4
5
6
7
8
1001
Run Code Online (Sandbox Code Playgroud)

我正在使用EntityFramework或有时使用LINQ to SQL.

linq sql-server asp.net entity-framework

8
推荐指数
1
解决办法
1955
查看次数

我每次构建应用程序并插入新记录时,Id都会上升1000

我正在建立一个基本的CRUD页面,在初学者asp.net-core-mvc/ef-core教程之后

每次我通过我的mvc网站重建和创建新记录时,我都注意到我的Id已经跳了1000

例如,我前几行的id是:

  • 1,2,1002,1003,1004,2002,2003,3002,3003,4002,5002

我怎么阻止这个?我以前从未见过这种行为.从一些谷歌搜索似乎是一个sql 2012问题,但我没有使用sql 2012.

我正在使用mssqllocaldb,一切都已更新,我安装了SSMS2014

entity-framework entity-framework-core asp.net-core

8
推荐指数
1
解决办法
1882
查看次数

为什么我的自动递增的Id跳过SQL Server中的数字?

它们似乎是相当大的跳跃,甚至成千上万.这是一个例子:

图表A.

该表的最后一个ID超过了30.000标记,即使表中的行数少于一千行.

  • 是什么造成的?
  • 我怎么能在将来防止这种情况发生?
  • 如何阻止我现在的桌子在这条黑暗的道路上继续?

编辑:这发生在我的一个旧的,小型的桌面应用程序中,我还没有删除此表中的行,也没有使用任何事务和回滚.

sql-server sql-server-2012

6
推荐指数
2
解决办法
9384
查看次数

SQL服务器模数运算符跳过大表上的每第n行

我有一张100,000,000行的大桌子.我想从表中选择每一行.我的第一直觉是使用这样的东西:

SELECT id,name FROM table WHERE id%125000=0
Run Code Online (Sandbox Code Playgroud)

检索800行的均匀传播(id是聚簇索引)

这种技术在较小的数据集上运行良好,但对于我的较大的表,查询需要2.5分钟.我假设这是因为模数运算应用于每一行.是否有更优化的行跳过方法?

sql sql-server sql-server-2012

5
推荐指数
1
解决办法
1425
查看次数