我从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的理想结果
我不确定哪些更多信息可以帮助我帮助我,但如果你让我知道我会提供它。
提前致谢。
答案 0 :(得分:0)
感谢您对此的所有帮助。在尝试Select Current_User
并意识到我的登录仍在使用dbo而不是Login1时,某些事情肯定是不对的。
我阅读以下内容并意识到问题是Login1被分配了sysadmin角色并且这映射到了dbo。下面的任何级别都会将您的用户映射到自己,所以我只是将他们的角色更改为serveradmin,并且嘿它开始工作:
https://technet.microsoft.com/en-us/library/aa905208(v=sql.80).aspx