首页 新闻 会员 周边

为什么sql server 2005只能在master数据库才能访问兼容性视图sysdatabase

0
[已关闭问题]

为什么只能在master数据库才能访问兼容性视图sysdatabase

杨  梅的主页 杨 梅 | 初学一级 | 园豆:200
提问于:2010-02-02 16:10
< >
分享
其他回答(1)
0

并非只有master数据库才能访问该视图。

MSDN:http://msdn.microsoft.com/zh-cn/library/ms178534.aspx

如果 sys.databases 的调用方并非数据库的所有者,并且数据库不是 mastertempdb,则查看对应行所需的最小权限为 ALTER ANY DATABASE 或 VIEW ANY DATABASE 服务器级权限,或者为 master 数据库中的 CREATE DATABASE 权限。总是可以在 sys.databases 中查看调用方连接的数据库。

更多知识,欢迎访问:
《Microsoft Sql server 2008 Internal》读书笔记

http://www.cnblogs.com/downmoon/archive/2010/01/26/1656411.html

还是可以通过

select * from testdb.sys.sysdatabases

 

来访问的啊!注意架构是sys不是dbo

邀月 | 园豆:25475 (高人七级) | 2010-02-02 16:51
我们说的不是同一个视图。你说的sys.databases 是目录视图。是可以在别的数据库里访问的。我说的是sysdatabases兼容性视图。
支持(0) 反对(0) 杨 梅 | 园豆:200 (初学一级) | 2010-02-02 16:57
@杨 梅:对不起,你还是可以通过 select * from testdb.sys.sysdatabases来访问的啊!
支持(0) 反对(0) 邀月 | 园豆:25475 (高人七级) | 2010-02-02 18:14
0

sysdatabases 和 sys.sysdatabases 应该是一个试图

在 master 数据库中调用,可以不写前面的sys

eaglet | 园豆:17139 (专家六级) | 2010-02-03 11:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册