powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Identity прыгнуло на 1000
15 сообщений из 40, страница 2 из 2
Identity прыгнуло на 1000
    #38198275
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DNV,

для Вас уже всё разработали:

http://www.gotdotnet.ru/blogs/DeColores/1933/
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #38198453
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmMasterZivЕстественно, в БД констрейнтом identity не является, если ты это имел в виду.Вот именно. Поэтому, имхо, нельзя говорить, что Identity гарантирует уникальность, дабы не вводить в заблуждение новичков.

По этой причине ВООБЩЕ НИЧЕГО нельзя говорить тогда.
Им блин чё не скажешь, всё не так поймут.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Identity прыгнуло на 1000
    #39642549
Барсег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DNV, у меня также было и с 2008-м mssql, тогда не было критично, хоть на 2000 тысячи увеличивает, а для нынешней моей задачи нужен ровный счет.)
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #39642676
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БарсегDNV, у меня также было и с 2008-м mssql, тогда не было критично, хоть на 2000 тысячи увеличивает, а для нынешней моей задачи нужен ровный счет.)

Т.е. вы уверены, что юзер DNV забросил всё, 5 лет мониторит тему в ожидании ответа
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #39642820
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DNVтогда избавьте меня от своих словоиспражнений, и дайте ответить тем кто может мне помочь.
провалы при удалении или при rollback не интересуют
но вот еще один скачок в 1000 единиц может привести к серьезному конфлитку с заказчиками

Если бизнес логика вашего приложения требует создания непрерывного диапазона (последовательности) значений, то это надо реализовать механизмами, которые дают такую непрерывность. IDENTITY к таким механизмам не относится. Можно сделать NOCACHE и СНИЗИТЬ ВЕРОЯТНОСТЬ разрывов, но добиться их отсутствия нельзя. Нужно, чтобы ваше приложение это контролировало само.

Приложение, может использовать значения, а потом произойдет откат транзакции. И разрыва не избежать. Даже sequence не панацея.
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #39642950
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему 2017 прикрутили некешируемый идентити по выбору.
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #39642961
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовПо-моему 2017 прикрутили некешируемый идентити по выбору.Осталось дождаться, когда еще и откатываемый прикрутят.
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #39643061
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовПо-моему 2017 прикрутили некешируемый идентити по выбору. В смысле - 2017? Его сразу сделали по флагу, как только ввели кэширование - флаг 272.

С 2017 добавили возможность устанавливать этот параметр на уровне базы данных.

ALTER DATABASE SCOPED CONFIGURATION
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Identity прыгнуло на 1000
    #40036933
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коллеги
подскажите плз
две тестовые таблицы
после перезагрузки БД и добавления строк один идентити на тбл Countries прыгнул на 1000, второй на тбл Humans пошел дальше (дырка на 1 единицу)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
USE [devs]
GO

/****** Object:  Table [dbo].[Countries]    Script Date: 18.01.2021 19:20:40 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Countries](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](max) NULL,
	[Population] [int] NOT NULL,
	[SickCount] [int] NOT NULL,
	[DeadCount] [int] NOT NULL,
	[RecoveredCount] [int] NOT NULL,
	[Vaccine] [bit] NOT NULL,
 CONSTRAINT [PK_Countries] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO




USE [devs]
GO

/****** Object:  Table [dbo].[Humans]    Script Date: 18.01.2021 19:20:14 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Humans](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[FirstName] [nvarchar](max) NULL,
	[LastName] [nvarchar](max) NOT NULL,
	[Age] [int] NOT NULL,
	[IsSick] [bit] NOT NULL,
	[CountryId] [int] NOT NULL,
	[Gender] [int] NULL,
 CONSTRAINT [PK_Humans] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[Humans] ADD  DEFAULT (N'') FOR [LastName]
GO

ALTER TABLE [dbo].[Humans] ADD  DEFAULT ((0)) FOR [Gender]
GO

ALTER TABLE [dbo].[Humans]  WITH CHECK ADD  CONSTRAINT [FK_Humans_Countries_CountryId] FOREIGN KEY([CountryId])
REFERENCES [dbo].[Countries] ([Id])
ON DELETE CASCADE
GO

ALTER TABLE [dbo].[Humans] CHECK CONSTRAINT [FK_Humans_Countries_CountryId]
GO

Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
Sep 24 2019 13:48:23
Copyright (C) 2019 Microsoft Corporation
Express Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 18363: )
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #40036934
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #40037009
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
подскажите плз
Что подсказать?
Почему так произошло, написано выше.
Как замедлить работу сервера, попутно уменьшив вероятность появления "дырок", тоже написано выше.
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #40037013
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уменьшение вероятности дырок не волнует
где надо будет без дырок, я разберусь как сделать

в прошлый раз корректировал обе таблицы
интересно - почему на одной скакнуло, а на другой нет
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #40037015
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Как замедлить работу сервера, попутно уменьшив вероятность появления "дырок", тоже написано выше.

И что наличие дырок всё равно будет из-за отката транзакций, тоже упомянули.
Интересно, есть ли люди, которые жалуются на пропуски в последовательности NEWSEQUENTIALID?
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #40037035
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
интересно - почему на одной скакнуло, а на другой нет
Возможно
1. Просто так совпало, что на момент "перезагрузки" кеш для одной из таблиц был исчерпан.
2. С предыдущей "перезагрузки" данные в одну из таблиц не добавляллись.
3. Для одной из таблиц было выполнено dbcc checkident с reseed.
4. Неизвестная бага.
...
Рейтинг: 0 / 0
Identity прыгнуло на 1000
    #40037048
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,

спасибо
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Identity прыгнуло на 1000
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]