Extended Events and SQL Server Profiler












1















I understood the concept of extended events and SQL SeErver profiler, I felt like both of them do the same work. I could not understand the major difference between them. Can anyone explain me the major difference between extended events and SQL Server Profiler? And when can we use in production environment? Is SQL Server Profiler preferable for production servers?










share|improve this question





























    1















    I understood the concept of extended events and SQL SeErver profiler, I felt like both of them do the same work. I could not understand the major difference between them. Can anyone explain me the major difference between extended events and SQL Server Profiler? And when can we use in production environment? Is SQL Server Profiler preferable for production servers?










    share|improve this question



























      1












      1








      1








      I understood the concept of extended events and SQL SeErver profiler, I felt like both of them do the same work. I could not understand the major difference between them. Can anyone explain me the major difference between extended events and SQL Server Profiler? And when can we use in production environment? Is SQL Server Profiler preferable for production servers?










      share|improve this question
















      I understood the concept of extended events and SQL SeErver profiler, I felt like both of them do the same work. I could not understand the major difference between them. Can anyone explain me the major difference between extended events and SQL Server Profiler? And when can we use in production environment? Is SQL Server Profiler preferable for production servers?







      sql-server-2012 sql-server-administration






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 21 '18 at 7:14









      marc_s

      581k13011221268




      581k13011221268










      asked Nov 21 '18 at 6:16









      RajeshRajesh

      61




      61
























          1 Answer
          1






          active

          oldest

          votes


















          0














          Profiler uses under the hood an outdatated and already deprecated technology, called SQL Trace. It isn't updated anymore to be possible to monitor newer engine functionality, e.g. memory optimized tables. So Extended Events has many more events that it can monitor than SQL Profiler:



          enter image description here



          It also has much more flexible outputs (targets). In addition to "classic" targets like file and ring buffer (where full information about the events is saved in "tabular" format), there are also event counter and histogram targets. They can help you achieve even lower overhead, because they simply counts how many times particular event occurred, without the overhead of saving the collected data. There is also pair_matching target, which could help you relate events to each other, like start and end of transaction for example.



          Another advantage of XE over Trace is that the definition of a trace is not human readable (at least not easily readable):



          enter image description here



          While XE definitions are more clear for normal people:



          enter image description here



          Trace still can be used, bu Extended events is the recommended way to monitor your production servers.






          share|improve this answer

























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53406250%2fextended-events-and-sql-server-profiler%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Profiler uses under the hood an outdatated and already deprecated technology, called SQL Trace. It isn't updated anymore to be possible to monitor newer engine functionality, e.g. memory optimized tables. So Extended Events has many more events that it can monitor than SQL Profiler:



            enter image description here



            It also has much more flexible outputs (targets). In addition to "classic" targets like file and ring buffer (where full information about the events is saved in "tabular" format), there are also event counter and histogram targets. They can help you achieve even lower overhead, because they simply counts how many times particular event occurred, without the overhead of saving the collected data. There is also pair_matching target, which could help you relate events to each other, like start and end of transaction for example.



            Another advantage of XE over Trace is that the definition of a trace is not human readable (at least not easily readable):



            enter image description here



            While XE definitions are more clear for normal people:



            enter image description here



            Trace still can be used, bu Extended events is the recommended way to monitor your production servers.






            share|improve this answer






























              0














              Profiler uses under the hood an outdatated and already deprecated technology, called SQL Trace. It isn't updated anymore to be possible to monitor newer engine functionality, e.g. memory optimized tables. So Extended Events has many more events that it can monitor than SQL Profiler:



              enter image description here



              It also has much more flexible outputs (targets). In addition to "classic" targets like file and ring buffer (where full information about the events is saved in "tabular" format), there are also event counter and histogram targets. They can help you achieve even lower overhead, because they simply counts how many times particular event occurred, without the overhead of saving the collected data. There is also pair_matching target, which could help you relate events to each other, like start and end of transaction for example.



              Another advantage of XE over Trace is that the definition of a trace is not human readable (at least not easily readable):



              enter image description here



              While XE definitions are more clear for normal people:



              enter image description here



              Trace still can be used, bu Extended events is the recommended way to monitor your production servers.






              share|improve this answer




























                0












                0








                0







                Profiler uses under the hood an outdatated and already deprecated technology, called SQL Trace. It isn't updated anymore to be possible to monitor newer engine functionality, e.g. memory optimized tables. So Extended Events has many more events that it can monitor than SQL Profiler:



                enter image description here



                It also has much more flexible outputs (targets). In addition to "classic" targets like file and ring buffer (where full information about the events is saved in "tabular" format), there are also event counter and histogram targets. They can help you achieve even lower overhead, because they simply counts how many times particular event occurred, without the overhead of saving the collected data. There is also pair_matching target, which could help you relate events to each other, like start and end of transaction for example.



                Another advantage of XE over Trace is that the definition of a trace is not human readable (at least not easily readable):



                enter image description here



                While XE definitions are more clear for normal people:



                enter image description here



                Trace still can be used, bu Extended events is the recommended way to monitor your production servers.






                share|improve this answer















                Profiler uses under the hood an outdatated and already deprecated technology, called SQL Trace. It isn't updated anymore to be possible to monitor newer engine functionality, e.g. memory optimized tables. So Extended Events has many more events that it can monitor than SQL Profiler:



                enter image description here



                It also has much more flexible outputs (targets). In addition to "classic" targets like file and ring buffer (where full information about the events is saved in "tabular" format), there are also event counter and histogram targets. They can help you achieve even lower overhead, because they simply counts how many times particular event occurred, without the overhead of saving the collected data. There is also pair_matching target, which could help you relate events to each other, like start and end of transaction for example.



                Another advantage of XE over Trace is that the definition of a trace is not human readable (at least not easily readable):



                enter image description here



                While XE definitions are more clear for normal people:



                enter image description here



                Trace still can be used, bu Extended events is the recommended way to monitor your production servers.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Nov 21 '18 at 17:27

























                answered Nov 21 '18 at 16:00









                Andrey NikolovAndrey Nikolov

                4,2883922




                4,2883922
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53406250%2fextended-events-and-sql-server-profiler%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Guess what letter conforming each word

                    Port of Spain

                    Run scheduled task as local user group (not BUILTIN)