在Microsoft SQL Server中,我有一个架构XXX。 问:如何创建用户XXX,以便发出以下命令:
SELECT * FROM Table
与
相同SELECT * FROM XXX.Table
这是我到目前为止所拥有的:
CREATE SCHEMA XXX authorization dbo -- I think
CREATE LOGIN XXX
WITH PASSWORD = '123';
CREATE USER ItDontMatter FOR LOGIN XXX
WITH DEFAULT_SCHEMA = XXX;
答案 0 :(得分:4)
正确。
使用DEFAULT_SCHEMA
选项
指定服务器在解析此数据库用户的对象名称时将搜索的第一个架构。
和
如果未定义DEFAULT_SCHEMA,则数据库用户将使用dbo作为其默认架构。 DEFAULT_SCHEMA可以设置为数据库中当前不存在的模式。 DEFAULT_SCHEMA可以在创建它指向的模式之前设置。
答案 1 :(得分:2)
作为对gbn答案的一个小记录,两者从来都不一样。如果未指定表所有者,则SQL Server不会缓存您的查询,因为它不确定访问权限。因此,为了提高性能,请始终在查询,过程,函数和视图中指定schema.table
。