SharePoint 2010 使用Install-SPSolution部署wsp包狀態一直是”正在部署”
1.伺服器場資訊如下:
2.使用下面命令部署,狀態一直是"正在部署"
Install-SPSolution –Identity xxxx.wsp –WebApplication http://<url> -GACDeployment
3.開啟"事件檢視器",錯誤資訊如下:
SharePoint 執行狀況分析器檢測到錯誤。一個或多個服務意外地啟動或停止。
以下資料庫由 SharePoint 管理,但它們的執行狀態不符合 SharePoint 期望的狀態 SPAdminV4。如果服務崩潰或者管理員使用非 SharePoint 介面來啟動或停止服務,則可能會出現這種情況。
如果 SharePoint 管理的服務不符合預期的執行狀態,SharePoint 將無法正確為服務分配工作。
SharePoint 無法自動修復此錯誤。
要停止或啟動 SharePoint 管理的服務,請使用 SharePoint 管理中心網站中的 SharePoint 服務管理介面。如果服務崩潰,請在受影響的伺服器上通過命令提示符執行"net start [service name]",以此手動重新啟動服務。
有關此規則的詳細資訊,請訪問"http://go.microsoft.com/fwlink/?LinkID=142683"。
SharePoint管理中心------監控------複查問題和解決方案中,檢視到錯誤:
4.解決辦法:
檢視所有SharePoint 伺服器,確保SPAdminV4服務啟動。啟動方法:net start spadminv4
5.總結:
1.整個排查過程較為繁瑣,因為部署過程被"卡"住,一度懷疑是計時器(SPTimerV4)有問題。
2.對於多伺服器場,如果使用命令列部署wsp包,包內相關檔案,比如web部件的ascx檔案,會自動分發到場內所有sharepoint伺服器。
但是如果某臺SharePoint伺服器中SPAdminV4服務未啟動,那麼wsp包內檔案不會被分發過來。所以,如果發現某些伺服器未分發wsp包檔案,也可以檢查該服務。
3.如上所述,部署wsp包時,包內檔案會自動分發至場內所有SharePoint伺服器,那麼如果你不希望某些SP伺服器部署wsp包,就可以在該伺服器停用SPAdminV4服務。
比如:搜尋伺服器,索引伺服器等。
4.如果只想在當前伺服器部署,那麼請在部署命令後面加引數Local,如下:
Install-SPSolution –Identity xxxx.wsp –WebApplication http://<url> -GACDeployment –Local
5.如果要執行部署命令的SharePoint伺服器未啟動SPAdminV4,那麼會收到如下錯誤: