Tìm kiếm trang web

Sửa lỗi MissingSetupFile của Test-SPContentDatabase trong quá trình di chuyển SharePoint


Sự cố:
Gặp lỗi “MissingSetupFile” khi bạn chạy lệnh ghép ngắn “Test-SPContentDataBase” trên cơ sở dữ liệu nội dung SharePoint trong quá trình di chuyển.
[MissingSetupFile] Tệp [Features\Feature-folder\feature-artifact] được tham chiếu [1] lần trong cơ sở dữ liệu [SharePoint_Content_database] nhưng chưa được cài đặt trên nhóm hiện tại. Vui lòng cài đặt bất kỳ tính năng/giải pháp nào có chứa tệp này. Một hoặc nhiều tệp thiết lập được tham chiếu trong cơ sở dữ liệu [SharePoint_Content_database] nhưng chưa được cài đặt trên nhóm hiện tại. Vui lòng cài đặt bất kỳ tính năng hoặc giải pháp nào có chứa các tệp này.

Giải pháp:

Vâng, giải pháp là: Cài đặt & Triển khai tất cả các giải pháp từ trang nguồn đến trang đích. Tổ chức của bạn có thể đã xây dựng và triển khai một số tùy chỉnh như sản phẩm của bên thứ 3 (chẳng hạn như giải pháp tre), giải pháp WSP tùy chỉnh, định nghĩa trang, Tính năng, bộ nhận sự kiện, Phần Web, điều khiển người dùng, v.v., trong môi trường SharePoint 2010. Bạn phải cài đặt và triển khai tất cả các tệp nhị phân & giải pháp này cho môi trường SharePoint 2013 đích của mình trước khi thử nghiệm cơ sở dữ liệu nội dung để nâng cấp.

Triển khai các giải pháp từ Trang trại Nguồn đến Trang trại Đích:

  • Đi tới Quản trị trung tâm SharePoint >> Điều hướng đến “Quản lý giải pháp” >> Quản lý giải pháp trang trại từ Cài đặt hệ thống của trang trại SharePoint 2010 của bạn (hoặc bất kỳ trang trại nguồn SharePoint nào).
  • Lập danh sách kiểm kê tất cả các Giải pháp WSP của bạn được triển khai cho trang trại. Xác định các Ứng dụng Web mà các giải pháp này được triển khai.
  • Tải xuống tất cả các tệp WSP và chuyển nó đến trang trại mục tiêu. Triển khai tất cả chúng trong mục tiêu theo trang trại nguồn.

Thay vì thực hiện thủ công các bước trên, bạn có thể sử dụng PowerShell để tự động hóa:

  1. Cách trích xuất và tải xuống tất cả các tệp giải pháp WSP trong SharePoint
  2. Cách cài đặt và triển khai nhiều giải pháp WSP bằng PowerShell trong SharePoint

Điều gì sẽ xảy ra nếu bạn không cần những thành phần tính năng bị thiếu đó, chẳng hạn như các phần web trong nhóm Target của bạn và dọn dẹp các tệp thiết lập bị thiếu khỏi cơ sở dữ liệu nội dung?

Tập lệnh PowerShell để tìm và xóa các tệp thiết lập bị thiếu:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

Function Run-SQLScript($SQLServer, $SQLDatabase, $SQLQuery)
{
    $ConnectionString = "Server =" + $SQLServer + "; Database =" + $SQLDatabase + "; Integrated Security = True"
    $Connection = new-object system.data.SqlClient.SQLConnection($ConnectionString)
    $Command = new-object system.data.sqlclient.sqlcommand($SQLQuery,$Connection)
    $Connection.Open()
    $Adapter = New-Object System.Data.sqlclient.sqlDataAdapter $Command
    $Dataset = New-Object System.Data.DataSet
    $Adapter.Fill($Dataset) 
    $Connection.Close()
    $Dataset.Tables[0]
}

#Define configuration parameters
$Server="Ab-SQL-001"
$Database="SP10_Content_KM"
$SetupFile="Features\Crescent.Intranet.WebParts\WEFnews\WEFnews.dwp"

#Query SQL Server content Database to get information about the MissingFiles
$Query = "SELECT * from AllDocs where SetupPath like '"+$SetupFile+"'"
$QueryResults = @(Run-SQLScript -SQLServer $Server -SQLDatabase $Database -SQLQuery $Query | select Id, SiteId, WebId)

#Iterate through results
foreach ($Result in $QueryResults)
{
    if($Result.id -ne $Null)
    {
        $Site = Get-SPSite -Limit all | where { $_.Id -eq $Result.SiteId }
        $Web = $Site | Get-SPWeb -Limit all | where { $_.Id -eq $Result.WebId }

        #Get the URL of the file which is referring the feature
        $File = $web.GetFile([Guid]$Result.Id)
        write-host "$($Web.URL)/$($File.Url)" -foregroundcolor green
        
        #$File.delete()
    }
}

Tập lệnh này cung cấp cho bạn tất cả các vị trí nơi tệp thiết lập bị thiếu được tham chiếu (và có thể tùy ý xóa chúng!). Đừng quên đặt các biến $Server, $Database và $SetupFile một cách thích hợp!

Bài viết liên quan