在使用SQL server High Availability 的SharePoint 2013 Farm環境中使用Import-SPMetadataWebServicePartitionData

本文講述筆者在在使用SQL server High Availability 的SharePoint 2013 Farm環境中使用Import-SPMetadataWebServicePartitionData遇到的問題,希望對大家有幫助。

筆者最近使用Export-SPMetadataWebServicePartitionData 從開發環境導出Metadata ,然後使用Import-SPMetadataWebServicePartitionData將Metadata 備份文件導入到使用SQL server High Availability 的SharePoint 2013 Farm環境的測試環境中,具體導出,導入的命令請參考 SharePoint 2013/2010 Farm間遷移 managed metadata service.


但是使用Import-SPMetadataWebServicePartitionData導入時,遇到如下錯誤

Import-SPMetadataWebServicePartitionData : Cannot bulk load because the file
"\\...\Script\ECMGroup.dat" could
not be opened. Operating system error code 5(Access is denied.).

+ Import-SPMetadataWebServicePartitionData $svc.Id -ServiceProxy $proxyName
-Path  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
    + CategoryInfo          : InvalidData: (Microsoft.Share...cePartitionData:
   SPCmdletImportM...cePartitionData) [Import-SPMetadataWebServicePartitionDa
  ta], FaultException`1
    + FullyQualifiedErrorId : Microsoft.SharePoint.Taxonomy.Cmdlet.SPCmdletImp
   ortMetadataWebServicePartitionData


筆者Google一圈,發現網上的解釋無非以下幾個:

1. 要使用網路路徑 \\...\Script\ECMGroup.dat

2. 要將該共享目錄放置在SQL server服務器上(在DB1上)

3. 要給SQL server service 可以讀寫共享目錄的權限


這些筆者都照做了,還是包一樣的錯誤。

Import-SPMetadataWebServicePartitionData的本質是使用SQL 的Bulk來批量導入數據,於是筆者使用下列語句進行測試:

use [Service_DB]
Bulk insert [dbo].[Table_1]
from "\\...\Script\ECMGroup.dat"

發現連接SQL HAG cluster的時候報錯爲:

Msg 4861, Level 16, State 1, Line 2
Cannot bulk load because the file "\\...\Script\ECMGroup.dat" could not be opened. Operating system error code 5(Access is denied.).

於是筆者將共享目錄設置在DB2上,再運行以上命令,成功了


於是筆者也 Import-SPMetadataWebServicePartitionData的參數改道DB2上的共享目錄,果然成功了。


後來進一步發現,這是因爲當時DB2是整個HAG cluster的主節點。


相關參考:

http://blogs.msdn.com/b/taj/archive/2011/03/20/import-spmetadatawebservicepartitiondata-error-in-multi-server-deployment.aspx


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章