{"id":500,"date":"2012-03-29T03:05:00","date_gmt":"2012-03-29T03:05:00","guid":{"rendered":"\/blogs\/joe\/post\/Capturing-session_id-scheduler-assignment-using-SQLCMD-Mode.aspx"},"modified":"2013-01-02T20:32:09","modified_gmt":"2013-01-03T04:32:09","slug":"capturing-session_id-scheduler-assignment-using-sqlcmd-mode","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/","title":{"rendered":"Capturing session_id scheduler assignment using SQLCMD Mode"},"content":{"rendered":"<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">Yesterday I was working on a SSMS SQLCMD-mode script and I noticed that periodically my session_id changed across test executions.<span>&nbsp; <\/span>I was tracking wait statistics based on specific session IDs, so I had to periodically add new session ids to my extended events session definition to make sure I captured my session&rsquo;s wait stats accordingly. It was an isolated instance, so I could rely on the various session ids only being associated with my test.<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">It got me thinking about capturing session_id and scheduler assignment using SQLCMD mode. I wasn&rsquo;t so much interested in the new session ids being used, but rather, I was interested in where my session ids were landing from a scheduler perspective. Certainly you could test this through an application, PowerShell script, etc. But SQLCMD mode offered a quick way to do this and I thought I would explore further.<\/font><span><font style=\"font-size: 11pt\">&nbsp; <\/font><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">There are a few scenarios that I thought would be interesting, but for now I&rsquo;ll just show one of them. For this scenario I had SQL Server instance (10.50.2500) with four visible schedulers and <em>without<\/em> multiple NUMA nodes (stay tuned on that for another time).<span>&nbsp; <\/span>I started off by creating a table in tempdb to track session_id, scheduler_id, parent_node_id, cpu_id and a counter of connects:<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span style=\"background-image: none; background-attachment: scroll; background-repeat: repeat; background-position: 0% 0%\"><font face=\"Lucida Console\"><font style=\"background-color: #c0c0c0; font-size: 9.5pt\">:CONNECT CAESAR<\/font><\/font><\/span><span><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">USE<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#008080\">tempdb<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">;<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><font style=\"font-size: 9.5pt\"><\/font><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">CREATE<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#0000ff\">TABLE<\/font><\/span> <span><font color=\"#008080\">[dbo]<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">[SQLCMDRoundRobin]<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">(<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">[sqlcmdroundrobin_id]<\/font><\/span> <span><font color=\"#008080\">[int]<\/font><\/span> <span><font color=\"#808080\">NOT<\/font><\/span> <span><font color=\"#808080\">NULL<\/font><\/span> <span><font color=\"#0000ff\">PRIMARY<\/font><\/span> <span><font color=\"#0000ff\">KEY<\/font><\/span> <span><font color=\"#0000ff\">CLUSTERED<\/font><\/span> <span><font color=\"#0000ff\">IDENTITY<\/font><\/span><span><font color=\"#808080\">(<\/font><\/span>1<span><font color=\"#808080\">,<\/font><\/span>1<\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">),<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">[session_id]<\/font><\/span> <span><font color=\"#008080\">[smallint]<\/font><\/span> <span><font color=\"#808080\">NOT<\/font><\/span> <\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">[scheduler_id]<\/font><\/span> <span><font color=\"#008080\">[int]<\/font><\/span> <span><font color=\"#808080\">NOT<\/font><\/span> <\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">[parent_node_id]<\/font><\/span> <span><font color=\"#008080\">[int]<\/font><\/span> <span><font color=\"#808080\">NOT<\/font><\/span> <\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">[cpu_id]<\/font><\/span> <span><font color=\"#008080\">[smallint]<\/font><\/span> <span><font color=\"#808080\">NOT<\/font><\/span> <\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">[connect_counter]<\/font><\/span> <span><font color=\"#008080\">[int]<\/font><\/span> <span><font color=\"#808080\">NOT<\/font><\/span> <\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">NULL<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#808080\"><font style=\"font-size: 9.5pt\">)<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#0000ff\">ON<\/font><\/span> <span><font color=\"#008080\">[PRIMARY]<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">;<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><font style=\"font-size: 9.5pt\"><\/font><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><font color=\"#0000ff\" style=\"font-size: 9.5pt\">GO<\/font><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\"><\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">Before I executed my test, I launched a separate background set of query executions (looping) which put the system under CPU pressure across all schedulers.<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<span><a href=\"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/767371b8\/clip_image0014.png\"><img fetchpriority=\"high\" decoding=\"async\" style=\"background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px\" src=\"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/7cba4846\/clip_image0014_thumb.png\" border=\"0\" alt=\"clip_image001[4]\" title=\"clip_image001[4]\" width=\"415\" height=\"460\" \/><\/a><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">Next, I connected using SQLCMD mode and used MERGE to INSERT\/UPDATE specific session_id\/scheduler_id combos.<span>&nbsp; <\/span>I used &ldquo;GO 10000&rdquo; to connect-and-execute 10,000 times:<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span style=\"background-image: none; background-attachment: scroll; background-repeat: repeat; background-position: 0% 0%\"><font face=\"Lucida Console\"><font style=\"background-color: #c0c0c0; font-size: 9.5pt\">:CONNECT CAESAR<\/font><\/font><\/span><span><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">USE<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#008080\">tempdb<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">;<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><font style=\"font-size: 9.5pt\"><\/font><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">SET<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#0000ff\">NOCOUNT<\/font><\/span> <span><font color=\"#0000ff\">ON<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">;<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><font style=\"font-size: 9.5pt\"><\/font><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">MERGE<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"><span>&nbsp; <\/span><span><font color=\"#008080\">dbo<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">SQLCMDRoundRobin<\/font><\/span> <span><font color=\"#0000ff\">AS<\/font><\/span> <\/font><span><font color=\"#0000ff\" style=\"font-size: 9.5pt\">target<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">USING <\/font><\/font><\/span><span><font color=\"#808080\" style=\"font-size: 9.5pt\">(<\/font><\/span><\/font><span><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#0000ff\">SELECT<\/font><\/span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span><font color=\"#008080\">r<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">session_id<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">,<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">s<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">scheduler_id<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">,<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">s<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">parent_node_id<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">,<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">s<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><\/font><span><font color=\"#008080\" style=\"font-size: 9.5pt\">cpu_id<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#0000ff\">FROM<\/font><\/span> <span><font color=\"#008000\">sys<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008000\">dm_exec_requests<\/font><\/span> <span><font color=\"#0000ff\">AS<\/font><\/span> <\/font><span><font color=\"#008080\" style=\"font-size: 9.5pt\">r<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#808080\">INNER<\/font><\/span> <span><font color=\"#808080\">JOIN<\/font><\/span> <span><font color=\"#008000\">sys<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008000\">dm_os_schedulers<\/font><\/span> <span><font color=\"#0000ff\">AS<\/font><\/span> <span><font color=\"#008080\">s<\/font><\/span> <\/font><span><font color=\"#0000ff\" style=\"font-size: 9.5pt\">ON<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">r<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">scheduler_id<\/font><\/span> <span><font color=\"#808080\">=<\/font><\/span> <span><font color=\"#008080\">s<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><\/font><span><font color=\"#008080\" style=\"font-size: 9.5pt\">scheduler_id<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#0000ff\">WHERE<\/font><\/span> <span><font color=\"#008080\">r<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">scheduler_id<\/font><\/span> <span><font color=\"#808080\">IS<\/font><\/span> <span><font color=\"#808080\">NOT<\/font><\/span> <span><font color=\"#808080\">NULL<\/font><\/span> <\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">AND<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#008080\">r<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">session_id<\/font><\/span> <span><font color=\"#808080\">=<\/font><\/span> <span><font color=\"#ff00ff\">@@SPID<\/font><\/span><span><font color=\"#808080\">)<\/font><\/span> <span><font color=\"#0000ff\">AS<\/font><\/span> <\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">source<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/font><\/span><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#808080\">(<\/font><\/span><span><font color=\"#008080\">session_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span><\/font><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#008080\">scheduler_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#008080\">parent_node_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#008080\">cpu_id<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">)<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">ON <\/font><\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#808080\">(<\/font><\/span><span><font color=\"#0000ff\">target<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">session_id<\/font><\/span><\/font><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#808080\">=<\/font><\/span> <span><font color=\"#808080\">source.<\/font><\/span><span><font color=\"#008080\">session_id<\/font><\/span> <\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">AND<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#0000ff\">target<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">scheduler_id<\/font><\/span> <span><font color=\"#808080\">=<\/font><\/span> <span><font color=\"#808080\">source.<\/font><\/span><span><font color=\"#008080\">scheduler_id<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">)<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">WHEN<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#808080\">MATCHED<\/font><\/span> <span><font color=\"#0000ff\">THEN<\/font><\/span> <\/font><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#ff00ff\">UPDATE<\/font><\/span> <span><font color=\"#0000ff\">SET<\/font><\/span> <span><font color=\"#008080\">connect_counter<\/font><\/span> <span><font color=\"#808080\">=<\/font><\/span> <span><font color=\"#0000ff\">target<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><span><font color=\"#008080\">connect_counter<\/font><\/span><span>&nbsp; <\/span><span><font color=\"#808080\">+<\/font><\/span> 1<\/font><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">WHEN<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#808080\">NOT<\/font><\/span> <span><font color=\"#808080\">MATCHED<\/font><\/span> <\/font><span><font color=\"#0000ff\" style=\"font-size: 9.5pt\">THEN<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#0000ff\">INSERT <\/font><\/span><span><font color=\"#808080\">(<\/font><\/span><span><font color=\"#008080\">session_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#008080\">scheduler_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#008080\">parent_node_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#008080\">cpu_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#008080\">connect_counter<\/font><\/span> <\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">)<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span><font color=\"#0000ff\">VALUES <\/font><\/span><span><font color=\"#808080\">(source.<\/font><\/span><span><font color=\"#008080\">session_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#808080\">source.<\/font><\/span><span><font color=\"#008080\">scheduler_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <\/font><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><span><font style=\"font-size: 9.5pt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/font><\/span><font style=\"font-size: 9.5pt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span><font color=\"#808080\">source.<\/font><\/span><span><font color=\"#008080\">parent_node_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#808080\">source.<\/font><\/span><span><font color=\"#008080\">cpu_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span><span>&nbsp; <\/span>1<\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">);<\/font><\/span><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><font style=\"font-size: 9.5pt\"><\/font><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">GO<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> 10000<\/font><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\"><\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">Then I executed the following query to look at the distribution based on every SQLCMD connect:<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span style=\"background-image: none; background-attachment: scroll; background-repeat: repeat; background-position: 0% 0%\"><font face=\"Lucida Console\"><font style=\"background-color: #c0c0c0; font-size: 9.5pt\">:CONNECT CAESAR<\/font><\/font><\/span><span><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">USE<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#008080\">tempdb<\/font><\/span><\/font><span><font color=\"#808080\" style=\"font-size: 9.5pt\">;<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">SELECT<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#008080\">session_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#008080\">scheduler_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#008080\">parent_node_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <span><font color=\"#008080\">cpu_id<\/font><\/span><span><font color=\"#808080\">,<\/font><\/span> <\/font><span><font color=\"#008080\" style=\"font-size: 9.5pt\">connect_counter<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<font face=\"Lucida Console\"><span><font color=\"#0000ff\"><font style=\"font-size: 9.5pt\">FROM<\/font><\/font><\/span><span><font style=\"font-size: 9.5pt\"> <span><font color=\"#008080\">[dbo]<\/font><\/span><span><font color=\"#808080\">.<\/font><\/span><\/font><span><font color=\"#008080\" style=\"font-size: 9.5pt\">[SQLCMDRoundRobin];<\/font><\/span><\/span><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><font color=\"#0000ff\" style=\"font-size: 9.5pt\">GO<\/font><\/font><\/span><span><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n<span><font face=\"Lucida Console\"><font style=\"font-size: 9.5pt\"><\/font><\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">This returned:<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<span><a href=\"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/51097e4a\/clip_image0034.png\"><img decoding=\"async\" style=\"background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px\" src=\"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/14717fad\/clip_image0034_thumb.png\" border=\"0\" alt=\"clip_image003[4]\" title=\"clip_image003[4]\" width=\"720\" height=\"137\" \/><\/a><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">Removing all concurrent activity, I saw the following distribution instead:<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<span><a href=\"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/1ab8563b\/clip_image0054.png\"><img decoding=\"async\" style=\"background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px\" src=\"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/5a1609cb\/clip_image0054_thumb.png\" border=\"0\" alt=\"clip_image005[4]\" title=\"clip_image005[4]\" width=\"720\" height=\"70\" \/><\/a><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">I also tested the workload and CPU driving background activity with the processor affinity mask explicitly set, and the distribution was as follows:<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<span><a href=\"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/2e653fcf\/clip_image0074.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px\" src=\"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/1fba93ea\/clip_image0074_thumb.png\" border=\"0\" alt=\"clip_image007[4]\" title=\"clip_image007[4]\" width=\"720\" height=\"136\" \/><\/a><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0.5in\" class=\"MsoNormal\" align=\"justify\">\n<font face=\"Calibri\"><font style=\"font-size: 11pt\">I&rsquo;d like to apply this framework to more scenarios &ndash; including for those on NUMA systems and also against a wider variety of workloads, since this has an impact on how the sessions will get distributed.<span>&nbsp; <\/span>When I get the chance, I&rsquo;ll write about the observations here, but I thought I would share the capturing method in the meantime.<\/font><\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday I was working on a SSMS SQLCMD-mode script and I noticed that periodically my session_id changed across test executions.&nbsp; I was tracking wait statistics based on specific session IDs, so I had to periodically add new session ids to my extended events session definition to make sure I captured my session&rsquo;s wait stats accordingly. [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[],"class_list":["post-500","post","type-post","status-publish","format-standard","hentry","category-performance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.9.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Capturing session_id scheduler assignment using SQLCMD Mode - Joe Sack<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Capturing session_id scheduler assignment using SQLCMD Mode - Joe Sack\" \/>\n<meta property=\"og:description\" content=\"Yesterday I was working on a SSMS SQLCMD-mode script and I noticed that periodically my session_id changed across test executions.&nbsp; I was tracking wait statistics based on specific session IDs, so I had to periodically add new session ids to my extended events session definition to make sure I captured my session&rsquo;s wait stats accordingly. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/\" \/>\n<meta property=\"og:site_name\" content=\"Joe Sack\" \/>\n<meta property=\"article:published_time\" content=\"2012-03-29T03:05:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-01-03T04:32:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/7cba4846\/clip_image0014_thumb.png\" \/>\n<meta name=\"author\" content=\"Joseph Sack\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joseph Sack\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/\",\"name\":\"Capturing session_id scheduler assignment using SQLCMD Mode - Joe Sack\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#website\"},\"datePublished\":\"2012-03-29T03:05:00+00:00\",\"dateModified\":\"2013-01-03T04:32:09+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Performance\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/category\/performance\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Capturing session_id scheduler assignment using SQLCMD Mode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/\",\"name\":\"Joe Sack\",\"description\":\"SQL Server Performance Tuning, High Availability and Disaster Recovery Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648\",\"name\":\"Joseph Sack\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g\",\"caption\":\"Joseph Sack\"},\"description\":\"Joe Sack is a Principal Consultant with SQLskills. He has worked as a SQL Server professional since 1997 and has supported and developed for SQL Server environments in financial services, IT consulting, manufacturing, retail and the real estate industry. Prior to joining SQLskills he worked at Microsoft as a Premier Field Engineer supporting very large enterprise customer environments. He was responsible for providing deep SQL Server advisory services, training, troubleshooting and ongoing solutions guidance. His areas of expertise include performance tuning, scalability, T-SQL development and high-availability. In 2006 Joe earned the \u201cMicrosoft Certified Master: SQL Server 2005\u201d certification and in 2008 he earned the \u201cMicrosoft Certified Master: SQL Server 2008\u201d certification. In 2009 he took over responsibility for the entire SQL Server Microsoft Certified Master program and held that post until 2011. He was given the SQL Server MVP award in 2013.\",\"sameAs\":[\"http:\/\/3.209.169.194\/blogs\/joe\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/josephsack\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/author\/joe\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Capturing session_id scheduler assignment using SQLCMD Mode - Joe Sack","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/","og_locale":"en_US","og_type":"article","og_title":"Capturing session_id scheduler assignment using SQLCMD Mode - Joe Sack","og_description":"Yesterday I was working on a SSMS SQLCMD-mode script and I noticed that periodically my session_id changed across test executions.&nbsp; I was tracking wait statistics based on specific session IDs, so I had to periodically add new session ids to my extended events session definition to make sure I captured my session&rsquo;s wait stats accordingly. [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/","og_site_name":"Joe Sack","article_published_time":"2012-03-29T03:05:00+00:00","article_modified_time":"2013-01-03T04:32:09+00:00","og_image":[{"url":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-content\/uploads\/windows-live-writer\/capturing-session_id-scheduler-assignmen\/7cba4846\/clip_image0014_thumb.png"}],"author":"Joseph Sack","twitter_misc":{"Written by":"Joseph Sack","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/","url":"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/","name":"Capturing session_id scheduler assignment using SQLCMD Mode - Joe Sack","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#website"},"datePublished":"2012-03-29T03:05:00+00:00","dateModified":"2013-01-03T04:32:09+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/capturing-session_id-scheduler-assignment-using-sqlcmd-mode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/joe\/"},{"@type":"ListItem","position":2,"name":"Performance","item":"https:\/\/www.sqlskills.com\/blogs\/joe\/category\/performance\/"},{"@type":"ListItem","position":3,"name":"Capturing session_id scheduler assignment using SQLCMD Mode"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/joe\/","name":"Joe Sack","description":"SQL Server Performance Tuning, High Availability and Disaster Recovery Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/joe\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648","name":"Joseph Sack","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g","caption":"Joseph Sack"},"description":"Joe Sack is a Principal Consultant with SQLskills. He has worked as a SQL Server professional since 1997 and has supported and developed for SQL Server environments in financial services, IT consulting, manufacturing, retail and the real estate industry. Prior to joining SQLskills he worked at Microsoft as a Premier Field Engineer supporting very large enterprise customer environments. He was responsible for providing deep SQL Server advisory services, training, troubleshooting and ongoing solutions guidance. His areas of expertise include performance tuning, scalability, T-SQL development and high-availability. In 2006 Joe earned the \u201cMicrosoft Certified Master: SQL Server 2005\u201d certification and in 2008 he earned the \u201cMicrosoft Certified Master: SQL Server 2008\u201d certification. In 2009 he took over responsibility for the entire SQL Server Microsoft Certified Master program and held that post until 2011. He was given the SQL Server MVP award in 2013.","sameAs":["http:\/\/3.209.169.194\/blogs\/joe","https:\/\/twitter.com\/https:\/\/twitter.com\/josephsack"],"url":"https:\/\/www.sqlskills.com\/blogs\/joe\/author\/joe\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/posts\/500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/comments?post=500"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/posts\/500\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/media?parent=500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/categories?post=500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/tags?post=500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}