powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DB UserID
8 сообщений из 8, страница 1 из 1
DB UserID
    #40024831
Алексаша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Ms SQL SERVER 2017

Код: sql
1.
2.
3.
4.
создаю пользователя
create user [test] without login

select database_principal_id('test')


44
потом удаляю этого пользователя и создаю нового. ожидаю что ИД будет с каждым разом прирастать, но ИД генерится как у удаленного
Код: sql
1.
2.
3.
4.
drop user [test]
create user [test_1] without login

select database_principal_id('test_1')


44
на каждой таблице в БД есть поле User значение по умолчанию database_principal_id()
и получается если удалять, создавать пользователей то поле User будет отображать некорректные данные...

Или я что-то не понимаю ?
...
Рейтинг: 0 / 0
DB UserID
    #40024839
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексаша
и получается если удалять, создавать пользователей то поле User будет отображать некорректные данные...

Не получается. Вы этот случай вообще не проверили.

Создайте 10 пользователей. Удалите к примеру второго и седьмого. Создайте ещё 10 пользователей.
...
Рейтинг: 0 / 0
DB UserID
    #40024840
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексаша
и получается если удалять, создавать пользователей то поле User будет отображать некорректные данные...

Или я что-то не понимаю ?


Да. Не понимаете.
UserID не является чем-то незыблемым. Навечно идентифицирующим пользователя.
Есть штатное переназначение соответствия login <-> user.
И что изменится?
...
Рейтинг: 0 / 0
DB UserID
    #40024853
Алексаша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

если создать 10 пользователей. удалить 2 пользователей. затем создать опять 10 пользователей, то 2 пользователя из новой десятки получат ИД ранее двух удаленных остальные 8 по нарастающей ...
...
Рейтинг: 0 / 0
DB UserID
    #40024855
Алексаша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222
Алексаша
и получается если удалять, создавать пользователей то поле User будет отображать некорректные данные...

Или я что-то не понимаю ?


Да. Не понимаете.
UserID не является чем-то незыблемым. Навечно идентифицирующим пользователя.
Есть штатное переназначение соответствия login <-> user.
И что изменится?


А если БД автономная, т.е. не требуется имя входа ...
а как Навечно идентифицировать пользователя. вводить таблицу соответствия EmpID <-> UserID ???
...
Рейтинг: 0 / 0
DB UserID
    #40024870
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексаша,

не привязывайтесь к user_id, привязывайтесь тогда к sid или вообще к name в чем интерес использовать именно идентификатор?
...
Рейтинг: 0 / 0
DB UserID
    #40025897
Алексаша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff
Алексаша,

не привязывайтесь к user_id, привязывайтесь тогда к sid или вообще к name в чем интерес использовать именно идентификатор?


В моем случае имя пользователя БД в отличие от имени входя имеет имя с смысловой нагрузкой. Имя пользователя БД содержит ФИО. С течением времени ФИО меняется и пользователя БД можно переименовать, а идентификатор останется тем же.
...
Рейтинг: 0 / 0
DB UserID
    #40025906
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексаша
felix_ff
Алексаша,

не привязывайтесь к user_id, привязывайтесь тогда к sid или вообще к name в чем интерес использовать именно идентификатор?


В моем случае имя пользователя БД в отличие от имени входя имеет имя с смысловой нагрузкой. Имя пользователя БД содержит ФИО. С течением времени ФИО меняется и пользователя БД можно переименовать, а идентификатор останется тем же.
На что только люди не идут, лишь бы таблицу Users не создавать...

Поскольку database_principal_id генерируется не вами, вы не можете делать никаких предположений о его природе и подразумевать какое-либо поведение для него. Фсе.
В следующей версии, или даже в очередном CU что-нибудь поменяют, и привет, все посыпалось как карточный домик.

Сделайте таблицу Users, и там храните, ну не знаю, логины наверное (sid только у виндовых пользователей воспроизводимый получается, вроде), через которые уже будете мэппить и ФИО, и дату рождения, и отдел, и id, и все остальное.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DB UserID
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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