Khắc phục: Kết quả không chính xác khi các phương pháp SqlConnection.GetSchema lấy thông tin lược đồ của một bàn trong SQL Server 2008

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để 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 ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại 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, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. 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. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:2658474
Microsoft phân phối bản sửa lỗi Microsoft SQL Server 2008 Service Pack 3 (SP3) như một file tải về. Bởi vì các bản sửa lỗi tích lũy, mỗi bản phát hành mới có chứa tất cả các hotfix và tất cả các sửa lỗi bảo mật được bao gồm trong các trang trước SQL Server 2008 Service Pack 3 (SP3) sửa chữa phát hành.
TRIỆU CHỨNG
Cho rằng bạn có một ứng dụng khách hàng sử dụng các SqlConnection.GetSchema phương pháp để lấy thông tin lược đồ của một bảng. Bảng này có một tên cột có chứa một khoảng thời gian (.). Ví dụ, cột tên là "Column1.A." Trong tình huống này, các cột có chứa một khoảng thời gian là mất tích từ các kết quả mà các SqlConnection.GetSchema phương pháp trả về.

Lưu ý Vấn đề này không xảy ra khi bạn sử dụng các OleDbConnection.GetSchema phương pháp.
NGUYÊN NHÂN
SQL Server 2008 Service Pack 1 sử dụng các HAS_PERMS_BY_NAME chức năng thay vì các CẤP PHÉP chức năng trong các sys.spt_columns_view_managed hệ thống xem để đánh giá các cấp phép cho cột. Tuy nhiên, nếu tên cột có chứa một khoảng thời gian và không bao gồm trong các QUOTENAME chức năng, các HAS_PERMS_BY_NAME chức năng quan tâm đến người dùng phải có quyền không đủ cho cột. Vì vậy, vấn đề được đề cập trong phần "Triệu chứng" xảy ra.
GIẢI PHÁP

Cumulative update Cập nhật thông tin

Tích lũy gói 4 cho SQL Server 2008 SP3

Sửa chữa cho vấn đề này lần đầu tiên được phát hành trong Cumulative Update 4. Để biết thêm chi tiết về làm thế nào để có được này gói tích lũy cho SQL Server 2008 Service Pack 4, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2673383 Tích lũy gói 4 cho SQL Server 2008 Service Pack 3
Lưu ý Bởi vì các bản xây dựng tích lũy, mỗi sửa chữa mới phát hành chứa tất cả các hotfix và tất cả các sửa lỗi bảo mật được bao gồm trong các trang trước SQL Server 2008 Service Pack 4 sửa chữa phát hành. Chúng tôi đề nghị bạn hãy xem xét việc áp dụng sửa chữa phát hành gần đây nhất có chứa hotfix này. Để biết thêm chi tiết, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2629969 SQL Server 2008 xây dựng được phát hành sau khi SQL Server 2008 Service Pack 3 được phát hành
THÔNG TIN THÊM
Để biết thêm thông tin về các SqlConnection.GetSchema phương pháp, truy cập vào trang web MSDN sau đây:
TÌNH TRẠNG
Microsoft đã xác nhận rằng đây là một vấn đề trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Thuộc tính

ID Bài viết: 2658474 - Xem lại Lần cuối: 03/20/2012 03:21:00 - Bản sửa đổi: 1.0

Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 R2 Analysis Services

  • kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2658474 KbMtvi
Phản hồi