2009-11-06 21 views

回答

5

此代碼應幫助你,你需要運行SharePoint服務器或WFE服務器的代碼。

 public String GetSharePointSQLServerName() 
    { 
     String sServerName = "notFound"; 
     foreach (var item in SPFarm.Local.Servers) 
     { 
      foreach (var svc in item.ServiceInstances) 
      { 
       if (svc is SPDatabaseServiceInstance) 
       { 
        SPDatabaseServiceInstance s = svc as SPDatabaseServiceInstance;       
        sServerName = item.DisplayName+"\\"+s.Instance; 
       } 
      }    
     } 
     return sServerName; 
    } 
+0

這裏我將服務器名稱命名爲「Demo-64-Test」。但是我已經將sqlserver安裝爲Named實例。 「Demo-64-Test \ SQLNamed」。我必須得到這個。 – Cute 2009-11-09 04:23:14

+0

@cute:我已更新代碼以獲取實例。 – Kusek 2009-11-09 05:54:08

+0

@Kusek:thnks它幫助我。但我有一個懷疑。如果我安裝sqlserver作爲默認的一個,那麼它只給出默認實例??是可能的上述代碼? – Cute 2009-11-09 06:38:01

0

那麼,如果你沒有一個命名的數據庫實例呢?

更好地使用此:

var serverNames = from server in SPFarm.Local.Servers 
        from service in server.ServiceInstances 
        where service is SPDatabaseServiceInstance 
        let dbInstance = (SPDatabaseServiceInstance) service 
        select dbInstance.NormalizedDataSource; 

如果您有您的SQL Server多個名字(例如別名)返回的集合將有多個條目。只要拿出第一個收藏。

相關問題