设置默认架构时出现问题

时间:2012-01-09 20:56:41

标签: sql sql-server-2008 tsql

在大学里我运行以下命令来改变我的默认架构:

ALTER USER [campus\s00103417]
WITH DEFAULT_SCHEMA = MyCmdSet01;

我最近在win7下的笔记本电脑上安装了SQL Server。其他一切都很棒。但是当我创建一个数据库时,然后创建一个模式并尝试将其设置为默认值,它会给我一个错误。以下是我在笔记本电脑上运行的代码。

ALTER USER [L01\Admin]
WITH DEFAULT_SCHEMA = dbo;

以下是我得到的错误

Cannot alter the user 'L01\Admin', because it does not exist or you do not have permission.

我不明白的是,显然我存在,我创建了数据库。我也教过我,因为DBO可以做任何我喜欢的事情。显然我不完全理解这些东西。任何人都可以解释我如何使上面的命令工作,所以我可以改变我的默认架构。

如果相关,我只有一个Windows登录(无密码)。一旦计算机启动,它就会将我弹出到桌面上。然后我启动SQL Server 2008 Management Studio,要求我连接并输入L01作为服务器名称并选择Windows身份验证。

任何帮助都会有很大的帮助。

编辑:我不知道这些是否会提供任何帮助。我运行了命令:

SELECT SUSER_NAME()  --Output L01\Admin
SELECT USER_NAME()   --Output dbo

2 个答案:

答案 0 :(得分:4)

你在谈论你的登录(我猜它是'L01 \ Admin')。这与数据库用户不同。如果您的登录名为sysadmin固定服务器角色,则会自动映射到dbo内置数据库用户。因此,这就是您找不到L01\Admin用户的原因,因为它实际上并不存在。

这有意义吗?请记住:server login <> database user

答案 1 :(得分:0)

在SQL Server中,用户是数据库级对象。执行alter命令时当前的数据库是什么?你真的有用户叫[L01 \ Admin]吗?