2009-10-05 17 views
0

我正在使用SMO来填充数据库文件日志文件的列表。我正在使用文件组,但它只显示mdf和ldf文件。我有ndf文件也不显示ndf文件?我有什么建议吗?如何使用SMO显示ndf文件?

  string dbname = string.Empty, DatabaseInfo = string.Empty; 
      Server srv = new Server(instanceName); 
      foreach (Database db in srv.Databases) 
      { 
       if (DB.Equals(db.Name)) 
       { 
        DatabaseInfo += db.FileGroups[0].Files[0].FileName; 
        string logfile=db.LogFiles[0].FileName ;   

       } 
      } 

回答

2

很抱歉,如果这说明东西有点明显,但你特别访问第一文件组,该组的第一个文件。如果您不枚举文件组和文件集合,为什么您希望看到辅助文件?

编辑:添加了代码提取。

foreach (Database db in srv.Databases) 
{ 
    if (DB.Equals(db.Name))     
    { 
      foreach (FileGroup fg in db.FileGroups) 
      { 
       foreach(DataFile df in fg.Files) 
       { 
        // do whatever you planned to do with df.FileName. 
       } 
      } 
      foreach (LogFile log in db.LogFiles) 
      { 
       // do whatever you planned to do with the log.FileName 
      } 
    } 
} 
+0

文件组,文件和日志文件都是集合,枚举那些而不是采取第一项[0] – Andrew 2009-10-05 14:15:22