对于Microsoft SQL Server Management Studio,无论是执行SQL命令(例如CREATE DATABASE XYZ
)还是通过GUI创建新的数据库,该数据库最终都会带有一些默认用户(请参见下图),例如dbo
,当前域用户guest
,sys
。
这是SQL Server的默认行为吗?反正有控制这种行为的方法吗? (例如,不包括正在使用SSMS的计算机的当前域用户;或必须包括一些用户)
用户列表中还有另外一件奇怪的事情,可以看到tester222
,它是我很久以前创建的用于测试的对象,并且该名称在Object的“ SQL Server Instance \ Security \ Logins”中不再存在资源管理器。现在怎么会出现在列表中?
答案 0 :(得分:0)
感谢@Larnu。
基于 模型数据库创建新数据库。请参见下面的示例:
Model Database in SQL Server 2017
例如,如果要更改此模型数据库中的默认用户列表,则每个新数据库在创建时都会继承该用户列表。
从Microsoft:
模型数据库用作创建的所有数据库的模板 在SQL Server实例上。因为tempdb每次创建SQL 服务器启动后,模型数据库必须始终存在于SQL上 服务器系统。模型数据库的全部内容,包括 数据库选项,将被复制到新数据库。一些设置 模型的启动过程中还用于创建新的tempdb,因此 模型数据库必须始终存在于SQL Server系统上。