Почему уже есть некоторые пользователи при первом создании базы данных?(SQL Server 2017, SSMS 17.9) - PullRequest
0 голосов
/ 22 ноября 2018

В Microsoft SQL Server Management Studio, выполняющей команды SQL (например, CREATE DATABASE XYZ) или через графический интерфейс для создания новой базы данных, база данных заканчивается несколькими пользователями по умолчанию (см. Рисунок ниже), например, dbo,текущий пользователь домена, guest, sys.

Это поведение SQL Server по умолчанию?Есть ли способ контролировать это поведение?(например, не включая текущего пользователя домена, который использует компьютер с SSMS; или должен включать некоторых пользователей)

Еще одна странная вещь в списке пользователей, можно увидеть tester222, который я создалдля тестирования давно, и это имя больше не существует в «Экземпляре SQL Server \ Security \ Logins» в обозревателе объектов.Как это могло только сейчас появиться в списке?

Sample Database

1 Ответ

0 голосов
/ 23 ноября 2018

Благодаря @ Larnu.

Новые базы данных создаются на основе базы данных модели.См. Пример ниже:

База данных модели в SQL Server 2017

При изменении, скажем, списка пользователей по умолчанию в этой базе данных модели, каждая новая база данных при создании будет наследоватьсяэтот список пользователей.

От Microsoft:

https://docs.microsoft.com/en-us/sql/relational-databases/databases/model-database?view=sql-server-2017

База данных модели используется в качестве шаблона для всех баз данных, созданных на экземпляре SQL Server,Поскольку база данных tempdb создается при каждом запуске SQL Server, база данных модели всегда должна существовать в системе SQL Server.Все содержимое базы данных модели, включая параметры базы данных, копируется в новую базу данных.Некоторые параметры модели также используются для создания новой базы данных tempdb во время запуска, поэтому база данных модели всегда должна существовать в системе SQL Server.

...