Triệu chứng
Giả định rằng bạn sử dụng lệnh ghép ngắn gọi-AsCmd trong POWERSHELL và XML để phân tích (xmla) trong SQL Server Management Studio (SSMS) đối với Microsoft SQL Server 2012 Analysis Services (ssas 2012) hoặc SQL Server 2014 Analysis Services (ssas 2014). Trong trường hợp này, bạn gặp sự khác biệt về hành vi sau đây cho đầu ra trả về:
-
Khi bạn dùng lệnh PowerShell sau đây để chụp các tin nhắn cảnh báo:Invoke-Ascmd -InputFile:"<input.xmla>" -Server:"<servername>" -OutVariable out -WarningVariable w Nếu lệnh nhận được bất kỳ thông báo cảnh báo nào, thông báo cảnh báo không bị bắt trong mã trả về. Tuy nhiên, thông báo cảnh báo bị bắt nếu bạn chạy lệnh XMLA cùng từ SSMS.
-
Khi bạn dùng lệnh PowerShell sau đây để chụp các thông báo lỗi:Invoke-Ascmd -InputFile: :"<input.xmla>" -Server:"<servername>" -ErrorVariable e -OutVariable out -WarningVariable w Nếu lệnh nhận được bất kỳ thông báo lỗi nào, thông báo lỗi sẽ được đưa vào thẻ cảnh báo nhưng không bị bắt trong mã trả về. Tuy nhiên, thông báo lỗi được bao gồm trong thẻ lỗi và bị bắt trong mã trả về nếu bạn chạy lệnh xmla từ SSMS.
Nguyên nhân
Sự cố này xảy ra vì lệnh ghép ngắn gọi-AsCmd bỏ qua các tin nhắn cảnh báo nhưng bắt gặp thông báo lỗi, và nó dùng sai các mẫu để tạo ra kết quả trả về.
Giải pháp
Vấn đề lần đầu tiên được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây.
Bản Cập Nhật tích lũy 5 cho SQL Server 2014 /en-us/help/3011055
Bản Cập Nhật tích lũy 2 cho SQL Server 2012 SP2 /en-us/help/2983175
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".