当前位置: 代码迷 >> Sql Server >> ,关于SQL SERVER对象的有关问题
  详细解决方案

,关于SQL SERVER对象的有关问题

热度:11   发布时间:2016-04-24 10:22:17.0
求助,关于SQL SERVER对象的问题
我知道数据库对象的层次关系式    (服务器.数据库.架构.对象名)
但是我发现有些系统视图,比如sys.sysobjects,几乎每个数据库都有这个系统视图,
但是我执行

select * from master.sys.sysobjects where name='sysobjects'

有结果
执行

select * from 用户数据库.sys.sysobjects where name='sysobjects'

但是我用SQL SERVER MANAGE STUDIO L里在用户数据的系统视图里用明明就看到有这sys.sysobjects个视图
想知道为什么会没有
问题二:我发现自定义的表值函数是对象,想知道哪些系统函数是不是对象

问题三,按我的理解,(服务器.数据库.架构.对象名)就像一个树形目录,哪怕同样是sys.sysobjects,只要前边的数据库不一样,如下
master.sys.sysobjects
test.sys.sysobjects      
那么这也是两个不同的东西,不知道我的理解对不对


------解决方案--------------------
1、我是这样理解的,所谓系统视图实际上一直都在master库中,在单独的用户数据库中,是对应master视图的映射而已。就像系统视图对应系统表的映射。所以,使用 用户数据库.sys.objects 是无法获取到master库中信息的。

2、不是太明白lz说的对象的含义。实际上对象可大可小,如何划分,完全可以视情况而定。lz所说对象是指?

3、可以这样理解的。 
------解决方案--------------------
sys.sysobjects是兼容性视图,实际上是存储在Resource DB里面。
  相关解决方案