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

DMF sys.dm_exec_sql_text DBID नहीं दिखा रहा है

1) यह व्यवहार SQL2005 -> SQL2008R2 में उपलब्ध है।

2) क्यों sys.dm_exec_sql_text.dbid है (कभी-कभी) NULLs ?

  • SQL2005 के भीतर -> SQL2008R2 dbid NULL है "तदर्थ और तैयार SQL कथन के लिए" (देखें MSDN एसक्यूएल सर्वर 2008 R2 )
  • एसक्यूएल 2012 के भीतर "तदर्थ और तैयार एसक्यूएल स्टेटमेंट के लिए, डेटाबेस की आईडी जहां स्टेटमेंट संकलित किए गए थे" (देखें MSDN ) तो, SQL2012 से शुरू dbid "तदर्थ और तैयार SQL कथन" सहित एक गैर-शून्य मान लौटाएगा।

3) SQL2008 -> SQL2008R2 में इस समस्या को हल करने के लिए मैंने sys.dm_exec_plan_attributes का उपयोग किया (देखें MSDN )

SELECT ..., ISNULL(s2.dbid,CONVERT(SMALLINT,att.value)) AS my_dbid, ...
FROM sys.dm_exec_query_stats AS s1 
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2 
CROSS APPLY sys.dm_exec_plan_attributes(s1.plan_handle) att
WHERE att.attribute='dbid


  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 सर्वर 2008 में एक लीप सेकेंड को संग्रहीत करना

  2. SQL सर्वर 2008 - कमांड-लाइन के साथ डेटाबेस स्क्रिप्ट (स्कीमा + डेटा) बनाएं

  3. एक बार इस्तेमाल करने के बाद मैं अपने सीटीई तक क्यों नहीं पहुंच पा रहा हूं?

  4. mvc4 - db.SaveChanges () - दशमलव मान सीमा से बाहर है

  5. त्रुटि 26 को कैसे हल करें:उत्पादन वातावरण में निर्दिष्ट सर्वर/इंस्टेंस का पता लगाने में त्रुटि?