【问题标题】:How would one List the Databases in a SQL Server, not by query, but by c# call?如何在 SQL Server 中列出数据库,而不是通过查询,而是通过 c# 调用?
【发布时间】:2011-04-15 02:30:11
【问题描述】:

从这里: Enumerate all running databases

可以列出网络上的服务器,但是一旦选择了其中一台服务器,如何使用与上述类似的方法列出该服务器中的数据库?

谢谢!

【问题讨论】:

    标签: c# sql sql-server database enumerate


    【解决方案1】:

    您可以使用 SQL 管理对象 (SMO)。首先,您将使用 SmoApplication 类及其 EnumAvailableSqlServers 方法之一来查找服务器。

    找到所需的服务器后,您将创建一个Server 实例,然后使用其Databases 属性。

    【讨论】:

    • 哦,我更喜欢这个 :)
    【解决方案2】:

    与数据库服务器的大多数交互最终都会转换为 SQL。即使它们看起来像更高级别的其他 API。 查找执行此操作的 SQL,然后从 C# 中调用它

    更新: 来自here

    ----SQL SERVER 2005 System Procedures
    EXEC sp_databases
    EXEC sp_helpdb
    ----SQL 2000 Method still works in SQL Server 2005
    SELECT name
    FROM sys.databases
    SELECT name
    FROM sys.sysdatabases
    ----SQL SERVER Un-Documented Procedure
    EXEC sp_msForEachDB 'PRINT ''?'''
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 1970-01-01
      • 2015-05-18
      • 2018-11-12
      相关资源
      最近更新 更多