代码之家  ›  专栏  ›  技术社区  ›  Jerome WAGNER

SQL请求列出SQL Server实例中的所有数据库?

  •  2
  • Jerome WAGNER  · 技术社区  · 15 年前

    是否可以通过SQL请求列出SQL Server实例中的所有现有数据库?

    更一般地说,我可以使用SQL完全读取数据库(表、列等)的模式吗?

    谢谢你

    杰罗姆瓦格纳

    4 回复  |  直到 13 年前
        1
  •  0
  •   Community CDub    10 年前

    对, Sp_msforeachdb ,还有一个 sp_msforeachtable . 您可以使用这两种方法来迭代地检索所有数据库中的所有表,并得到您想要的。

    https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/datacenter/?p=395 .

        3
  •  1
  •   Tobias Pirzer    15 年前

    您可以通过以下查询获得大量信息:

    SELECT * FROM sys.databases
    
    use Northwind
    
    select * from sys.objects where type_desc = 'USER_TABLE'
    
    SELECT t1.name [table], t2.* 
    FROM sys.objects t1
            inner join sys.columns t2 on t1.object_id = t2.object_id 
    where type_desc = 'USER_TABLE'
    
    sp_help 'Customers' -- Customers = tablename
    
        4
  •  0
  •   Dustin Laine    15 年前

    尝试使用存储过程 sp_databases 获取所有数据库的列表