XXX架构默认

时间:2010-06-30 19:22:56

标签: sql-server sql-server-2005

在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;

2 个答案:

答案 0 :(得分:4)

正确。

使用DEFAULT_SCHEMA选项

  

指定服务器在解析此数据库用户的对象名称时将搜索的第一个架构。

  

如果未定义DEFAULT_SCHEMA,则数据库用户将使用dbo作为其默认架构。 DEFAULT_SCHEMA可以设置为数据库中当前不存在的模式。 DEFAULT_SCHEMA可以在创建它指向的模式之前设置。

答案 1 :(得分:2)

作为对gbn答案的一个小记录,两者从来都不一样。如果未指定表所有者,则SQL Server不会缓存您的查询,因为它不确定访问权限。因此,为了提高性能,请始终在查询,过程,函数和视图中指定schema.table