首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相当于sysobjects.uid的SQL Server2008 sys.objects

相当于sysobjects.uid的SQL Server2008 sys.objects
EN

Stack Overflow用户
提问于 2011-11-24 00:31:38
回答 2查看 5.8K关注 0票数 1

有人知道如何从sysobjects uid (或其他)视图中获得SQL Server2000 2005+ sys.objects列的等价物吗?

我正在尝试转换这段代码,因为我们正在摆脱所有的sysobjects引用。

代码语言:javascript
复制
DECLARE GETOBJECTS CURSOR FOR 
SELECT NAME, UID FROM SYSOBJECTS
WHERE TYPE IN ('U','P')
    AND UID <> 1
    AND LOWER(RTRIM(NAME)) NOT LIKE 'PB%'

提前谢谢你,

凯文

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-24 00:42:37

UID指的是对象所有者的用户ID ...

在SQL 2005和SQl 2008中,可以在

代码语言:javascript
复制
sys.sysobjects 

字段名称UID

Sys.sysobjects

UID =1是dbo用户。

因此,要使用例程和表视图并过滤出dbo,请尝试以下代码

代码语言:javascript
复制
select Routine_name as Name, specific_schema as user 
from INFORMATION_SCHEMA.ROUTINES
where specific_schema <> 'dbo'
UNION
select Table_name as Name, specific_schema as user 
from INFORMATION_SCHEMA.TABLES
where specific_schema <> 'dbo'
票数 2
EN

Stack Overflow用户

发布于 2011-11-24 00:33:46

要获取不属于dbo主体的所有对象,请执行以下操作:

代码语言:javascript
复制
select name, object_id
from sys.objects
where principal_id not in
(
    select principal_id
    from sys.database_principals
    where name = 'dbo'
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8245735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档