Почему уже есть некоторые пользователи при первом создании базы данных? (SQL Server 2017, SSMS 17.9)
В Microsoft SQL Server Management Studio можно выполнять команды SQL (например, CREATE DATABASE XYZ
) или через графический интерфейс для создания новой новой базы данных, база данных заканчивается несколькими пользователями по умолчанию (см. рисунок ниже), например dbo
, текущий пользователь домена, guest
, sys
,
Это поведение по умолчанию SQL Server? Есть ли способ контролировать это поведение? (например, не включая текущего пользователя домена, который использует компьютер с SSMS; или должен включать некоторых пользователей)
Еще одна странная вещь в списке пользователей, можно увидеть tester222
, который я создал для тестирования давно, и этого имени больше нет в "Экземпляре SQL Server \Security\Logins" в Object Explorer. Как оно могло появиться в списке?
1 ответ
Спасибо @Larnu.
Новые базы данных создаются на основе базы данных модели. Смотрите пример ниже:
Модель базы данных в SQL Server 2017
При изменении, скажем, списка пользователей по умолчанию в этой базе данных модели каждая новая база данных при создании будет наследовать этот список пользователей.
От Microsoft:
База данных модели используется в качестве шаблона для всех баз данных, созданных на экземпляре SQL Server. Поскольку база данных tempdb создается при каждом запуске SQL Server, база данных модели всегда должна существовать в системе SQL Server. Все содержимое базы данных модели, включая параметры базы данных, копируется в новую базу данных. Некоторые параметры модели также используются для создания новой базы данных tempdb во время запуска, поэтому база данных модели всегда должна существовать в системе SQL Server.