导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

再送分!还是权限!!

llgy 2003-12-25 02:54:11
1、T1的所有者为ABC,用ABC登录后
SELECT * FROM T1 //无T1对象
SELECT * FROM ABC.T1 //正常
为什么?

2、用ABC登录、ABC对数据库权限为PUBLIC和DB_OWNER
创建表T2,所有者为DBO,而不是ABC!!!
为什么?

是不是我的SQL SERVER 有问题!
我都快崩溃了!!
...全文
7 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
devilwind 2003-12-26
应该是默认数据库的问题把!
回复
hbwhwanghua 2003-12-26
出去散步一下,再回来,呵呵
SQLSERVER肯定没问题的!
回复
llgy 2003-12-26
zjcxc(邹建)
---------------------------------------------------------
Name Owner Type Created_datetime
-------- ---------- ------------ -------------------------
tb1 dbo user table 2003-12-25 16:11:36.800

这是为什么?
其他的都和你的一样!!!!
回复
llgy 2003-12-26
谢谢各位的帮助,结帖了!
回复
楼主用这个来测试一下,你的电脑上显示什么信息?
回复
--下面是我的电脑上的测试

--显示当前登陆的用户名
select SUSER_SNAME()
go

--查询用户abc的属性
exec sp_helpuser 'abc'
go

--创建表
create table tb1(id int)
go

--查询表
select * from tb1
go

--显示创建的表tb1的信息
sp_help tb1
go

--删除创建的测试表
drop table tb1

/*--测试结果

--这里可以确定,当前使用的用户是abc

----------------------------------------------
abc

(所影响的行数为 1 行)

--这里可以确定,abc是当前数据库的db_owner
UserName GroupName LoginName DefDBName UserID
-------- ---------------- --------- ------------ ------
abc db_owner abc master 5


--这里没出错,表示查询没问题
id
-----------

(所影响的行数为 0 行)

Name Owner Type Created_datetime
-------- ---------- ------------ -------------------------
tb1 abc user table 2003-12-25 16:11:36.800

--以下省略了一些无关信息
--*/
回复
sdhdy 2003-12-25
你看一下,查询分析器状态栏上的用户是sa还是ABC?如果是sa那就对了!
回复
jingxijun 2003-12-25
我也测了,没问题的
回复
sdhdy 2003-12-25
肯定是你的操作问题
回复
你确认你的步骤没做错吧?

我的电脑上是没问题的
回复
Rotaxe 2003-12-25
当创建对象时,Microsoft® SQL Server™ 2000 对未指定的名称部分使用下列默认值:

Server 默认为本地服务器。


Database 默认为当前数据库。


Owner_name 默认为与当前连接的登录 ID 相关联的指定数据库中的用户名称。
例如,如果用户作为数据库所有者 (dbo) 用户登录到 Northwind,则下面两个语句的任何一个都将创建一个名为 Northwind.dbo.TableX 的表:

CREATE TABLE TableX (cola INT PRIMARY KEY, colb NCHAR(3))

-或-

CREATE TABLE Northwind.dbo.TableX
(cola INT PRIMARY KEY, colb NCHAR(3))


回复
Rotaxe 2003-12-25
没有问题,应该这样
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告