ការប្រើប្រាស់ទម្រង់ Sql ។ SQL Profiler ដោះស្រាយបញ្ហា។ SQL Profiler - គោលបំណង

ផលិតផលកម្មវិធី SQL Server Profiler គឺជាសែលក្រាហ្វិចដែលត្រូវបានរចនាឡើងសម្រាប់បង្កើតដាន និងវិភាគលទ្ធផលដាន។ ព្រឹត្តិការណ៍ត្រូវបានរក្សាទុកក្នុងឯកសារតាមដាន ដែលបន្ទាប់មកអាចត្រូវបានវិភាគ ឬប្រើដើម្បីចាក់ឡើងវិញនូវលំដាប់ជាក់លាក់នៃជំហានដើម្បីកំណត់បញ្ហាដែលបានកើតឡើង។

ដើម្បីតាមដានសកម្មភាពដែលកំពុងត្រូវបានអនុវត្ត អ្នកត្រូវបើកដំណើរការ MS SQL Profiler បង្កើតដានថ្មី និងកំណត់រចនាសម្ព័ន្ធការវិភាគសូចនាករ៖

នៅលើផ្ទាំងទូទៅ អ្នកត្រូវតែបញ្ជាក់ឈ្មោះរបស់ដាន។ បញ្ជាក់កន្លែងដែលទិន្នន័យដានដែលបានចាប់យកនឹងត្រូវបានរក្សាទុក - ទៅកាន់ឯកសារ និង/ឬទៅតារាងមូលដ្ឋានទិន្នន័យ។

ចំណាប់អារម្មណ៍ដ៏អស្ចារ្យគឺផ្ទាំង "ការជ្រើសរើសព្រឹត្តិការណ៍"៖

ទំព័រនេះបញ្ជាក់ពីព្រឹត្តិការណ៍ដែលត្រូវត្រួតពិនិត្យ។ ក្នុងឧទាហរណ៍នេះ យើងនឹងបង្ហាញទិន្នន័យចាំបាច់ដើម្បីតាមដានផែនការសំណួរ។

ទទួលបានមេរៀនវីដេអូចំនួន 267 នៅលើ 1C ដោយឥតគិតថ្លៃ៖

តាមលំនាំដើម ការតាមដានដំណើរការលើព្រឹត្តិការណ៍ដែលបានបញ្ជាក់ទាំងអស់នៅក្នុងមូលដ្ឋានទិន្នន័យទាំងអស់។ ដើម្បីអនុវត្តការជ្រើសរើសចំពោះទិន្នន័យដែលទទួលបាន អ្នកត្រូវតែចុចប៊ូតុង "តម្រងជួរឈរ ..."៖

ឧទាហរណ៍ ចូរកំណត់ការជ្រើសរើសដោយ infobase identifier (អ្នកអាចស្វែងរកលេខសម្គាល់មូលដ្ឋានទិន្នន័យដោយប្រើសំណួរ SELECT DB_ID(N'BaseName'))។

កំពុងដំណើរការដាននៅក្នុង Profiler សម្រាប់ 1C

បន្ទាប់​ពី​ការ​កំណត់​ទាំង​អស់​ត្រូវ​បាន​ធ្វើ​ឡើង​, អ្វី​ដែល​នៅ​សល់​គឺ​ដើម្បី​ចាប់​ផ្តើ​ម​ការ​តាមដាន​ដើម្បី​ធ្វើ​ការ​នេះ​ចុច "រត់​" ។ ចាប់ពីពេលនេះតទៅ សកម្មភាពទាំងអស់ដែលបានបញ្ជាក់នៅក្នុងតម្រងនឹងត្រូវបានបញ្ចូលក្នុងដាន៖

ជាឧទាហរណ៍ ខ្ញុំដំណើរការដានសម្រាប់រយៈពេលនៃឯកសារ "បង្កាន់ដៃទំនិញ និងសេវាកម្ម" ដើម្បីតាមដានប្រតិបត្តិការដែលពឹងផ្អែកលើកម្លាំងពលកម្មបំផុត។

នៅពេលដែលដានត្រូវបានទទួលវាចាំបាច់ត្រូវវិភាគ។

ការវិភាគទិន្នន័យពី Profiler

សម្រាប់ការវិភាគ ដានលទ្ធផលអាចត្រូវបានរក្សាទុកទាំងក្នុងឯកសារ ឬក្នុងតារាង។ យើងនឹងរក្សាទុកក្នុងតារាងទិន្នន័យ៖

ថ្ងៃទី 05/16/2000 Itzik Ben-Gan

ដូចគ្នានឹងការបង្កើតឧក្រិដ្ឋកម្មឡើងវិញជួយស្វែងរកឧក្រិដ្ឋជននោះ ការតាមដានមូលដ្ឋានទិន្នន័យជួយកំណត់អត្តសញ្ញាណឧបសគ្គ និងលុបបំបាត់ពួកគេ។

អត្ថបទ "Catch an Event" ដែលបោះពុម្ភផ្សាយក្នុងទស្សនាវដ្តីមុននេះ បានពិពណ៌នាអំពីស្ថាបត្យកម្មនៃប្រព័ន្ធតាមដាន SQL Server 7.0 និងបង្ហាញពីរបៀបកំណត់ក្រាហ្វិកនៅក្នុង SQL Profiler ។ លើកនេះយើងនឹងនិយាយអំពីរបៀបបង្កើតដានឡើងវិញដោយប្រើ SQL Profiler និងរបៀបកំណត់ការចាប់ផ្តើមដោយស្វ័យប្រវត្តិដោយប្រើនីតិវិធីរក្សាទុកដានដែលបានពង្រីក។ ការកសាងមូលដ្ឋានគ្រឹះដ៏មានអានុភាពនេះ អ្នកអាចប្រើ SQL Profiler យ៉ាងជំនាញ និងនីតិវិធីដែលបានរក្សាទុកដើម្បីស៊ើបអង្កេតអ្វីគ្រប់យ៉ាងពីសំណួរដែលដំណើរការយូររហូតដល់ការជាប់គាំងដ៏ស្មុគស្មាញ។

ការរៀបចំបឋមសម្រាប់បង្កើតផ្លូវឡើងវិញ

ដោយប្រើ SQL Profiler អ្នកអាចធ្វើឡើងវិញនូវដានដែលបានរក្សាទុកដើម្បីបំបាត់បញ្ហាកម្មវិធី បង្កើតសេណារីយ៉ូសាកល្បងជាមួយនឹងស្ថានភាពជីវិតពិតផ្សេងៗ កំណត់រចនាសម្ព័ន្ធមូលដ្ឋានទិន្នន័យ និងច្រើនទៀត។ ប្រសិនបើអ្នកត្រូវការតាមដានផ្លូវឡើងវិញ អ្នកនឹងត្រូវធ្វើការងាររៀបចំខ្លះ។ ដំបូង អ្នក​ត្រូវ​កំណត់​ដាន​ដើម្បី​តាមដាន​ព្រឹត្តិការណ៍​ជាក់លាក់ និង​ជួរ​ឈរ​នៃ​ទិន្នន័យ​ផ្សេង​ទៀត​ដែល​អ្នក​ចាប់អារម្មណ៍។ ការចាប់យកព្រឹត្តិការណ៍ និងជួរឈរបន្ថែមទាំងនេះធានាថាសកម្មភាពទាំងអស់ត្រូវបានធ្វើម្តងទៀតយ៉ាងពិតប្រាកដដូចដែលបានកើតឡើងពីមុន។ ទីពីរ អ្នកគួររក្សាទុកលទ្ធផលដានទៅក្នុងឯកសារ តារាង ឬស្គ្រីប SQL ។

ការដំណើរការឡើងវិញណាមួយតម្រូវឱ្យចាប់យកព្រឹត្តិការណ៍ Connect, Disconnect, ExistingConnection ក៏ដូចជា RPC: Starting និង SQL: BatchStarting ។ លើសពីនេះ ពេលលេងទស្សន៍ទ្រនិច API backend (នោះគឺ ទស្សន៍ទ្រនិចម៉ាស៊ីនមេ ដែលត្រូវបានគ្រប់គ្រងដោយមុខងារទស្សន៍ទ្រនិច API) អ្នកត្រូវតែចាប់យកព្រឹត្តិការណ៍ CursorExecute, CursorOpen និង CursorPrepare។ ដើម្បីផលិតឡើងវិញនូវសេចក្តីថ្លែងការ SQL ខាងម៉ាស៊ីនមេដែលបានរៀបចំ អ្នកក៏ត្រូវបន្ថែមព្រឹត្តិការណ៍ Exec Prepared SQL និង Prepare SQL ផងដែរ។ ការផលិតឡើងវិញនឹងតម្រូវឱ្យមានជួរឈរដែលនឹងមានទិន្នន័យដូចខាងក្រោម៖ ឈ្មោះកម្មវិធី ព័ត៌មានប្រព័ន្ធគោលពីរ លេខសម្គាល់ការតភ្ជាប់ ឬលេខសម្គាល់ដំណើរការម៉ាស៊ីនមេ (SPID) លេខសម្គាល់មូលដ្ឋានទិន្នន័យ ថ្នាក់ព្រឹត្តិការណ៍ ថ្នាក់រងព្រឹត្តិការណ៍ ឈ្មោះម៉ាស៊ីន ព័ត៌មានឌីជីថល ឈ្មោះម៉ាស៊ីនមេ ឈ្មោះអ្នកប្រើប្រាស់ SQL ដំណើរការ ពេលវេលាចាប់ផ្តើម និងព័ត៌មានអត្ថបទ។

វាជាការសំខាន់ក្នុងការកត់សម្គាល់ថានៅពេលដំណើរការម្តងទៀតព្រឹត្តិការណ៍ដែលបានកត់ត្រាមិនត្រូវបានក្លែងធ្វើទេវាកើតឡើងម្តងទៀត។ ដូច្នេះ សូម​ដឹង​ថា​ក្នុង​អំឡុង​ពេល​ដំណើរ​ការ​តាមដាន​ដំបូង​អ្នក​ទំនង​ជា​បាន​ផ្លាស់​ប្តូរ​មូលដ្ឋាន​ទិន្នន័យ​របស់​អ្នក។ ឧទាហរណ៍ នៅពេលចាក់ឡើងវិញនូវដានដែលរួមបញ្ចូលសេចក្តីថ្លែងការណ៍ INSERT គ្រាប់ចុចស្ទួនអាចលេចឡើងក្នុងតារាង។ ដើម្បីជៀសវាងបញ្ហាបែបនេះ អ្នកគួរតែត្រឡប់មូលដ្ឋានទិន្នន័យទៅសភាពដើមវិញ ប្រសិនបើដានត្រូវបានចាក់ឡើងវិញនៅលើម៉ាស៊ីនមេដើម (នោះគឺម៉ាស៊ីនមេដែលដានដើមត្រូវបានដំណើរការ)។

ប្រសិនបើអ្នកកំពុងដំណើរការការដំណើរការឡើងវិញនៅលើម៉ាស៊ីនមេផ្សេង វាជាការសំខាន់ដើម្បីធានាថាមូលដ្ឋានទិន្នន័យនៅលើម៉ាស៊ីនមេនោះស្ថិតក្នុងស្ថានភាពដូចគ្នាជាមួយនឹងមូលដ្ឋានទិន្នន័យនៅលើម៉ាស៊ីនមេដើម។ ក្នុងករណីនេះ អ្នកត្រូវតែប្រើឈ្មោះអ្នកប្រើប្រាស់ដូចគ្នា អំណាចរបស់ពួកគេ និងការកំណត់អត្តសញ្ញាណមូលដ្ឋានទិន្នន័យដែលត្រូវបានប្រើនៅលើម៉ាស៊ីនមេប្រភព។

ការប្រើប្រាស់ឧបករណ៍កំណត់អត្តសញ្ញាណដូចគ្នាទាមទារជំនាញ និងបទពិសោធន៍ពិសេស ជាពិសេសចាប់តាំងពី Microsoft មិនលើកទឹកចិត្តឱ្យចូលប្រើតារាងប្រព័ន្ធ sysdatabases ដោយផ្ទាល់ដើម្បីផ្លាស់ប្តូរអត្តសញ្ញាណមូលដ្ឋានទិន្នន័យ។ អ្នកអាចផ្គូផ្គងលេខសម្គាល់មូលដ្ឋានទិន្នន័យតាមវិធីផ្សេង។ ដើម្បីធ្វើដូចនេះចម្លងឯកសារមូលដ្ឋានទិន្នន័យអ្នកប្រើប្រាស់ពីម៉ាស៊ីនមេប្រភពទៅកន្លែងដែលដាននឹងត្រូវបានចាក់ ហើយបន្ទាប់មកស្ដារការបម្រុងទុកមូលដ្ឋានទិន្នន័យមេពីម៉ាស៊ីនមេប្រភពទៅវា។ វិធីសាស្ត្រជំនួសគឺដើម្បីស្ដារការបម្រុងទុកមូលដ្ឋានទិន្នន័យអ្នកប្រើប្រាស់ពីម៉ាស៊ីនមេប្រភពទៅម៉ាស៊ីនមេដែលបានជ្រើសរើសសម្រាប់ការដំណើរការ ហើយបន្ទាប់មកស្ដារការបម្រុងទុកមូលដ្ឋានទិន្នន័យមេនៅទីនោះ។ ក្នុងករណីទាំងពីរនៅលើម៉ាស៊ីនមេដែលការតាមដានកំពុងត្រូវបានចាក់ឡើងវិញ ឯកសារមូលដ្ឋានទិន្នន័យនឹងមានទីតាំងនៅក្នុងថតដូចគ្នានៅលើម៉ាស៊ីនមេ ហើយតារាងប្រព័ន្ធមូលដ្ឋានទិន្នន័យមេនឹងមានលេខសម្គាល់មូលដ្ឋានទិន្នន័យដើម។ ដើម្បីលុបបំបាត់បញ្ហាទាំងនេះទាំងស្រុង គ្រាន់តែដកជួរឈរលេខសម្គាល់មូលដ្ឋានទិន្នន័យចេញពីដាន ហើយកំណត់មូលដ្ឋានទិន្នន័យលំនាំដើមសម្រាប់អ្នកប្រើប្រាស់នីមួយៗដែលត្រូវបានចាប់យកអំឡុងពេលតាមដាន។

អ្នកក៏អាចគ្រប់គ្រងកម្រិតនៃការធ្វើសមកាលកម្មស្គ្រីប និងល្បឿនចាក់សារថ្មីផងដែរ។ ជ្រើសរើសការកំណត់ពីម៉ឺនុយចាក់ឡើងវិញដើម្បីបញ្ចូលប្រអប់ម៉ាស៊ីនមេ SQL ចាក់ឡើងវិញ។ ប៉ារ៉ាម៉ែត្រកម្រិតនៃការធ្វើសមកាលកម្ម ដែលគ្រប់គ្រងការធ្វើសមកាលកម្មក្នុងការតភ្ជាប់ អាចយកតម្លៃដូចខាងក្រោម៖

ការធ្វើសមកាលកម្មពេញលេញ។នេះគឺជាតម្លៃលំនាំដើម។ ក្នុងករណីនេះ ព្រឹត្តិការណ៍ទាំងអស់ដែលកើតឡើងក្នុងការតភ្ជាប់តែមួយត្រូវបានបង្កើតឡើងវិញតាមលំដាប់ដើមរបស់វា។ ការធ្វើសមកាលកម្មដោយផ្នែក។ជាមួយនឹងតម្លៃនេះ ព្រឹត្តិការណ៍នៅលើការតភ្ជាប់មួយអាចចាប់ផ្តើមមុនពេលព្រឹត្តិការណ៍ដែលបានកត់ត្រារួចហើយនៅលើការតភ្ជាប់ផ្សេងទៀត។ គ្មានការធ្វើសមកាលកម្មទេ។ជាមួយនឹងតម្លៃប៉ារ៉ាម៉ែត្រនេះ ព្រឹត្តិការណ៍អាចកើតឡើងភ្លាមៗបន្ទាប់ពីការបញ្ចប់នៃព្រឹត្តិការណ៍មុនក្នុងការតភ្ជាប់ដូចគ្នា នោះគឺដោយគ្មានការធ្វើសមកាលកម្មណាមួយនៅក្នុងការតភ្ជាប់។

ប៉ារ៉ាម៉ែត្រល្បឿនចាក់ឡើងវិញ អត្រាចាក់ឡើងវិញ អាចត្រូវបានកំណត់ទៅជាតម្លៃមួយក្នុងចំណោមតម្លៃខាងក្រោម៖

ឱ្យបានលឿនតាមដែលអាចធ្វើទៅបាន។នេះជាតម្លៃលំនាំដើម ក្នុងករណីនេះ ព្រឹត្តិការណ៍បន្ទាប់ចាប់ផ្តើមភ្លាមៗបន្ទាប់ពីបញ្ចប់មុននេះ។ រក្សាចន្លោះពេលរវាងព្រឹត្តិការណ៍។តម្លៃនេះរក្សាចន្លោះពេលវេលាដើមរវាងការកើតឡើងនៃព្រឹត្តិការណ៍។ រក្សាទំនាក់ទំនងដើម្បីចាប់ផ្តើមពេលវេលា។ជាមួយនឹងតម្លៃនេះ ព្រឹត្តិការណ៍កើតឡើងក្នុងពេលដំណាលគ្នាជាមួយនឹងការចាប់ផ្តើមនៃការចាក់សារឡើងវិញដូចនៅក្នុងដានដើម។

ការរៀបចំការលេងផ្លូវ

ឧបមាថាអ្នកចង់បង្កើតឡើងវិញនូវដានប្រតិបត្តិនៃសេចក្តីថ្លែងការណ៍ SQL ខាងម៉ាស៊ីនមេដែលបានរៀបចំ ដែលជាសេចក្តីថ្លែងការណ៍ Transact-SQL (T-SQL) ដែលផ្ញើដោយអ្នកប្រើប្រាស់ទៅកាន់ម៉ាស៊ីនមេតាមរយៈ ADO, OLE DB ឬ ODBC ។ SQL Server 7.0 ប្រតិបត្តិ​សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​រៀបចំ​ខាង​ម៉ាស៊ីន​បម្រើ​ដោយ​ប្រើ​នីតិវិធី sp_prepare និង sp_execute pseudo-stored ដែល​ត្រូវ​បាន​ហៅ​ដោយ​កម្មវិធី​អតិថិជន។

ការហៅទៅ sp_prepare បណ្តាលឱ្យ SQL Server រៀបចំសេចក្តីថ្លែងការ T_SQL សម្រាប់ប្រតិបត្តិដោយការចងក្រងពួកវា និងឃ្លាំងសម្ងាត់ផែនការប្រតិបត្តិ។ នៅពេល sp_execute ត្រូវបានហៅ SQL Server ប្រតិបត្តិផែនការដែលបានរក្សាទុកពីមុន ហើយអាចធ្វើដូច្នេះម្តងហើយម្តងទៀត។ ការហៅតាមនីតិវិធីដែលបានរក្សាទុកនីមួយៗបង្កើត RPC: BatchStarting, Prepare SQL, និង Exec Prepared SQL events ។ វាគឺសម្រាប់ហេតុផលនេះដែលព្រឹត្តិការណ៍ទាំងនេះត្រូវតែរួមបញ្ចូលនៅក្នុងនិយមន័យនៃផ្លូវ។

SQL Profiler មាននិយមន័យដានឧទាហរណ៍ជាច្រើនដែលអ្នកអាចប្រើជាគំរូ។ រួមទាំងឧទាហរណ៍លេខ 6 "T-SQL សម្រាប់ការចាក់ឡើងវិញ" ដែលទាក់ទងនឹងការដំណើរការឡើងវិញ។ ឧទាហរណ៍​នេះ​មាន​ប្រយោជន៍​សម្រាប់​ការ​បញ្ជាក់​លទ្ធផល​ដាន​ដែល​បាន​បង្កើត​កំឡុង​ពេល​ចាក់​ផ្សាយ​ឡើងវិញ។ ដើម្បីបើកលទ្ធផលដានដែលបានរក្សាទុកសម្រាប់ការចាក់សារថ្មី សូមជ្រើសរើសបើកពីម៉ឺនុយឯកសារ ហើយជ្រើសរើសឯកសារ តារាង ឬស្គ្រីប SQL ដើម្បីរក្សាទុកព័ត៌មានដែលប្រមូលបានអំឡុងពេលតាមដាន។ អ្នកអាចគ្រប់គ្រងការចាក់សារថ្មីដោយប្រើជម្រើសដែលបង្ហាញក្នុងតារាងទី 1។ ពួកវាអាចត្រូវបានតំណាងដោយធាតុម៉ឺនុយឡើងវិញ ឬដោយប៊ូតុងនៅលើរបារឧបករណ៍។

ការប្រើប្រាស់នីតិវិធីរក្សាទុកបន្ថែម

មុខងារតាមដានមួយចំនួនពី SQL Profiler មិនមានទេ។ ទាំងនេះរួមបញ្ចូលការដំណើរការដាននៅលើកាលវិភាគ ដំណើរការនៅពេលដែលព្រឹត្តិការណ៍ជាក់លាក់ណាមួយកើតឡើង ឬនៅពេលដែល SQL Server ចាប់ផ្តើមដំណើរការ។ លើសពីនេះ SQL Profiler មិនអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីផ្ញើលទ្ធផលតាមដានទៅកាន់កំណត់ហេតុកម្មវិធី Windows NT ឬ Windows 2000 ដើម្បីអនុវត្តមុខងារទាំងនេះ និងដើម្បីផ្តល់នូវសេរីភាពកាន់តែច្រើនក្នុងការរៀបចំដានតាមកម្មវិធី អ្នកអាចប្រើសំណុំនៃនីតិវិធីដែលបានរក្សាទុកដែលបានពង្រីកដែលហៅថា xp_trace*។

សូមក្រឡេកមើលគោលការណ៍នៃការប្រើប្រាស់នីតិវិធីដែលបានរក្សាទុកទាំងនេះដោយប្រើឧទាហរណ៍នៃការចាប់ផ្តើមដាន sp_start_mytrace និងនីតិវិធីដែលបានរក្សាទុកនៃការបញ្ឈប់ដាន sp_stop_mytrace ។ នីតិវិធីដែលបានរក្សាទុកដំបូង sp_start_mytrace កំណត់ព្រឹត្តិការណ៍តាមដាន ជួរឈរទិន្នន័យ តម្រង និងបង្កើតជួរដើម្បីរក្សាទុកព្រឹត្តិការណ៍ដែលបានចាប់យក។ បន្ទាប់មកវាទាញយកព្រឹត្តិការណ៍ពីជួរ ហើយដាក់វានៅក្នុងឯកសារប្រព័ន្ធ។ នីតិវិធី sp_start_mytrace ទាក់ទងជាមួយជួរព្រឹត្តិការណ៍ និងតាមដានស្ថានភាពរបស់វាតាមរយៈចំណុចទាញជួរចំនួនគត់ ដែលនីតិវិធីបង្កើតនៅពេលជួរត្រូវបានសាងសង់។ sp_stop_mytrace ប្រើចំណុចទាញនេះ នៅពេលដែលវាត្រូវការបញ្ឈប់ការតម្រង់ជួរ។

ការត្រួតពិនិត្យស្ថានភាពនៃចំណុចទាញជួរមិនមែនជាកិច្ចការងាយស្រួលនោះទេ។ ទោះបីជាមានវិធីសាស្រ្តជាច្រើនសម្រាប់ការទទួលបានតម្លៃរបស់វាក៏ដោយ វិធីសាមញ្ញបំផុត និងមុខងារបំផុតគឺបង្កើតតារាងដែលនឹងកត់ត្រាទិន្នន័យអំពីដានទាំងអស់ និងជួររបស់ពួកគេ ក៏ដូចជាពេលវេលាដែលដានបានចាប់ផ្តើម លេខសម្គាល់អ្នកប្រើប្រាស់របស់អ្នកប្រើប្រាស់ដែលបានបើកដំណើរការ ដាន និង​ឈ្មោះ​កុំព្យូទ័រ​ដែល​វា​ត្រូវ​បាន​គេ​ចាប់​យក​។ ការចុះបញ្ជីលេខ 1 បង្ហាញពីសេចក្តីថ្លែងការណ៍ដែលបង្កើតតារាងបែបនេះ ហៅថា ដានសកម្ម។ ដើម្បី​មើល​ថា​ដាន​អ្វី​ដែល​កំពុង​ត្រូវ​បាន​ចាប់​យក​នៅ​ពេល​នេះ គ្រាន់​តែ​មើល​តារាង​នេះ។ ដើម្បីបញ្ឈប់ការតាមដាន អ្នកគ្រាន់តែសួរតារាងសម្រាប់អ្នកពណ៌នាជួរដែលត្រូវគ្នា។

ដំណើរការរក្សាទុកដើម្បីដំណើរការដាន

ចូរយើងឆ្លងកាត់នីតិវិធីដែលបានរក្សាទុកទាំងពីរនេះ ដើម្បីមើលពីរបៀបដែលការតាមដានត្រូវបានចាប់ផ្តើម និងបញ្ឈប់។ នីតិវិធីដែលបានរក្សាទុកដែលចាប់ផ្តើមការតាមដានមានប៉ារ៉ាម៉ែត្របញ្ចូលស្រេចចិត្តចំនួនបួន។ ពីរដំបូងគឺ @spid_filter និង @dbid_filter អនុញ្ញាតឱ្យអ្នកកំណត់ព័ត៌មានដែលប្រមូលបានក្នុងអំឡុងពេលតាមដានចំពោះតែអ្វីដែលទាក់ទងនឹងដំណើរការម៉ាស៊ីនមេជាក់លាក់មួយ (កំណត់ដោយ SPID របស់វា) និងមូលដ្ឋានទិន្នន័យដែលបានបញ្ជាក់។ ប្រសិនបើប៉ារ៉ាម៉ែត្រទាំងនេះមិនត្រូវបានបញ្ជាក់ ដាននឹងប្រមូលទិន្នន័យពីដំណើរការ និងមូលដ្ឋានទិន្នន័យទាំងអស់។ ប៉ារ៉ាម៉ែត្រ @email_address អនុញ្ញាតឱ្យអ្នកកំណត់អាសយដ្ឋានអ៊ីមែលដែលព័ត៌មានលម្អិតអំពីដំណើរការនៃដាននឹងត្រូវបានផ្ញើ។ ប្រសិនបើប៉ារ៉ាម៉ែត្រនេះមិនត្រូវបានបញ្ជាក់ sp_start_mytrace នឹងបង្ហាញតែព័ត៌មាននៅលើអេក្រង់ប៉ុណ្ណោះ។ ប្រសិនបើវាត្រូវបានបញ្ជាក់ ប៉ុន្តែអាសយដ្ឋានត្រូវបានបញ្ជាក់មិនត្រឹមត្រូវ នោះដំណើរការដែលបានរក្សាទុកនឹងបង្កើតសារកំហុស ហើយចេញ។ ប៉ារ៉ាម៉ែត្រចុងក្រោយ @filename មានបំណងបញ្ជាក់ឈ្មោះឯកសារដែលព័ត៌មានដែលប្រមូលបានក្នុងអំឡុងពេលតាមដាននឹងត្រូវបានផ្ញើ។ ក្នុងករណីដែលប៉ារ៉ាម៉ែត្រនេះមិនត្រូវបានកំណត់ ព័ត៌មានលំនាំដើមនឹងត្រូវបានដាក់ក្នុងឯកសារ c:\mytraceN.trc ដែល N ជាលេខពណ៌នាជួរ។ អនុសញ្ញានេះដែលកំណត់ច្បាប់សម្រាប់ដាក់ឈ្មោះឯកសារទិន្នន័យដាន អនុញ្ញាតឱ្យដានជាច្រើនត្រូវបានថតក្នុងពេលតែមួយដោយមិនអនុញ្ញាតឱ្យមួយក្នុងចំណោមពួកគេចាក់សោឯកសារដើម្បីកត់ត្រាលទ្ធផលសម្រាប់ខ្លួនវាទេ។

ដើម្បីសាកល្បងប្រតិបត្តិការកេះ សូមប្តូរលក្ខណៈសម្បត្តិឯកសារ៖

ALTER DATABASE testdb MODIFY FILE (NAME = `testdb_dat`, MAXSIZE = 30MB)

អ្នកនឹងទទួលបានសារដែលបង្ហាញថាលក្ខណៈសម្បត្តិឯកសារត្រូវបានផ្លាស់ប្តូរ៖

លក្ខណៈសម្បត្តិឯកសារបានផ្លាស់ប្តូរ៖
សេចក្តីថ្លែងការណ៍៖ ALTER DATABASE testdb MODIFY FILE (NAME = `testdb_dat`,
MAXSIZE = 30MB)
ឈ្មោះអ្នកប្រើ NT: Gandalf
ឈ្មោះកម្មវិធី៖ MS SQL Query Analyzer
ឈ្មោះអ្នកប្រើ SQL: NA
ពេលវេលា: 2000-11-22 14:15:28

វាតែងតែមានការលំបាកខ្លាំងណាស់ក្នុងការស្វែងយល់ថាតើព្រឹត្តិការណ៍អ្វីខ្លះដែលនាំទៅដល់ការជាប់គាំងដែលកំពុងត្រូវបានបង្កើតឡើង។ ទោះយ៉ាងណាក៏ដោយ SQL Profiler ផ្តល់នូវព្រឹត្តិការណ៍ពិសេសដែលអាចធ្វើឱ្យ "ការស៊ើបអង្កេត" កាន់តែងាយស្រួល។ ឧទាហរណ៍ អ្នកអាចតាមដានការកើតឡើងនៃព្រឹត្តិការណ៍ Lock:Deadlock។ ការកើតឡើងនៃព្រឹត្តិការណ៍នេះនិយាយ

ថាស្ថានភាពជាប់គាំងបានកើតឡើង។ វាប្រាប់អ្នកប្រើប្រាស់នូវលេខសម្គាល់ដំណើរការម៉ាស៊ីនមេ (SPID) លេខសម្គាល់ប្រតិបត្តិការដែលបានទប់ស្កាត់ ពេលវេលាដែលប្លុកបានកើតឡើង ឈ្មោះកម្មវិធី និងលេខសម្គាល់អ្នកប្រើប្រាស់។ ការចាក់សោ៖ ព្រឹត្តិការណ៍ Deadlock Chain ដែលត្រូវបានបង្កើតរាល់ពេលដែលប្លុកកើតឡើង គឺមានភាពងាយស្រួលបំផុត៖ វាអនុញ្ញាតឱ្យអ្នកស្វែងរកអត្តសញ្ញាណដំណើរការ (SPIDs) និងប្រតិបត្តិការ។

អ្នកអាចកត់ត្រាលេខសម្គាល់នៃប្រតិបត្តិការដែលពាក់ព័ន្ធនឹងការជាប់គាំង បន្ទាប់មកដាក់លទ្ធផលតាមដានដោយលេខសម្គាល់ប្រតិបត្តិការ ហើយវិភាគតែប្រតិបត្តិការទាំងនោះប៉ុណ្ណោះ។ វិធីសាស្រ្តមួយផ្សេងទៀតបញ្ជូនលទ្ធផលដានទៅតារាងមួយ។ បន្ទាប់មកអ្នកអាចប្រើសំណួរដើម្បីត្រងវាដោយលេខ SPID ឬលេខសម្គាល់ប្រតិបត្តិការ។

ដើម្បីបង្កើតស្ថានភាពជាប់គាំង បង្កើតតារាងពីរគឺ t1 និង t2 ដែលនីមួយៗត្រូវតែមានជួរឈរចំនួនគត់មួយ។ បញ្ចូលជួរមួយទៅក្នុងតារាងនីមួយៗដែលមានតម្លៃ 1. កំណត់ដានដែលនឹងកត់ត្រានូវសំណុំនៃព្រឹត្តិការណ៍ខាងក្រោម៖ ចាក់សោ៖ Deadlock, Lock: Deadlock Chain និងព្រឹត្តិការណ៍ចាប់ផ្តើម និងបញ្ចប់ដែលត្រូវគ្នានៃការប្រតិបត្តិប្រតិបត្តិករ (RPC, SP, SQL) ។ ជម្រើសគួរតែត្រូវបានធ្វើឡើងអាស្រ័យលើប្រភពនៃការទប់ស្កាត់។ ក្នុងឧទាហរណ៍របស់យើង យើងនឹងត្រូវការតែព្រឹត្តិការណ៍ SQL ប៉ុណ្ណោះ៖ StmtStarting និង SQL:StmtCompleted។

បន្ថែមពីលើជួរឈរទិន្នន័យលំនាំដើម បន្ថែមជួរឈរមួយដើម្បីចាប់យកលេខសម្គាល់ប្រតិបត្តិការ និងជួរឈរនៃជម្រើសរបស់អ្នក។ កំណត់តម្រងដានដើម្បីផ្គូផ្គងលេខសម្គាល់នៃមូលដ្ឋានទិន្នន័យដែលអ្នកកំពុងធ្វើការជាមួយ។ បន្ទាប់ពីនោះ បើកការតភ្ជាប់ពីរទៅម៉ាស៊ីនមេពី Query Analyzer ។ នៅពេលភ្ជាប់ដំបូង សូមធ្វើ៖

ចាប់ផ្តើមការធ្វើបច្ចុប្បន្នភាពប្រតិបត្តិការ t1 SET col1 = 1

នៅលើការតភ្ជាប់ 2 ចាប់ផ្តើមប្រតិបត្តិការដូចខាងក្រោម:

ចាប់ផ្តើមប្រតិបត្តិការ
ធ្វើបច្ចុប្បន្នភាព t2 SET col1 = 1
ជ្រើសរើស * ពី t1
ធ្វើប្រតិបត្តិការ

ជាចុងក្រោយ នៅក្នុងការតភ្ជាប់ 1, ប្រតិបត្តិសេចក្តីថ្លែងការ:

ជ្រើសរើស * ពី t2
ធ្វើប្រតិបត្តិការ

បញ្ឈប់ការតាមដាន ហើយបើកឯកសារដាន។ រកមើលការចាក់សោ៖ ព្រឹត្តិការណ៍ Deadlock Chain ហើយកត់ចំណាំលេខប្រតិបត្តិការដែលពាក់ព័ន្ធ។ ដាក់ក្រុមលទ្ធផលដោយលេខសម្គាល់ប្រតិបត្តិការ និងពង្រីកប្រតិបត្តិការដែលត្រូវគ្នា។ លទ្ធផលនឹងមើលទៅស្រដៀងនឹងអ្វីដែលបង្ហាញក្នុងអេក្រង់ 1។

SQL Server Enterprise Manager រួមបញ្ចូលអ្នកជំនួយការដែលអាចជួយអ្នករៀបចំដាន រួមទាំងអ្នកដែលប្រើដើម្បីស្វែងរកមូលហេតុនៃការជាប់គាំង។ ដើម្បីប្រើ Create Trace Wizard ដើម្បីកំណត់ដាន ចូលទៅក្នុង Enterprise Manager ជ្រើសរើសអ្នកជំនួយការពីម៉ឺនុយ Tools បន្ទាប់មកបើកប្រភេទ Management ហើយជ្រើសរើស Create Trace Wizard។

កំណត់សម្គាល់ចុងក្រោយ

សមត្ថភាពចាក់ឡើងវិញដានរបស់ SQL Profiler រួមជាមួយនឹងនីតិវិធីរក្សាទុកដានដែលបានពង្រីករបស់ SQL Server 7.0 អនុញ្ញាតឱ្យអ្នកបំបាត់កំហុសមូលដ្ឋានទិន្នន័យរបស់អ្នក។ មិនថាអ្នកគ្រាន់តែតាមដានសុខភាពនៃបរិស្ថាន SQL Server របស់អ្នក ឬដោះស្រាយបញ្ហាដំណើរការកម្មវិធីនោះទេ វាដល់ពេលដែលត្រូវអនុវត្តចំណេះដឹងរបស់អ្នកហើយ។

Itzik Ben-Gan [អ៊ីមែលការពារ]មាន MCDBA, MCSE+I, MCSD, MCT និង SQL Server MVP វិញ្ញាបនប័ត្រ។ គាត់គឺជាសាស្ត្រាចារ្យជាន់ខ្ពស់សម្រាប់វគ្គសិក្សា SQL Server នៅមហាវិទ្យាល័យ Hi-Tech ក្នុងប្រទេសអ៊ីស្រាអែល និងជាប្រធានក្រុមអ្នកប្រើប្រាស់ SQL Server របស់អ៊ីស្រាអែល។

នៅក្នុងការបង្រៀននេះ យើងនឹងបន្តការសិក្សាអំពីនីតិវិធីដែលបានរក្សាទុកដែលយើងបានចាប់ផ្តើមនៅក្នុង "ការបង្កើត និងគ្រប់គ្រងនីតិវិធីដែលបានរក្សាទុក"។ អ្នកនឹងរៀនពីរបៀបវិភាគនីតិវិធីដែលបានរក្សាទុក និងសេចក្តីថ្លែងការណ៍ T-SQL ផ្សេងទៀតដោយប្រើ Microsoft SQL Server Query Analyzer និង SQL Server Profiler ។ ពីការវិភាគនេះ អ្នកអាចកំណត់ថាតើ T-SQL statements មានប្រសិទ្ធភាពប៉ុណ្ណា។ សំណួរម៉ាស៊ីនមេ SQL ដ៏មានប្រសិទ្ធភាពប្រើលំដាប់ប្រតិបត្តិការសមស្រប និងសន្ទស្សន៍សមស្រប ដើម្បីកាត់បន្ថយចំនួនជួរដេកដែលបានដំណើរការ និងកាត់បន្ថយចំនួនប្រតិបត្តិការ I/O ឱ្យតិចបំផុត។

ដោយប្រើ Query Analyzer អ្នកអាចមើលឃើញផែនការប្រតិបត្តិដែលបានជ្រើសរើសសម្រាប់សេចក្តីថ្លែងការណ៍ T-SQL កម្មវិធីបង្កើនប្រសិទ្ធភាពសំណួរម៉ាស៊ីនមេ SQL កម្មវិធីបង្កើនប្រសិទ្ធភាពសំណួរគឺជាម៉ូឌុលខាងក្នុងដែលស្វែងរកផែនការប្រតិបត្តិដ៏ល្អបំផុតសម្រាប់សេចក្តីថ្លែងការណ៍ T-SQL នីមួយៗ។ កម្មវិធីបង្កើនប្រសិទ្ធភាពសំណួរវិភាគសេចក្តីថ្លែងការ T-SQL នីមួយៗ មើលលើផែនការប្រតិបត្តិដែលអាចធ្វើទៅបាន និងវាយតម្លៃ "តម្លៃ" នៃផែនការនីមួយៗទាក់ទងនឹងធនធានដែលត្រូវការ និងពេលវេលាដំណើរការ។ គម្រោងដែលមានតម្លៃទាបបំផុតត្រូវបានជ្រើសរើស។ តម្លៃនៃផែនការនីមួយៗត្រូវបានកំណត់ដោយផ្អែកលើស្ថិតិដែលមាន ដែលត្រូវបានប្រមូលដោយប្រព័ន្ធ ហើយអាចនឹងហួសសម័យ។ ដោយ​សារ​តែ​អ្នក​អាច​នឹង​ដឹង​បន្ថែម​ទៀត​អំពី​មូលដ្ឋាន​ទិន្នន័យ​របស់​អ្នក​និង​ទិន្នន័យ​របស់​អ្នក​ជាង កម្មវិធីបង្កើនប្រសិទ្ធភាពសំណួរបន្ទាប់មក អ្នកប្រហែលជាអាចបង្កើតផែនការដែលប្រសើរជាងកម្មវិធីបង្កើនប្រសិទ្ធភាពសំណួរ។ ដោយប្រើព័ត៌មានដែល Query Analyzer ផលិត អ្នកអាចកំណត់ថាតើផែនការរបស់អ្នកបង្កើនប្រសិទ្ធភាពសំណួរសម្រាប់សេចក្តីថ្លែងការណ៍ជាក់លាក់មួយនឹងមានប្រសិទ្ធភាពឬអត់ នោះអ្នកអាចព្យាយាមបង្កើនប្រសិទ្ធភាពសេចក្តីថ្លែងការណ៍នោះដោយកែប្រែវា ឬប្រើការណែនាំ SQL ។ នៅក្នុងការបង្រៀននេះ អ្នកនឹងរៀនពីរបៀបបង្កើនប្រសិទ្ធភាព T-SQL statements បន្ថែមពីលើការរៀនពីរបៀបប្រើប្រាស់ Query Analyzer។

ដោយប្រើ Profiler អ្នកអាចវិភាគប្រតិបត្តិការនៅក្នុងប្រព័ន្ធ SQL Server របស់អ្នកដើម្បីកំណត់ថាតើសេចក្តីថ្លែងការណ៍ SQL និងនីតិវិធីរក្សាទុកមួយណាកំពុងប្រើធនធានប្រព័ន្ធដែលមិនចាំបាច់។ ជាមួយនឹងព័ត៌មាននេះ អ្នកអាចផ្តោតលើការខិតខំប្រឹងប្រែងកែតម្រូវរបស់អ្នកជាចម្បងលើសេចក្តីថ្លែងការទាំងនេះ និងនីតិវិធីដែលបានរក្សាទុក។ បន្ថែមពីលើការពិពណ៌នាអំពីរបៀបប្រើប្រាស់ Profiler ការបង្រៀននេះក៏បង្ហាញពីរបៀបប្រើប្រាស់ព័ត៌មានដែលទទួលបានដោយប្រើ Profiler ឱ្យមានប្រសិទ្ធភាពបំផុត។

ដោយប្រើ SQL Query Analyzer

ឧបករណ៍ប្រើប្រាស់ Query Analyzer ដឹកជញ្ជូនជាមួយ Microsoft SQL Server 2000 ដើម្បីជំនួស

នៅក្នុងបញ្ហាពីមុន (សូមមើល ComputerPress លេខ 1, 3-5, 7, 9'2006) យើងបានពិភាក្សាអំពីបញ្ហាដែលទាក់ទងនឹងការផ្លាស់ប្តូរទៅ SQL Server 2005 ដោយការផ្ទេរ ឬដំឡើងកំណែ ក៏ដូចជាសេណារីយ៉ូសំខាន់ៗសម្រាប់ការប្រើប្រាស់ SQL Server 2005។ អត្ថបទនេះ នឹងពិភាក្សាអំពីវិធីសាស្ត្របង្កើនប្រសិទ្ធភាពសំណួរផ្សេងៗ និងវិធីសាស្រ្តដែលអាចកើតមានក្នុងការដោះស្រាយបញ្ហាដែលទាក់ទងនឹងការស្វែងរកបញ្ហាក្នុងការអនុវត្ត។

SQL Server ផ្តល់សេវាកម្មដែលដំណើរការក្នុងបរិយាកាសថាមវន្ត និងផ្លាស់ប្តូរជានិច្ច។ ដូច្នេះការត្រួតពិនិត្យជាទៀងទាត់នៃប្រតិបត្តិការម៉ាស៊ីនមេអនុញ្ញាតឱ្យអ្នកកំណត់បញ្ហានៅដំណាក់កាលនៃការកើតឡើងរបស់ពួកគេហើយចាត់វិធានការភ្លាមៗដើម្បីលុបបំបាត់ពួកគេ។ ជាមួយនឹងការប្រមូលផ្តុំស្ថិតិ ការយល់ដឹងអំពីនិន្នាការចម្បងនៅក្នុងប្រតិបត្តិការម៉ាស៊ីនមេលេចឡើង។ ការប្រមូលទិន្នន័យជាទៀងទាត់ - សូម្បីតែក្នុងករណីដែលម៉ាស៊ីនមេកំពុងដំណើរការដោយគ្មានបញ្ហាក៏ដោយ - នឹងបង្កើតអ្វីដែលគេហៅថា បន្ទាត់ប្រតិបត្តិការម៉ាស៊ីនមេ ដែលអាចបម្រើជាឯកសារយោងសម្រាប់ការវាស់វែងបន្ថែមទៀតនៃដំណើរការម៉ាស៊ីនមេ។

នៅពេលដែលអ្នកមានតារាងពិន្ទុដំណើរការជាមូលដ្ឋាន អ្នកមានសមត្ថភាពក្នុងការវិភាគដំណើរការសំណួរនៅក្រោមសេណារីយ៉ូផ្សេងៗ។ វាត្រូវបានផ្ដល់អនុសាសន៍ឱ្យធ្វើការវាស់វែងជាអប្បបរមា មុន កំឡុងពេល និងក្រោយពេលអនុវត្តនីតិវិធីបង្កើនប្រសិទ្ធភាពផ្សេងៗ ដែលនឹងធានាបាននូវភាពជោគជ័យនៃសកម្មភាពដែលបានធ្វើឡើង។ លើសពីនេះ ការវាស់វែងការអនុវត្តស្តង់ដារធម្មតា (ប្រចាំសប្តាហ៍ ប្រចាំខែ ប្រចាំត្រីមាស។ល។) នឹងផ្តល់នូវរូបភាពកាន់តែច្បាស់នៃដំណើរការម៉ាស៊ីនមេ។

ស្តង់ដារមូលដ្ឋានអាចត្រូវបានប្រើដើម្បីកំណត់ពេលវេលានៃការផ្ទុកខ្ពស់បំផុតនៃម៉ាស៊ីនមេ និងពេលវេលារងចាំរបស់វា (ម៉ោងខ្ពស់បំផុត និងក្រៅម៉ោង) ពេលវេលាឆ្លើយតបនៃសំណើ និងបណ្តុំនៃពាក្យបញ្ជា ពេលវេលាប្រតិបត្តិនៃនីតិវិធីសម្រាប់បង្កើតច្បាប់ចម្លងបម្រុងទុក និងការស្ដារទិន្នន័យ។ល។ .

ដំណើរការសំណួរ

ការអនុវត្តសំណួរគួរតែត្រូវបានពិចារណាពីទិដ្ឋភាពពីរ - ធនធានដែលប្រើដើម្បីប្រតិបត្តិសំណួរជាក់លាក់មួយ (ធនធានរួមមានវត្ថុដែលយើងចូលប្រើក្នុងអំឡុងពេលដំណើរការសំណួរ វត្ថុដែលត្រូវបានរារាំង ចំណាយពេលដើម្បីបំពេញសំណើ លទ្ធភាពកាន់តែទាបដែលយើងនឹងរារាំងសំណើ និងប្រតិបត្តិការផ្សេងទៀតក្នុងអំឡុងពេលដំណើរការសំណើ។

SQL Server 2005 រួមបញ្ចូលឧបករណ៍ចម្បងពីរសម្រាប់វាស់ស្ទង់ដំណើរការសំណួរ - Performance Monitor និង SQL Server Profiler ។ លើសពីនេះទៀត ដើម្បីទទួលបានព័ត៌មានអំពីការប្រតិបត្តិនៃសំណួរ អ្នកអាចប្រើការស្ថាបនាភាសា T-SQL ពីក្រុម SET STATISTICS - SET STATISTICS IO, SET STATISTICS PROFILE និង SET STATISTICS TIME - និងទិដ្ឋភាពថាមវន្ត (ទិដ្ឋភាពការគ្រប់គ្រងថាមវន្ត)។ បន្ទាប់មក យើងនឹងពិនិត្យមើលការប្រើប្រាស់ Performance Monitor និង SQL Server Profiler នៅក្នុងលម្អិតបន្ថែមទៀត។

ការប្រើប្រាស់កម្មវិធីត្រួតពិនិត្យការអនុវត្ត

ឧបករណ៍ប្រើប្រាស់ត្រួតពិនិត្យការអនុវត្ត ត្រូវបានប្រើដើម្បីវិភាគដំណើរការនៃធនធានផ្នែករឹង និងផ្នែកទន់ រួមទាំងអង្គចងចាំ ការប្រើប្រាស់បណ្តាញ ពេលវេលាដំណើរការ និងព័ត៌មានទាក់ទងនឹងប្រតិបត្តិការរបស់ SQL Server និងផលិតផលកម្មវិធីផ្សេងទៀត - Microsoft Message Queuing (MSMQ), Microsoft .NET Framework និង Microsoft Exchange Server ។ ជាពិសេស អ្នកអាចប្រើ Performance Monitor ដើម្បីត្រួតពិនិត្យធនធាន SQL Server ដូចជាការចាក់សោ និងប្រតិបត្តិការ។

ដើម្បីបន្ថែមបញ្ជរដែលយើងចាប់អារម្មណ៍ អ្នកត្រូវតែអនុវត្តជំហានខាងក្រោម៖

  1. នៅលើម៉ឺនុយ ចាប់ផ្តើមជ្រើសរើសក្រុម រត់និងនៅក្នុងបន្ទះប្រអប់ រត់ចូល perfmon. វានឹងបើកដំណើរការ Performance Microsoft Management Console (MMC) ដោយបង្ហាញតំណាងក្រាហ្វិកនៃចំនួននៃការអនុវត្តមួយចំនួន។
  2. នៅក្នុងបង្អួច ម៉ូនីទ័រប្រព័ន្ធចុចប៊ូតុងខាងស្តាំលើតារាង ហើយជ្រើសរើសពាក្យបញ្ជា បន្ថែមបញ្ជរ.
  3. នៅក្នុងបន្ទះប្រអប់ បន្ថែមបញ្ជរជ្រើសរើសកុំព្យូទ័រដែលយើងចាប់អារម្មណ៍ និងវត្ថុដែលត្រូវត្រួតពិនិត្យ។ វត្ថុដែលទាក់ទងនឹង SQL Server ត្រូវបានបុព្វបទតាម។
  4. ដើម្បីជ្រើសរើសបញ្ជរ អ្នកត្រូវតែជ្រើសរើសជម្រើសណាមួយ។ បញ្ជរទាំងអស់។ឬបញ្ជរមួយ ឬច្រើនពីបញ្ជីទម្លាក់ចុះ (រូបភាពទី 1)។
  1. បន្ទាប់ពីនេះ អ្នកគួរតែជ្រើសរើសឧទាហរណ៍មូលដ្ឋានទិន្នន័យ ឬបើកជម្រើស ករណីទាំងអស់។.
  2. ការចុចប៊ូតុងបន្ថែម និងបិទបញ្ចប់ការបន្ថែមបញ្ជរ។

បន្ទាប់​ពី​ការ​រាប់​ចាប់​អារម្មណ៍​មក​លើ​យើង​ត្រូវ​បាន​បន្ថែម យើង​អាច​មើល​តម្លៃ​របស់​វា​ក្នុង​ទម្រង់​ជា​ក្រាហ្វ ឬ​រក្សា​ទុក​វា​ក្នុង​ឯកសារ​ដាន (រូប​ទី 2)។

ក្នុងករណីចុងក្រោយអ្នកត្រូវពង្រីកធាតុ កំណត់ហេតុប្រតិបត្តិការ និងការជូនដំណឹងហើយចុចលើពាក្យបញ្ជា ការកំណត់កំណត់ហេតុថ្មី។. នៅក្នុងបន្ទះប្រអប់ ការកំណត់កំណត់ហេតុថ្មី។អ្នកត្រូវតែបញ្ជាក់ឈ្មោះពិធីការ ហើយចុចយល់ព្រម។ បន្ទាប់នៅក្នុងបន្ទះប្រអប់ ឈ្មោះ CounterLogNameយើងជ្រើសរើសក្រុម បន្ថែមបញ្ជរ. ការបន្ថែមបញ្ជរដែលយើងចាប់អារម្មណ៍កើតឡើងតាមរបៀបដូចបានរៀបរាប់ខាងលើ។ សូមចំណាំថា បញ្ជរមួយចំនួនធំអាចប៉ះពាល់ដល់ដំណើរការប្រព័ន្ធ។ នៅពេលបញ្ចប់ការបន្ថែមបញ្ជរ សូមចុចប៊ូតុង បិទ.

នៅលើផ្ទាំង ទូទៅនៅក្នុងផ្នែក ទិន្នន័យគំរូរៀងរាល់អ្នកអាចកំណត់ប្រេកង់គំរូ (ការទទួលបានទិន្នន័យ)។ វាត្រូវបានផ្ដល់អនុសាសន៍ឱ្យចាប់ផ្តើមជាមួយនឹងប្រេកង់មធ្យមមួយ ឧទាហរណ៍រៀងរាល់ 5 នាទីម្តង ហើយបន្ទាប់មក បើចាំបាច់ កាត់បន្ថយ ឬបង្កើនវា។ សូមចំណាំថាចន្លោះពេលគំរូកាន់តែខ្លី ធនធានប្រព័ន្ធ និងថាសកាន់តែច្រើនត្រូវបានទាមទារ។ វាត្រូវតែចងចាំថាចន្លោះពេលខ្លីជាងរយៈពេលបរិមាណម៉ែត្រក៏អាចបណ្តាលឱ្យមានការបង្ហាញទិន្នន័យមិនត្រឹមត្រូវផងដែរ។ នៅលើផ្ទាំង ឯកសារកំណត់ហេតុអ្នកអាចកំណត់រចនាសម្ព័ន្ធលក្ខណៈសម្បត្តិនៃឯកសារពិធីការ និង កាលវិភាគកាលវិភាគត្រួតពិនិត្យត្រូវបានកំណត់។ ការចុចប៊ូតុង OK នាំឱ្យបង្កើតពិធីការសម្រាប់ការចាប់ផ្តើមនៃការប្រមូលទិន្នន័យ (រូបភាពទី 3)។

ដើម្បីបញ្ចប់ការកត់ត្រាដោយដៃ អ្នកត្រូវចុចប៊ូតុងខាងស្តាំលើធាតុ កំណត់ហេតុបញ្ជរហើយជ្រើសរើសក្រុម ឈប់។

ដើម្បីមើលទិន្នន័យដែលប្រមូលបាននៅក្នុងឯកសារកំណត់ហេតុនៅក្នុង Performance Monitor អ្នកត្រូវជ្រើសរើសធាតុ ម៉ូនីទ័រប្រព័ន្ធនៅក្នុងរបារភារកិច្ច - ពាក្យបញ្ជា មើលទិន្នន័យកំណត់ហេតុនិងនៅក្នុងបន្ទះប្រអប់ មុខងារត្រួតពិនិត្យប្រព័ន្ធនៅលើផ្ទាំង ប្រភពបញ្ជាក់ឈ្មោះឯកសារកំណត់ហេតុ។

បញ្ជរត្រួតពិនិត្យការអនុវត្តដែលប្រើជាទូទៅបំផុតដែលអាចត្រូវបានប្រើដើម្បីជួយកំណត់បញ្ហានៃការអនុវត្តត្រូវបានបែងចែកទៅជាប្រភេទដូចខាងក្រោមៈ

  • ការចូលប្រើទិន្នន័យ - ដើម្បីសវនកម្មវិធីសាស្ត្រចូលប្រើទិន្នន័យដែលប្រើដោយ SQL Server ខ្លួនវា វត្ថុត្រូវបានប្រើ SQLServer: វិធីសាស្ត្រចូលប្រើ;
  • ស្ថិតិ - វត្ថុត្រូវបានប្រើដើម្បីតាមដានការចងក្រង និងការចងក្រងឡើងវិញនៃសំណួរ SQLServer: ស្ថិតិ SQL. វាផ្តល់ព័ត៌មានអំពីរបៀបដែល SQL Server ដំណើរការសំណួរយ៉ាងរហ័ស និងមានប្រសិទ្ធភាព។
  • ប្រតិបត្តិការ - បញ្ជរជាក់លាក់នៃវត្ថុត្រូវបានប្រើដើម្បីកំណត់ចំនួនប្រតិបត្តិការក្នុងមួយវិនាទី SQLServer: មូលដ្ឋានទិន្នន័យនិង SQLServer: ប្រតិបត្តិការ;
  • ចាក់សោ - វត្ថុត្រូវបានប្រើដើម្បីសវនកម្មការចាក់សោម៉ាស៊ីនមេ SQL ដែលដាក់លើប្រភេទមួយចំនួននៃធនធាន SQLServer: ចាក់សោ(តារាងទី 1) ។

តារាង 1. SQL Server Profiler counters

ឈ្មោះបញ្ជរ

ការពិពណ៌នា

រាប់ចំនួននៃការស្កេនជួរសម្រាប់សន្ទស្សន៍ក្នុងមួយវិនាទី

រាប់ចំនួននៃការស្កេនពេញលេញដែលបានបញ្ចប់ក្នុងវិនាទីចុងក្រោយ

លិបិក្រមស្វែងរក/វិ

រាប់ចំនួននៃការស្វែងរកលិបិក្រមក្នុងវិនាទីចុងក្រោយ

Table Lock Escalations/sec

រាប់ចំនួនសោនៅលើតុ

តារាងការងារត្រូវបានបង្កើត / វិ

រាប់ចំនួនសន្លឹកកិច្ចការដែលបានបង្កើតក្នុងវិនាទីចុងក្រោយ

សំណើជាបាច់/វិ

រាប់ចំនួននៃបណ្តុំពាក្យបញ្ជា Transact-SQL ក្នុងមួយវិនាទី។ ការ​រាប់​កញ្ចប់​ព័ត៌មាន​ខ្ពស់​មាន​ន័យ​ថា​ការ​បញ្ជូន​ចេញ​បាន​ល្អ។

ការចងក្រង SQL/វិ

រាប់ចំនួននៃការចងក្រងសំណួរក្នុងមួយវិនាទី។ តម្លៃនៃការរាប់នេះគួរតែក្លាយជាស្ទើរតែថេរ បន្ទាប់ពីអ្នកប្រើប្រាស់អនុវត្តសកម្មភាពជាមូលដ្ឋាន

SQL Re-Compilations/វិ

រាប់ចំនួននៃការចងក្រងសំណួរឡើងវិញក្នុងមួយវិនាទី

SQLServer: វត្ថុមូលដ្ឋានទិន្នន័យ។ ប្រតិបត្តិការ/វិនាទីរាប់

រាប់ចំនួនប្រតិបត្តិការដែលបានចាប់ផ្តើមនៅក្នុងមូលដ្ឋានទិន្នន័យក្នុងវិនាទីចុងក្រោយ

SQLServer: វត្ថុប្រតិបត្តិការ។ ការរាប់ពេលវេលាដំណើរការប្រតិបត្តិការយូរបំផុត។

គណនាចំនួនវិនាទីចាប់តាំងពីការចាប់ផ្តើមប្រតិបត្តិការដែលសកម្មយូរជាងប្រតិបត្តិការបច្ចុប្បន្នផ្សេងទៀត។ ប្រសិនបើបញ្ជរនេះបង្ហាញប្រតិបត្តិការដ៏វែងឆ្ងាយ សូមប្រើនីតិវិធីរក្សាទុកប្រព័ន្ធ sys.dm_tran_active_transactions() ដើម្បីទទួលបានព័ត៌មានអំពីប្រតិបត្តិការនេះ

SQLServer: វត្ថុប្រតិបត្តិការ។ ធ្វើបច្ចុប្បន្នភាពការរាប់សមាមាត្រជម្លោះ

រាប់ភាគរយនៃប្រតិបត្តិការដែលប្រើភាពឯកោនៃរូបថតដើម្បីដោះស្រាយជម្លោះការធ្វើបច្ចុប្បន្នភាពទិន្នន័យចុងក្រោយ

រយៈពេលរង់ចាំជាមធ្យម (ms)

គណនារយៈពេលរង់ចាំជាមធ្យមសម្រាប់សំណើចាក់សោនីមួយៗដែលបណ្តាលឱ្យមានការរង់ចាំ

ចាក់សោសំណើ/វិ

រាប់ចំនួននៃការចាក់សោ និងការបំប្លែងចាក់សោក្នុងមួយវិនាទី

ចាក់សោពេលវេលារង់ចាំ (ms)

គណនាការរង់ចាំសរុបសម្រាប់សោក្នុងវិនាទីចុងក្រោយ

រាប់ចំនួនសំណើចាក់សោក្នុងមួយវិនាទីដែលបណ្តាលឱ្យមានការរង់ចាំ

ឧបករណ៍ប្រើប្រាស់ទីពីរដែលអ្នកអាចប្រើដើម្បីវាស់ស្ទង់ដំណើរការសំណួរគឺ SQL Server Profiler ។ បន្ទាប់យើងនឹងពិនិត្យមើលវិធីសំខាន់ៗក្នុងការប្រើប្រាស់វា។

ការប្រើប្រាស់ SQL Server Profiler

ឧបករណ៍ប្រើប្រាស់ SQL Server Profiler ត្រូវបានប្រើដើម្បីវាស់ស្ទង់ដំណើរការនៃសំណួរនីមួយៗ និងសំណួរដែលជាផ្នែកមួយនៃនីតិវិធីដែលបានរក្សាទុក និងបណ្តុំពាក្យបញ្ជា Transact-SQL ។ វាអាចត្រូវបានប្រើដើម្បីប្រមូលព័ត៌មានអំពីការអនុវត្ត រួមទាំងពេលវេលាដែលចំណាយលើការប្រតិបត្តិពាក្យបញ្ជាបុគ្គល ពេលវេលាទប់ស្កាត់សម្រាប់ប្រតិបត្តិពាក្យបញ្ជា និងផែនការប្រតិបត្តិ។

ដើម្បីបង្កើតទម្រង់ថ្មី អ្នកត្រូវតែបំពេញជំហានខាងក្រោម៖

  1. បើកដំណើរការ SQL Server Profiler ( Microsoft SQL Server 2005 => ឧបករណ៍ដំណើរការ => SQL Server Profiler).
  2. នៅលើម៉ឺនុយ ឯកសារជ្រើសរើសក្រុម ដានថ្មី។.
  3. នៅក្នុងបន្ទះប្រអប់ ភ្ជាប់ទៅម៉ាស៊ីនមេជ្រើសរើសម៉ាស៊ីនមេដែលត្រូវការហើយចុចប៊ូតុង ភ្ជាប់.
  4. នៅក្នុងបន្ទះប្រអប់ តាមដានលក្ខណៈសម្បត្តិអ្នកត្រូវកំណត់ឈ្មោះទម្រង់ (ឈ្មោះដាន)និងនៅក្នុងបញ្ជី ប្រើគំរូជ្រើសរើសគំរូមួយក្នុងចំណោមគំរូដែលមាន ឬ ទទេប្រសិនបើគំរូមិនត្រូវបានប្រើ។
  5. ដើម្បីរក្សាទុកលទ្ធផលនៃទម្រង់ អ្នកត្រូវតែជ្រើសរើសជម្រើស រក្សាទុកក្នុងឯកសារដើម្បីសរសេរទិន្នន័យទៅឯកសារមួយ ហើយបញ្ជាក់ទំហំឯកសារអតិបរមា (តម្លៃលំនាំដើមគឺ 5 MB) ជាជម្រើស អ្នកអាចបើកជម្រើសបាន។ បើកដំណើរការឯកសារវិលជុំដើម្បីបង្កើតឯកសារថ្មីដោយស្វ័យប្រវត្តិ នៅពេលឈានដល់ទំហំទម្រង់ដែលបានបញ្ជាក់។ ជម្រើសទីពីរគឺរក្សាទុកទិន្នន័យក្នុងតារាងទិន្នន័យ (រក្សាទុកក្នុងតារាង)- ជម្រើស កំណត់ជួរអតិបរមាអនុញ្ញាតឱ្យអ្នកកំណត់ចំនួនអតិបរមានៃកំណត់ត្រា។
  6. ដើម្បីកំណត់ពេលវេលាបញ្ចប់សម្រាប់ការតាមដាន អ្នកអាចប្រើជម្រើស បើកដំណើរការពេលវេលាឈប់តាមដាន(រូបទី 4) ។

ដើម្បីកំណត់ព្រឹត្តិការណ៍ និងជួរឈរទិន្នន័យសម្រាប់ប្រវត្តិរូប អ្នកត្រូវបំពេញជំហានខាងក្រោម៖

  1. នៅក្នុងបន្ទះប្រអប់ តាមដានលក្ខណៈសម្បត្តិចូលទៅកាន់ផ្ទាំង ការជ្រើសរើសព្រឹត្តិការណ៍.
  2. បន្ថែម ឬលុបព្រឹត្តិការណ៍ចេញពីប្រវត្តិរូបដោយប្រើតារាងថ្នាក់ព្រឹត្តិការណ៍។
  3. ដើម្បីទទួលបានបញ្ជីព្រឹត្តិការណ៍ដែលមានទាំងអស់ សូមបើកជម្រើស បង្ហាញព្រឹត្តិការណ៍ទាំងអស់។(រូបទី 5) ។

នៅក្នុងតារាង តារាងទី 2 រាយបញ្ជីព្រឹត្តិការណ៍ SQL Server Profiler ដែលប្រើជាទូទៅបំផុត។ ដូចជាកម្មវិធីរាប់ដំណើរការ ព្រឹត្តិការណ៍ SQL Server Profiler ធ្លាក់ចូលទៅក្នុងប្រភេទមួយចំនួន ដែលមួយចំនួនមានការចាប់អារម្មណ៍ចំពោះគោលបំណងរបស់យើង។

តារាង 2. ព្រឹត្តិការណ៍ SQL Server Profiler

ឈ្មោះព្រឹត្តិការណ៍

ការពិពណ៌នា

ព្រឹត្តិការណ៍នេះកើតឡើងនៅពេលដែលការហៅដំណើរការពីចម្ងាយបញ្ចប់ការប្រតិបត្តិ។

ព្រឹត្តិការណ៍នេះត្រូវបានបញ្ឈប់នៅពេលដែលដំណើរការដែលបានរក្សាទុកបានបញ្ចប់ការប្រតិបត្តិ។

SP: StmtCompleted

ព្រឹត្តិការណ៍នេះកើតឡើងនៅពេលបញ្ចប់ការប្រតិបត្តិនៃពាក្យបញ្ជា Transact-SQL មួយនៅក្នុងដំណើរការដែលបានរក្សាទុក

SQL:StmtCompleted

ព្រឹត្តិការណ៍នេះកើតឡើងនៅពេលបញ្ចប់ពាក្យបញ្ជា Transact-SQL ។

SQL: Batch បានបញ្ចប់

ព្រឹត្តិការណ៍នេះកើតឡើងនៅពេលបញ្ចប់នូវបណ្តុំនៃពាក្យបញ្ជា Transact-SQL ។

ព្រឹត្តិការណ៍នេះត្រូវបានបញ្ឈប់នៅពេលដែលប្រតិបត្តិការទទួលបានសោលើធនធាន។

ព្រឹត្តិការណ៍នេះកើតឡើងនៅពេលដែលប្រតិបត្តិការចេញផ្សាយធនធានដែលបានចាក់សោពីមុន។

ព្រឹត្តិការណ៍នេះកើតឡើងនៅពេលដែលអស់ពេលសម្រាប់ការទទួលបានសោគឺលើសពីពេលដែលធនធានដែលត្រូវការត្រូវបានចាក់សោដោយប្រតិបត្តិការមួយផ្សេងទៀតរួចហើយ

របៀបកំណត់វត្តមាននៃការស្ទះ

រាល់ពេលដែលប្រតិបត្តិការប្រើប្រាស់ធនធាន (តារាង ទំព័រ លិបិក្រម។ល។) សោត្រូវបានចាត់ឱ្យទៅវា។ ប្រសិនបើប្រតិបត្តិការផ្សេងទៀតព្យាយាមចូលប្រើធនធាននេះ ហើយប្រភេទសោមិនឆបគ្នាជាមួយសោដែលបានរក្សាទុករួចហើយ សោថ្មីនឹងត្រូវបានទទួល។

ដើម្បីកំណត់វត្តមាននៃការទប់ស្កាត់អ្នកអាចប្រើវិធីដូចខាងក្រោមៈ

  • ប្រើឧបករណ៍ត្រួតពិនិត្យសកម្មភាព SQL Server Management Studio ដែលបង្ហាញព័ត៌មានអំពីដំណើរការ កម្រិតដំណើរការ និងការចាក់សោកម្រិតវត្ថុ។ ដើម្បីចូលប្រើ Activity Monitor នៅក្នុង SQL Server Management Studio អ្នកត្រូវជ្រើសរើសធាតុ ការគ្រប់គ្រងហើយនៅក្នុងវា - កម្មវិធីត្រួតពិនិត្យសកម្មភាពហើយចុចពីរដងលើធាតុនេះ។ កម្មវិធីត្រួតពិនិត្យសកម្មភាពអនុញ្ញាតឱ្យអ្នកមើល៖

វត្ថុដែលបានចាក់សោក្នុងមួយដំណើរការ - ប្រើលេខសម្គាល់ដំណើរការដើម្បីកំណត់សំណើដែលបណ្តាលឱ្យចាក់សោ លេខសម្គាល់ដំណើរការម៉ាស៊ីនមេ (SPID)នៅលើទំព័រ ព័ត៌មានដំណើរការ,

ដំណើរការដែលបណ្តាលឱ្យដំណើរការផ្សេងទៀតរង់ចាំ - ប្រើជួរឈរដើម្បីកំណត់អត្តសញ្ញាណដំណើរការបែបនេះ រារាំងដោយនៅលើទំព័រ ព័ត៌មានដំណើរការ(រូបទី ៦);

  • ប្រើ SQL Server Profiler ដើម្បីទទួលបានរបាយការណ៍ស្តីពីដំណើរការដែលត្រូវបានរារាំង - បញ្ជីនេះបង្ហាញព័ត៌មានអំពីដំណើរការដែលនៅតែត្រូវបានទប់ស្កាត់យូរជាងពេលវេលាដែលបានបញ្ជាក់។ អូ

នៅក្នុងការងាររបស់យើង យើងតែងតែជួបប្រទះនូវស្ថានភាពដែលសំណើជាក់លាក់មួយមានភាពយឺតយ៉ាវ ហើយគ្មានបញ្ហាជាក់ស្តែងណាមួយអាចមើលឃើញពីអត្ថបទនៃសំណើនោះទេ។ ជាធម្មតាក្នុងករណីនេះវាចាំបាច់ដើម្បីស៊ើបអង្កេតបញ្ហានៅកម្រិតកាន់តែស៊ីជម្រៅ។ តាមក្បួនមួយ ចាំបាច់ត្រូវមើលអត្ថបទនៃសំណួរ SQL និងផែនការរបស់វា ហើយនេះគឺជាកន្លែងដែល SQLProfiler ជួយយើង។

តើ SQL Profiler គឺជាអ្វី ហើយហេតុអ្វីបានជាវាត្រូវការ?

SQLProfiler គឺជាកម្មវិធីដែលផ្គត់ផ្គង់ជាមួយ MS SQL Server ហើយត្រូវបានរចនាឡើងដើម្បីមើលព្រឹត្តិការណ៍ទាំងអស់ដែលកើតឡើងនៅក្នុងម៉ាស៊ីនមេ SQL ឬនិយាយម្យ៉ាងទៀតដើម្បីកត់ត្រាដាន។ ហេតុអ្វីបានជាអ្នកសរសេរកម្មវិធី 1C អាចត្រូវការ SQLProfiler? យ៉ាងហោចណាស់ដើម្បីទទួលបានអត្ថបទនៃសំណួរនៅក្នុង SQL និងមើលផែនការរបស់វា។ ជាការពិតណាស់នេះអាចត្រូវបានធ្វើដោយជំនួយពីទស្សនាវដ្តីបច្ចេកវិទ្យាប៉ុន្តែនេះតម្រូវឱ្យមានជំនាញមួយចំនួនហើយផែនការនៅក្នុងទិនានុប្បវត្តិបច្ចេកទេសគឺមិនសូវស្រស់ស្អាតនិងអាចអានបាន។ នៅក្នុង profiler អ្នកអាចមើលមិនត្រឹមតែអត្ថបទប៉ុណ្ណោះទេប៉ុន្តែថែមទាំងផែនការប្រតិបត្តិសំណួរក្រាហ្វិកដែលតាមគំនិតរបស់ខ្ញុំគឺងាយស្រួលជាង។ អ្នកក៏អាចប្រើ profiler ដើម្បីកំណត់៖ សំណើយូរជាងពេលជាក់លាក់មួយ សំណើទៅកាន់តារាងជាក់លាក់មួយដែលកំពុងរង់ចាំការចាក់សោ ការអស់ពេលជាប់គាំង និងច្រើនទៀត...

ការវិភាគសំណួរជាមួយ SQL Profiler

Profiler ត្រូវបានប្រើជាញឹកញាប់បំផុតដើម្បីវិភាគសំណួរ។ តាមក្បួនមួយ យើងមិនចាំបាច់តាមដានរាល់សំណួរទាំងអស់ ជាញឹកញាប់យើងត្រូវមើលពីរបៀបដែលសំណួរជាក់លាក់នៅក្នុងភាសា 1C ត្រូវបានបកប្រែទៅជា SQL និងមើលផែនការប្រតិបត្តិរបស់វា។ ជាឧទាហរណ៍ យើងប្រហែលជាត្រូវការវាដើម្បីកំណត់ថាហេតុអ្វីបានជាសំណួរដំណើរការយឺត ឬយើងប្រហែលជាបានសរសេរសំណួរធំមួយ ហើយចង់ធ្វើឱ្យប្រាកដថាតួសំណួរ SQL មិនមានភ្ជាប់ទៅសំណួររងទេ។ ដើម្បីចាប់យកសំណើក្នុងដាន សូមធ្វើដូចខាងក្រោម៖

1. បើកដំណើរការ SQL Profiler Start - កម្មវិធីទាំងអស់ - Microsoft SQL Server 2008 R2 - Productivity Tools - SQLProfiler
2. បង្កើតឯកសារដានថ្មីមួយ - បង្កើតដាន (Ctrl+N)
3. បញ្ជាក់ម៉ាស៊ីនមេ DBMS ដែលមូលដ្ឋានទិន្នន័យរបស់យើងមានទីតាំងនៅ ហើយចុច "ភ្ជាប់" ។

ជាធម្មតា គ្មានអ្វីរារាំងអ្នកពីការតាមដានម៉ាស៊ីនមេ DBMS ដែលមានទីតាំងនៅលើកុំព្យូទ័រមួយផ្សេងទៀតនោះទេ។ 4. នៅក្នុងបង្អួច "លក្ខណៈសម្បត្តិតាមដាន" ដែលលេចឡើង សូមចូលទៅកាន់ផ្ទាំងទីពីរ "ជ្រើសរើសព្រឹត្តិការណ៍"

5. ឥឡូវនេះយើងត្រូវបញ្ជាក់ព្រឹត្តិការណ៍និងលក្ខណៈសម្បត្តិនៃព្រឹត្តិការណ៍ទាំងនេះដែលយើងចង់ឃើញនៅក្នុងដាន។ យើងត្រូវការសំណួរ និងផែនការសំណួរ ដូច្នេះយើងត្រូវបើកព្រឹត្តិការណ៍សមស្រប។ ដើម្បីបង្ហាញបញ្ជីពេញលេញនៃលក្ខណៈសម្បត្តិ និងព្រឹត្តិការណ៍ សូមបើកទង់ "បង្ហាញជួរឈរទាំងអស់" និង "បង្ហាញព្រឹត្តិការណ៍ទាំងអស់" ។ បន្ទាប់មកអ្នកត្រូវជ្រើសរើសតែព្រឹត្តិការណ៍ដែលបង្ហាញក្នុងរូបភាពខាងក្រោម ព្រឹត្តិការណ៍ផ្សេងទៀតទាំងអស់ត្រូវតែបិទ។


ការពិពណ៌នាអំពីព្រឹត្តិការណ៍៖ ShowplanStatisticsProfile - ផែនការប្រតិបត្តិសំណួរអត្ថបទ។
ShowplanXMLStatisticsProfile - ផែនការប្រតិបត្តិសំណួរក្រាហ្វិក។
RPC: បានបញ្ចប់ - ស្នើសុំអត្ថបទប្រសិនបើវាត្រូវបានប្រតិបត្តិជានីតិវិធី (ប្រសិនបើសំណើ 1C ដែលមានប៉ារ៉ាម៉ែត្រត្រូវបានប្រតិបត្តិ) ។
SQL:BatchCompleted - អត្ថបទសំណួរប្រសិនបើវាត្រូវបានប្រតិបត្តិជាសំណួរធម្មតា (ប្រសិនបើសំណួរ 1C ត្រូវបានប្រតិបត្តិដោយគ្មានប៉ារ៉ាម៉ែត្រ) ។

6. ឥឡូវអ្នកត្រូវរៀបចំតម្រងសម្រាប់ព្រឹត្តិការណ៍។ ប្រសិនបើវាមិនត្រូវបានធ្វើទេ នោះយើងនឹងឃើញសំណួរសម្រាប់មូលដ្ឋានទិន្នន័យទាំងអស់ដែលមាននៅលើម៉ាស៊ីនមេ DBMS នេះ។ ចុចប៊ូតុង "តម្រងជួរឈរ" ហើយបញ្ជាក់តម្រងតាមឈ្មោះមូលដ្ឋានទិន្នន័យ

ឥឡូវនេះយើងនឹងឃើញនៅក្នុងដានសំណើតែមួយគត់ទៅកាន់មូលដ្ឋានទិន្នន័យ “TestBase_8_2” ប្រសិនបើចង់បាន អ្នកអាចកំណត់តម្រងនៅលើវាលផ្សេងទៀត ដែលគួរឱ្យចាប់អារម្មណ៍បំផុតនោះគឺ៖ រយៈពេល (រយៈពេល) ទិន្នន័យអត្ថបទ (ជាធម្មតាអត្ថបទនៃសំណើ) និង។ ចំនួន​ជួរ​ដេក (ចំនួន​ជួរ​ដេក​ដែល​បាន​ត្រឡប់​ដោយ​សំណើ)។

ឧទាហរណ៍ ប្រសិនបើខ្ញុំត្រូវការចាប់សំណើទាំងអស់ទៅកាន់តារាង “_InfoRg4312” ដែលមានរយៈពេលលើសពី 3 វិនាទីនៅក្នុងមូលដ្ឋានទិន្នន័យ “TestBase_8_2” នោះខ្ញុំធ្វើ៖
ក) ត្រងតាមមូលដ្ឋានទិន្នន័យ ឧទាហរណ៍ដែលបានបង្ហាញខាងលើ
ខ) ត្រងតាមរយៈពេលគិតជាមិល្លីវិនាទី។

គ) ត្រងតាមអត្ថបទសំណើ


នៅទីនេះយើងបញ្ជាក់របាំង។ ប្រសិនបើអ្នកត្រូវការតាមដានសំណួរដែលចូលប្រើតារាងច្រើន បន្ទាប់មកបង្កើតធាតុជាច្រើននៅក្នុងផ្នែក "ស្រដៀងនឹង"។ លក្ខខណ្ឌតម្រងទាំងអស់ដំណើរការជាមួយគ្នា។

7. ឥឡូវនេះអ្នកអាចដំណើរការដាន។ ចុច "រត់" បន្ទាប់ពីនោះការតាមដានចាប់ផ្តើមដំណើរការ ហើយអ្នកអាចឃើញព្រឹត្តិការណ៍ដែលអ្នកបានកំណត់រចនាសម្ព័ន្ធដើម្បីបង្ហាញ ហើយដែលធ្លាក់នៅក្រោមតម្រងរបស់អ្នក។ អ្នកអាចប្រើប៊ូតុងនៅលើរបារពាក្យបញ្ជាដើម្បីគ្រប់គ្រងដាន។


ពីឆ្វេងទៅស្តាំ៖ ជ័រលុប - សម្អាតបង្អួចតាមដាន, ចាប់ផ្តើម - ចាប់ផ្តើមតាមដាន, ផ្អាក - ផ្អាកការតាមដាន, ចុចលើ ចាប់ផ្តើមបន្តការតាមដាន, បញ្ឈប់ - បញ្ឈប់ការតាមដាន

8. បង្អួចតាមដានខ្លួនវាមានពីរផ្នែក។ នៅផ្នែកខាងលើមានព្រឹត្តិការណ៍ និងលក្ខណៈសម្បត្តិព្រឹត្តិការណ៍។ ផ្នែកខាងក្រោមបង្ហាញព័ត៌មានផ្សេងៗគ្នាអាស្រ័យលើប្រភេទនៃព្រឹត្តិការណ៍។ ក្នុងករណីរបស់យើង ទាំងអត្ថបទនៃសំណើ ឬផែនការរបស់វានឹងត្រូវបានបង្ហាញនៅទីនេះ។

9. តោះអនុវត្តសំណើនៅក្នុងកុងសូលសំណួរ 1C ហើយមើលពីរបៀបដែលវាត្រូវបានឆ្លុះបញ្ចាំងនៅក្នុង profiler ។


ដាន​បង្ហាញ​ថា​មាន​សំណើ​ជា​ច្រើន​ហើយ​មាន​តែ​មួយ​គត់​ក្នុង​ចំណោម​នោះ​ជា​របស់​យើង។ សំណើផ្សេងទៀតគឺសំណើសេវាកម្ម។

10. ពីលក្ខណៈសម្បត្តិនៃព្រឹត្តិការណ៍ អ្នកអាចយល់បានថា តើសំណួរត្រូវបានប្រតិបត្តិប៉ុន្មានវិនាទី (រយៈពេល) តើមានការអានឡូជីខលប៉ុន្មាន (អាន) តើមានជួរដេកប៉ុន្មានដែលសំណួរត្រឡប់ជាលទ្ធផល (RowCounts) ។ល។ ក្នុងករណីរបស់ខ្ញុំ សំណួរដំណើរការសម្រាប់ 2 មិល្លីវិនាទី បានធ្វើ 4 អានឡូជីខល ហើយបានត្រឡប់មកវិញ 1 ជួរ។

11. ប្រសិនបើយើងឡើងទៅលើព្រឹត្តិការណ៍មួយ យើងអាចមើលឃើញផែនការសំណួរជាទម្រង់ក្រាហ្វិក។
ដូចដែលអាចមើលឃើញពីផែនការ ការស្វែងរកត្រូវបានអនុវត្តដោយលិបិក្រមតាមតម្លៃ ទោះបីជាផែនការនេះមិនអាចត្រូវបានគេហៅថាជាឧត្តមគតិក៏ដោយ ដោយសារតែ លិបិក្រមមិនគ្របដណ្តប់ទេ វាលកូដ និងឈ្មោះត្រូវបានទទួលដោយប្រើ KeyLookup ដែលត្រូវចំណាយពេល 50% នៃពេលវេលា។


ដោយប្រើម៉ឺនុយបរិបទ ផែនការក្រាហ្វិកអាចត្រូវបានរក្សាទុកជាឯកសារដាច់ដោយឡែកជាមួយផ្នែកបន្ថែម *.SQLPlan ហើយបានបើកនៅក្នុង profiler នៅលើកុំព្យូទ័រផ្សេងទៀត ឬដោយប្រើកម្មវិធី SQL Sentry Plan Explorer កម្រិតខ្ពស់ជាងនេះ។

12. ប្រសិនបើយើងទៅកាន់តែខ្ពស់យើងនឹងឃើញផែនការសំណួរដូចគ្នាប៉ុន្តែជាទម្រង់អត្ថបទ។ វាគឺជាផែនការនេះដែលត្រូវបានបង្ហាញនៅក្នុង TZ, TsUP និងឧបករណ៍ត្រួតពិនិត្យការអនុវត្ត 1C ផ្សេងទៀត។ ដើម្បី​វិភាគ​វា ខ្ញុំ​សូម​ណែនាំ​ឱ្យ​ប្រើ​កម្មវិធី​កែ​អត្ថបទ​កម្រិត​ខ្ពស់​ដែល​មាន​ពន្លឺ​ខាងក្រោយ​ដូចជា Notepad++។

13. ខ្ញុំប្រើម៉ឺនុយ "File-Save As" ដានទាំងមូលអាចត្រូវបានរក្សាទុកក្នុងទម្រង់ផ្សេងៗគ្នា៖
a) នៅក្នុងទម្រង់នៃ profiler ខ្លួនវា, i.e. ជាមួយផ្នែកបន្ថែម *.trc
ខ) ក្នុងទម្រង់ xml
គ) អ្នកអាចបង្កើតគំរូពីដាន។ សូមមើលចំណុចបន្ទាប់។
ឃ) អ្នកអាចរក្សាទុកដានជាតារាងទិន្នន័យ។ មធ្យោបាយងាយស្រួលប្រសិនបើយើងត្រូវការស្វែងរកឧទាហរណ៍ សំណើយឺតបំផុតក្នុងដានទាំងមូល ឬជ្រើសរើសសំណើដោយប៉ារ៉ាម៉ែត្រមួយចំនួន។ ឯកសារ - រក្សាទុកជា - តារាងដាន - ជ្រើសរើសម៉ាស៊ីនមេ DBMS ហើយភ្ជាប់ទៅវា បន្ទាប់អ្នកត្រូវជ្រើសរើសមូលដ្ឋានទិន្នន័យនៅលើម៉ាស៊ីនមេដែលបានបញ្ជាក់ហើយបញ្ជាក់ឈ្មោះតារាងដែលដាននឹងត្រូវបានរក្សាទុក។ អ្នកអាចជ្រើសរើសតារាងដែលមានស្រាប់ ឬសរសេរឈ្មោះថ្មី ហើយបន្ទាប់មកតារាងនឹងត្រូវបានបង្កើតដោយស្វ័យប្រវត្តិនៅក្នុងមូលដ្ឋានទិន្នន័យដែលបានជ្រើសរើស។

វាគួរតែត្រូវបានគេយកទៅពិចារណាថា រយៈពេលត្រូវបានរក្សាទុកក្នុងតារាងគិតជាលានវិនាទី ហើយនៅពេលបង្ហាញលទ្ធផល វាត្រូវបានណែនាំឱ្យបំប្លែងតម្លៃទៅជាមីលីវិនាទី។ ជួរ RowNumber ក៏​ត្រូវ​បាន​បន្ថែម​ទៅ​តារាង ដែល​បង្ហាញ​ចំនួន​ជួរ​ដេក​នេះ​ក្នុង​ការ​តាមដាន។

14. ប្រសិនបើអ្នកជារឿយៗត្រូវប្រើ profiler ដើម្បីវិភាគសំណើ នោះការដំឡើងតម្រងចាំបាច់ និងព្រឹត្តិការណ៍នឹងក្លាយទៅជាគួរឱ្យធុញយ៉ាងឆាប់រហ័ស ហើយនឹងចំណាយពេលច្រើនផងដែរ។ គំរូដានមកជួយសង្គ្រោះ ដែលយើងបញ្ជាក់តម្រង និងលំដាប់ជួរឈរដែលយើងត្រូវការ ហើយបន្ទាប់មកគ្រាន់តែជ្រើសរើសគំរូនេះនៅពេលបង្កើតដានថ្មី។ ដើម្បីបង្កើតគំរូ សូមប្រើម៉ឺនុយ ឯកសារ - ពុម្ព - ​​គំរូថ្មី។

នៅលើផ្ទាំងដំបូងអ្វីគ្រប់យ៉ាងគឺសាមញ្ញ។ យើងចង្អុលបង្ហាញប្រភេទម៉ាស៊ីនមេ ឈ្មោះគំរូ ហើយប្រសិនបើចាំបាច់ កំណត់ទង់ដើម្បីប្រើគំរូនេះតាមលំនាំដើម។ នៅលើផ្ទាំងទីពីរ យើងជ្រើសរើសព្រឹត្តិការណ៍ និងកំណត់រចនាសម្ព័ន្ធតម្រង ដូចដែលបានបង្ហាញខាងលើរួចហើយ។ ខ្ញុំក៏សូមផ្តល់អនុសាសន៍ឱ្យកែតម្រូវលំដាប់នៃជួរឈរនៅក្នុងដាននេះ សន្សំពេលវេលានៅពេលវិភាគសំណួរ។ ជាឧទាហរណ៍ ខ្ញុំយល់ថាវាកាន់តែងាយស្រួលក្នុងការប្រើប្រាស់លំដាប់ខាងក្រោម។

ឥឡូវនេះ នៅពេលបង្កើតដានថ្មី អ្នកគ្រាន់តែអាចបញ្ជាក់គំរូដែលត្រូវការ បន្ទាប់មកតម្រង និងព្រឹត្តិការណ៍ទាំងអស់នឹងត្រូវបានបំពេញដោយស្វ័យប្រវត្តិនៅលើផ្ទាំងទីពីរ។

ជាការពិតណាស់មិនមែនគ្រប់វិធីដើម្បីប្រើឧបករណ៍ដ៏អស្ចារ្យនេះត្រូវបានបង្ហាញនៅទីនេះទេ ប្រសិនបើមានការចាប់អារម្មណ៍ពីទស្សនិកជននោះ នៅពេលអនាគតវានឹងអាចពង្រីកការប្រមូលអត្ថបទលើប្រធានបទនេះ។