Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Điều gì sẽ gây ra tham số đánh hơi một máy tính này chứ không phải máy tính khác?

Giả sử ý của bạn là cả hai máy đang kết nối với cùng một máy chủ thì có thể có sự khác biệt về cài đặt khiến gói không phù hợp không được chia sẻ giữa hai kết nối.

Để kết nối sử dụng lại gói đã lưu trong bộ đệm trước đó, một số cài đặt (khóa bộ đệm của gói) phải giống nhau bao gồm ANSI_NULLS , ARITHABORT , Language , DATEFIRST và lược đồ mặc định (nếu truy vấn dựa vào bất kỳ giải pháp tên ngầm nào).

Bạn có thể xem những điều này bằng cách xem tại sys.dm_exec_plan_attributes (những cái mà is_cache_key=1 cần phải giống nhau giữa các kết nối).

Danh sách đầy đủ các thuộc tính trong đó is_cache_key=1

dbid_execute
required_cursor_options
compat_level
parent_plan_handle
date_format
language_id
status
merge_action_type
is_replication_specific
objectid
acceptable_cursor_options
date_first
set_options
user_id
dbid
optional_spid
optional_clr_trigger_objid
optional_clr_trigger_dbid

set_optionscursor_options là cờ bit bao gồm nhiều tùy chọn khác nhau như được nêu ở đây . Trong thử nghiệm của tôi user_id thực sự đề cập đến schema_id(default_schema_name) chứ không phải là principal_id .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa chỉ mục được phân nhóm và không được phân nhóm là gì?

  2. Cách triển khai ứng dụng với cơ sở dữ liệu máy chủ sql trên máy khách

  3. Sự khác biệt giữa hai ngày về số giờ chính xác trong SQL

  4. Thay thế một số ký tự nhất định trong địa chỉ email bằng '*' trong một truy vấn SQL

  5. Sự cố với câu lệnh SQL Server MERGE