Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

पैरामीटर एक कंप्यूटर को सूँघने का कारण क्या होगा और दूसरे को नहीं?

मान लें कि आपका मतलब है कि दोनों मशीनें एक ही सर्वर से जुड़ रही थीं, तो शायद एक सेटिंग अंतर था जिसके कारण अनुपयुक्त योजना को दो कनेक्शनों के बीच साझा नहीं किया जा सका।

पहले कैश्ड योजना का पुन:उपयोग करने के लिए कनेक्शन के लिए ANSI_NULLS सहित कुछ सेटिंग्स (प्लान कैश कुंजियां) समान होनी चाहिए , ARITHABORT , Language , DATEFIRST और डिफ़ॉल्ट स्कीमा (यदि क्वेरी किसी निहित नाम समाधान पर निर्भर करती है)।

आप इन्हें sys.dm_exec_plan_attributes . पर देख कर देख सकते हैं (वे जहां is_cache_key=1 कनेक्शन के बीच समान होना चाहिए)।

उन विशेषताओं की पूरी सूची जहां 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_options और cursor_options बिट फ़्लैग होते हैं जिनमें कई तरह के विकल्प होते हैं जैसा कि यहां प्रलेखित है . मेरे प्रयोग में user_id वास्तव में schema_id(default_schema_name) . को संदर्भित करता है के बजाय 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. डायनेमिक sql स्टेटमेंट में टेबल वेरिएबल का उपयोग कैसे करें?

  2. दूरस्थ SQL सर्वर पर BCP का उपयोग करके कैसे लिखें?

  3. उपयोगकर्ता 'NT AUTHORITY\NETWORK SERVICE' के लिए लॉगिन विफल

  4. एसक्यूएल मौजूदा कॉलम में विदेशी कुंजी जोड़ें

  5. SQL सर्वर (T-SQL) में मौजूदा तालिका में एक CHECK बाधा जोड़ें