我试图让用户在设置为默认模式的模式中创建表,并将它们设置为模式的所有者。
当我运行此命令时,即使它们的默认架构不是[dbo]
,它仍然会在 [dbo]
架构下创建表
EXECUTE AS USER = 'test'
CREATE TABLE TEST (T VARCHAR(10))
REVERT
我希望这样做的原因是因为我们使用的程序默认情况下使用 [dbo] 模式来复制数据。它在文档中声明表将使用正在运行存储过程的用户的模式前缀。
这可能吗?此用户创建的任何新表,我希望它使用其默认架构而不是[dbo]
这是可能的 - 下面显示的 POC 来自 SQL Server 2019