Dengan asumsi Anda bermaksud bahwa kedua mesin terhubung ke server yang sama, maka mungkin ada perbedaan pengaturan yang menyebabkan rencana yang tidak sesuai tidak dibagikan di antara kedua koneksi.
Agar koneksi dapat menggunakan kembali paket yang di-cache sebelumnya, beberapa pengaturan (kunci cache paket) harus sama termasuk ANSI_NULLS
, ARITHABORT
, Language
, DATEFIRST
dan skema default (jika kueri bergantung pada resolusi nama implisit apa pun).
Anda dapat melihatnya dengan melihat sys.dm_exec_plan_attributes
(yang di mana is_cache_key=1
harus sama antar koneksi).
Daftar lengkap atribut di mana is_cache_key=1
adalah
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_options
dan cursor_options
adalah bendera bit yang terdiri dari berbagai opsi sebagaimana didokumentasikan di sini
. Dalam eksperimen saya user_id
sebenarnya mengacu pada schema_id(default_schema_name)
daripada principal_id
.