use*_*877 15 sql-server schema sql-server-2012
我想在所有数据库中列出所有表名,列名,模式名和所有者,并编写下面的代码.我不知道从何处获取架构所有者详细信息以添加到我的查询中.请帮忙 .
select c.name as colomn_name , t.name as table_name , s.name as schema_name
from sys.columns c
inner join sys.tables t on c.object_id=t.object_id
INNER JOIN sys.schemas AS s ON t.[schema_id] = s.[schema_id]
Run Code Online (Sandbox Code Playgroud)
Gar*_*thD 31
列principal_id中sys.schemas包含架构所有者的ID,因此要获取名称,您只需使用:
USER_NAME(s.principal_id) AS Schema_Owner
Run Code Online (Sandbox Code Playgroud)
或者,如果您需要更多信息,可以加入sys.sysusers:
SELECT s.Name, u.*
FROM sys.schemas s
INNER JOIN sys.sysusers u
ON u.uid = s.principal_id
Run Code Online (Sandbox Code Playgroud)
Gil*_*ili 11
这是一个在SQL Server下运行的更便携的解决方案:
SELECT schema_name, schema_owner
FROM information_schema.schemata
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58513 次 |
| 最近记录: |