Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Khắc phục: SQL Server có thể lỗi khi yêu cầu để thực hiện một quy trình được lưu trữ từ xa có danh sách không đầy đủ của

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 3135750
Triệu chứng
máy chủ từ xa đang chạy Microsoft SQL Server 2012 hoặc SQL Server 2014, có một quy trình được lưu trữ có một đối số kết quả tương tự như sau:

create procedure procExample @retVal varchar(10) outputas set @retVal = 'Goodbye';
Thông thường, cú gọi thủ tục từ xa như vậy giống như sau:

-- Declare a variable to hold a result, and have it initialized with a non-NULL valuedeclare @outputResult varchar(10) = 'Hello';execute ('MyDb.dbo.procExample ? OUTPUT', @outputResult OUTPUT) at [MyRemoteServer];print @outputResult;
Nếu bạn bỏ qua các "? Phần đầu"gọi cú pháp, địa phương máy chủ đang chạy SQL Server có thể sập. máy chủ từ xa tiếp tục hoạt động vì thực hiện không đạt nó vì bỏ sót cú pháp này. Ví dụ: cú pháp tương tự như sau:

-- Declare a variable to hold a result, and have it initialized with a non-NULL valuedeclare @outputResult varchar(10) = 'Hello';execute ('MyDb.dbo.procExample', @outputResult OUTPUT) at [MyRemoteServer];
Biến không được khởi tạo không gây ra máy cục bộ bị sập. Tuy nhiên, nó tạo ra một thông báo lỗi cho biết không phải tất cả các đối số được chỉ định cho các cuộc gọi (như họ nên). Ví dụ: bạn có cú pháp sau:

-- Declare a variable to hold a result, and initialize it with NULL, or leave uninitializeddeclare @outputResult varchar(10) = NULL;execute ('MyDb.dbo.procExample', @outputResult OUTPUT) at [MyRemoteServer];
Trong trường hợp này, bạn nhận được thông báo lỗi tương tự như sau:

Thông báo lỗi 201, mức 16, trạm đậu 4, quy trình procExample, dòng 10

Quy trình hoặc chức năng 'procExample' sẽ tham số '@retVal', không được cung cấp.
Giải pháp

Thông tin cập nhật

Vấn đề này lần đầu tiên được khắc phục trong bản Cập Nhật tích luỹ sau cho SQL Server:
Giới thiệu: cài đặt chuyên biệt bản Cập Nhật tích luỹ mới nhất cho SQL Server

Mỗi bản Cập Nhật tích luỹ mới cho SQL Server có chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật mà được bao gồm trong bản Cập Nhật tích luỹ trước đó. Kiểm tra các bản Cập Nhật tích luỹ mới nhất cho SQL Server:

Lưu ý Bạn có thể tìm thấy thông tin về SQL Server mới nhất xây dựng từ Nơi để tìm thông tin về SQL Server mới nhất xây dựng.
Tình trạng
Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Tham khảo
Tìm hiểu về các thuật ngữ mà Microsoft sử dụng để mô tả bản cập nhật phần mềm.

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 3135750 - Xem lại Lần cuối: 05/31/2016 12:24:00 - Bản sửa đổi: 4.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3135750 KbMtvi
Phản hồi
>