用户不使用SQL Server 2014中指定的默认架构创建表

时间:2016-04-27 15:52:20

标签: sql sql-server sql-server-2014

我从SQL Server 2014回来后遇到了一年的问题。

我已经创建了模式“dba”并将其分配给数据库上的用户默认模式,该模式附加到服务器上的登录,例如Login1

所以Login1用户的默认架构为dba

我遇到的问题是当我使用:

创建表格时
Create table Test (Test int)

它将表格创建为 dbo.Test

然而,当我以Login1登录时,我希望将其创建为 dba.Test

如果我运行此代码:

Execute as user = 'Login1'
Create Table Test (Test int)

然后我得到了dba.Test的理想结果

我不确定哪些更多信息可以帮助我帮助我,但如果你让我知道我会提供它。

提前致谢。

1 个答案:

答案 0 :(得分:0)

感谢您对此的所有帮助。在尝试Select Current_User并意识到我的登录仍在使用dbo而不是Login1时,某些事情肯定是不对的。

我阅读以下内容并意识到问题是Login1被分配了sysadmin角色并且这映射到了dbo。下面的任何级别都会将您的用户映射到自己,所以我只是将他们的角色更改为serveradmin,并且嘿它开始工作:

https://technet.microsoft.com/en-us/library/aa905208(v=sql.80).aspx