<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jason L. Froebe - Tech tips and How Tos for Fellow Techies &#187; sql</title>
	<atom:link href="http://froebe.net/blog/index.php/tag/sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://froebe.net/blog</link>
	<description>Tips &#38; Tricks for Databases (Sybase, Oracle, MySQL, PostgreSQL, SQLite), Windows, Linux, Solaris, Perl, Java, Bash and so much much more</description>
	<lastBuildDate>Sat, 07 Jan 2012 22:12:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Wanted:  Technical Support Analyst &#8211; WebSphere Linux SQL (2 positions available)</title>
		<link>http://froebe.net/blog/2011/11/28/wanted-technical-support-analyst-websphere-linux-sql/</link>
		<comments>http://froebe.net/blog/2011/11/28/wanted-technical-support-analyst-websphere-linux-sql/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 17:29:44 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[Jobs]]></category>
		<category><![CDATA[analyst]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[tse]]></category>
		<category><![CDATA[websphere]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=1354</guid>
		<description><![CDATA[Position Responsibilities POSITION OVERVIEW The Technical Support Analyst for SunGard InvestOne&#8217;s global clients will be responsible for hands-on technical troubleshooting and support across a variety of platforms for a broad customer client base. This position is part of a global team with local responsibilities from 8am to 8pm. The Analyst will be responsible for Tier [...]]]></description>
			<content:encoded><![CDATA[<p>Position Responsibilities </p>
<p>POSITION OVERVIEW</p>
<p>The Technical Support Analyst for SunGard InvestOne&#8217;s global clients will be responsible for hands-on technical troubleshooting and support across a variety of platforms for a broad customer client base.  This position is part of a global team with local responsibilities from 8am to 8pm.</p>
<p>The Analyst will be responsible for Tier 1 level support, which includes break/fix management and communications to internal stake holders regarding status and problem tracking.  </p>
<p>He/She will also be responsible for performance, availability and customer satisfaction for all levels of a series of n-tier distributed web based applications.</p>
<p>PRIMARY RESPONSIBILITIES</p>
<p>•	Monitor error alerts from various systems<br />
•	Document incidents as warranted<br />
•	Answer client questions relating to technical aspects of the application<br />
•	Adhere to change control policies<br />
•	Responsible for first level technical system support for multiple customers along with implementation of network connectivity for new and existing customers<br />
•	Position is 80% technical and 20% project/customer management<br />
•	Participation on an on-call rotation is required<br />
•	Occasional weekend work is required</p>
<p>Position Requirements </p>
<p>•	Bachelor’s degree, preferably in an IT-related discipline, or the equivalent of education and experience<br />
•	Minimum of five years of related, technical experience, preferably in the financial systems industry<br />
•	Experience with troubleshooting, diagnosis and resolution of complex technical issues as well as escalation for complex web based applications<br />
•	Knowledge of Windows and Linux administration<br />
•	Knowledge of WebSphere<br />
•	Experience with Transact SQL, preferably Sybase<br />
•	Excellent communications skills and ability to translate technical concepts<br />
•	Excellent interpersonal, analytical, business and technical judgment, negotiation, problem solving, verbal and written communication skills<br />
•	Critical thinking skills and a mature approach to troubleshooting is critical<br />
•	Knowledge of investment accounting principles is a big plus<br />
•	Previous experience as Java developer is desired<br />
•	ITIL certification is desired but not required</p>
<p>Interested? (say I referred you on the <a href="http://careers.peopleclick.com/careerscp/client_sungard/external/jobDetails.do?functionName=getJobDetail&#038;jobPostId=25845&#038;localeCode=en-us">application form</a>) or <a href="http://careers.peopleclick.com/careerscp/client_sungard/external/jobDetails.do?functionName=getJobDetail&#038;jobPostId=25841&#038;localeCode=en-us">this one</a></p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2011/11/28/wanted-technical-support-analyst-websphere-linux-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Should ORMs Insulate Developers from SQL?</title>
		<link>http://froebe.net/blog/2009/02/04/should-orms-insulate-developers-from-sql/</link>
		<comments>http://froebe.net/blog/2009/02/04/should-orms-insulate-developers-from-sql/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 14:00:04 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[code commit blog]]></category>
		<category><![CDATA[daniel spiewak]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[object relational mapping]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=841</guid>
		<description><![CDATA[I&#8217;ve been sick the past few days, so I have been hitting the &#8220;Stumble&#8221; button a lot on my laptop. Last night I ran across a very interesting blog post by Daniel Spiewak on his Code Commit blog: This is a question which is fundamental to any ORM design.  And really from a philosophical standpoint, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been sick the past few days, so I have been hitting the &#8220;Stumble&#8221; button a lot on my laptop. Last night I ran across a very interesting blog post by Daniel Spiewak<strong> </strong>on his <a href="http://www.codecommit.com/blog/">Code Commit blog</a>:</p>
<blockquote><p><em>This is a question which is fundamental to any ORM design.  And really from a philosophical standpoint, how should ORMs deal with SQL?  Isn’t the whole point of the ORM to sit between the developer and the database as an all-encompassing, object oriented layer?</em></p>
<p><a href="http://www.codecommit.com/blog/database/should-orms-insulate-developers-from-sql">read more&#8230;</a></p></blockquote>
<p>What do you think?  Is he on to something?</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2009/02/04/should-orms-insulate-developers-from-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>unable to create a SQL UDF in Sybase ASE using a case statement</title>
		<link>http://froebe.net/blog/2008/07/09/unable-to-create-a-sql-udf-in-sybae-ase-using-a-case-statement/</link>
		<comments>http://froebe.net/blog/2008/07/09/unable-to-create-a-sql-udf-in-sybae-ase-using-a-case-statement/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 19:37:47 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[ASE]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[SQL UDF]]></category>
		<category><![CDATA[tap]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[tsql]]></category>
		<category><![CDATA[user defined function]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/?p=554</guid>
		<description><![CDATA[create function ok &#40;@boolean bit&#41; returns varchar&#40;2000&#41; as declare @output_string varchar&#40;2000&#41; select @output_string = case when @boolean = 1 then &#34;&#34; else &#34;not &#34; end set @output_string = @output_string + &#34;ok&#34; return @output_string end Msg 156, Level 15, State 2 Server &#8216;DBADEV1&#8242;, Procedure &#8216;ok&#8217;, Line 7 Incorrect syntax near the keyword &#8216;end&#8217;. I&#8217;m trying to [...]]]></description>
			<content:encoded><![CDATA[<div class="tsql dean_ch"><span class="kw1">create</span> <span class="kw1">function</span> ok <span class="br0">&#40;</span>@<span class="kw1">boolean</span> <span class="kw1">bit</span><span class="br0">&#41;</span><br />
<span class="kw1">returns</span> <span class="kw1">varchar</span><span class="br0">&#40;</span><span class="nu0">2000</span><span class="br0">&#41;</span> <span class="kw1">as</span><br />
<span class="kw1">declare</span> @output_string <span class="kw1">varchar</span><span class="br0">&#40;</span><span class="nu0">2000</span><span class="br0">&#41;</span><br />
<span class="kw1">select</span> @output_string <span class="sy0">=</span> <span class="kw1">case</span> <span class="kw1">when</span> @<span class="kw1">boolean</span> <span class="sy0">=</span> <span class="nu0">1</span> <span class="kw1">then</span> <span class="st0">&quot;&quot;</span> <span class="kw1">else</span> <span class="st0">&quot;not &quot;</span> <span class="kw1">end</span><br />
<span class="kw1">set</span> @output_string <span class="sy0">=</span> @output_string <span class="sy0">+</span> <span class="st0">&quot;ok&quot;</span><br />
<span class="kw1">return</span> @output_string<br />
<span class="kw1">end</span></div>
<p>Msg 156, Level 15, State 2<br />
Server &#8216;DBADEV1&#8242;, Procedure &#8216;ok&#8217;, Line 7<br />
Incorrect syntax near the keyword &#8216;end&#8217;.<br />
I&#8217;m trying to write an ASE implementation of TAP.  A rudimentary TAP implementation for PostgreSQL is at <a href="http://www.justatheory.com/computers/databases/postgresql/introducing_pgtap.html">http://www.justatheory.com/computers/databases/postgresql/introducing_pgtap.html </a><br />
I&#8217;ve been able to use case in SQL UDFs before &#8211; see <a href="http://froebe.net/blog/2007/10/10/porting-mysqls-date_format-function-to-sybase-ase-1502/">http://froebe.net/blog/2007/10/10/porting-mysqls-date_format-function-to-sybase-ase-1502/</a><br />
Adaptive Server Enterprise/15.0.2/EBF 15654 ESD#4/P/Linux Intel/Linux 2.4.21-47.ELsmp i686/ase1502/2528/32-bit/FBO/Sat Apr 5 05:18:42 2008<br />
I&#8217;m just missing something blindingly simple&#8230; I just know it.</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2008/07/09/unable-to-create-a-sql-udf-in-sybae-ase-using-a-case-statement/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>FW:  Learn to Love SQL Development Webcast (Sybase Workspace)</title>
		<link>http://froebe.net/blog/2008/01/24/fw-learn-to-love-sql-development-webcast-sybase-workspace/</link>
		<comments>http://froebe.net/blog/2008/01/24/fw-learn-to-love-sql-development-webcast-sybase-workspace/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 22:28:03 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[Workspace]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/2008/01/24/fw-learn-to-love-sql-development-webcast-sybase-workspace/</guid>
		<description><![CDATA[From the Sybase Workspace 2.0 team: Thursday, February 14, 2008 1:00 pm EDT / 10:00 am PDT Join us on Valentine&#8217;s Day and you will learn how to: Visually debug stored procedures and triggers Visually create and edit tables, stored procedures and events Navigate and manipulate database objects in the enterprise Export and import database [...]]]></description>
			<content:encoded><![CDATA[<p>From the Sybase Workspace 2.0 team:</p>
<blockquote><p>Thursday, February 14, 2008<br />
1:00 pm EDT / 10:00 am PDT</p>
<p>Join us on Valentine&#8217;s Day and you will learn how to:</p>
<ul>
<li>Visually debug stored procedures and triggers</li>
<li>Visually create and edit tables, stored procedures and events</li>
<li>Navigate and manipulate database objects in the enterprise</li>
<li>Export and import database objects and services to database server</li>
</ul>
</blockquote>
<p>Don&#8217;t forget to <a href="http://response.sybase.com/forms/NAO_NA_08_FEB_WBCST_Workspace_AMP" title="Learn to Love SQL Development Webcast (Sybase Workspace)">sign up for the webcast</a>! <img src='http://froebe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Sybase will send the dial in/web address to your email so you can participate.</p>
<p>I&#8217;m not sure if this is the same presentation as <a href="http://www.sybase.com/detail?id=1049648"><em>Sybase WorkSpace for ASE:  Learn to Love SQL Development Webinar</em></a> that was hosted by Samir Nigam, Director of Engineering at Sybase, last month.</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2008/01/24/fw-learn-to-love-sql-development-webcast-sybase-workspace/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to colorize your code using Perl and Syntax::Highlight::Engine::Kate</title>
		<link>http://froebe.net/blog/2007/08/30/how-to-colorize-your-code-using-perl-and-syntaxhighlightenginekate/</link>
		<comments>http://froebe.net/blog/2007/08/30/how-to-colorize-your-code-using-perl-and-syntaxhighlightenginekate/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 19:10:55 +0000</pubDate>
		<dc:creator>Jason L Froebe</dc:creator>
				<category><![CDATA[ASE]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[highlighting]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://froebe.net/blog/2007/08/30/how-to-colorize-your-code-using-perl-and-syntaxhighlightenginekate/</guid>
		<description><![CDATA[Yesterday I was scratching my head on how to send an email to myself when an application failed or a certain error occurred. You see, I wanted to be able to read an email on my crackberry (Blackberry) that showed that a problem occurred and more importantly, I wanted the error messages and the snippet [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I was scratching my head on how to send an email to myself when an application failed or a certain error occurred.  You see, I wanted to be able to read an email on my crackberry (Blackberry) that showed that a problem occurred and more importantly, I wanted the error messages and the snippet of code where the problem occurred.</p>
<p>The first part of sending the email was very simple by using <a href="http://search.cpan.org/~mivkovic/Mail-Sendmail/Sendmail.pm">Mail::Sendmail</a>, but I wanted to extend it a bit by sending <em>highlighted</em> code.  The problem is that the <a href="http://search.cpan.org/dist/Syntax-Highlight-Engine-Kate/lib/Syntax/Highlight/Engine/Kate.pod">documentation of Syntax::Highlight::Engine::Kate</a> isn&#8217;t too clear on how to use it.</p>
<p>The <a href="http://search.cpan.org/dist/Syntax-Highlight-Engine-Kate/">Syntax::Highlight::Engine::Kate</a> is surprisingly easy to use once you understand that Kate just parses whatever string you give it for tokens and lets you handle how you want each type of token highlighted.  In truth, you could easily forsake HTML and have it spit out XML or something else if you so desired.</p>
<div class="perl dean_ch"><a href="http://perldoc.perl.org/functions/package.html"><span class="kw3">package</span></a> dbS<span class="sy0">::</span><span class="me2">misc</span><span class="sy0">;</span><br />
<span class="kw2">use</span> strict<span class="sy0">;</span><br />
<span class="kw2">use</span> warnings<span class="sy0">;</span></p>
<p><span class="kw1">our</span> <span class="re0">$PROC</span> <span class="sy0">=</span> basename<span class="br0">&#40;</span><span class="co3">$0</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p><span class="kw2">BEGIN</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw2">use</span> Exporter <span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; <span class="kw1">our</span> <span class="br0">&#40;</span><span class="re0">$VERSION</span><span class="sy0">,</span> <span class="re0">@ISA</span><span class="sy0">,</span> <span class="re0">@EXPORT</span><span class="sy0">,</span> <span class="re0">@EXPORT_OK</span><span class="sy0">,</span> <span class="re0">%EXPORT_TAGS</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">$VERSION</span> <span class="sy0">=</span> 1<span class="sy0">.</span>0<span class="sy0">.</span>0<span class="sy0">;</span></p>
<p>&nbsp; &nbsp; <span class="re0">@ISA</span> <span class="sy0">=</span> <a href="http://perldoc.perl.org/functions/qw.html"><span class="kw3">qw</span></a><span class="br0">&#40;</span>Exporter<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">@EXPORT</span> <span class="sy0">=</span> <a href="http://perldoc.perl.org/functions/qw.html"><span class="kw3">qw</span></a><span class="br0">&#40;</span><span class="re0">&amp;amp</span><span class="sy0">;</span>any_to_html<span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw2">sub</span> any_to_html <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">my</span> <span class="br0">&#40;</span><span class="re0">$type</span><span class="sy0">,</span> <span class="re0">$content</span><span class="br0">&#41;</span> <span class="sy0">=</span> <span class="co5">@_</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/require.html"><span class="kw3">require</span></a> Syntax<span class="sy0">::</span><span class="me2">Highlight</span><span class="sy0">::</span><span class="me2">Engine</span><span class="sy0">::</span><span class="me2">Kate</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$hl</span> <span class="sy0">=</span> <span class="kw2">new</span> Syntax<span class="sy0">::</span><span class="me2">Highlight</span><span class="sy0">::</span><span class="me2">Engine</span><span class="sy0">::</span><span class="me2">Kate</span><span class="br0">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; language <span class="sy0">=&gt;</span> <span class="re0">$type</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; substitutions <span class="sy0">=&gt;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;&lt; &quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;&lt;&quot;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;&gt;&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;&gt;&quot;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;&amp;amp;&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;&amp;amp;&quot;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot; &quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot; &quot;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;<span class="es0">\\</span>t&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;   &quot;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;<span class="es0">\\</span>n&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;<span class="es0">\\</span>n&quot;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; format_table <span class="sy0">=&gt;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Alert <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#0000ff;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BaseN <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#000000;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BString <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#00c9ff;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Char <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#00ffff;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Comment <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#007f7f;&quot;&gt;&lt;em&gt;&quot;, &quot;&lt;/em&gt;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DataType <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#0000ff;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DecVal <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#00007f;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Error <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#00ff00;&quot;&gt;&lt;strong&gt;&lt;em&gt;&quot;, &quot;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Float <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#00007f;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Function <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#000000;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IString <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#00ff00;&quot;&gt;&quot;, &quot;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Keyword <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;/span&gt;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#000e00;&quot;&gt;&lt;strong&gt;&quot;, &quot;&lt;/strong&gt;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Normal <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="br0">&#93;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Operator <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#00ff00;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Others <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#00b060;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RegionMarker <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#0096ff;&quot;&gt;&lt;em&gt;&quot;, &quot;&lt;/em&gt;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Reserved <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#009bff;&quot;&gt;&lt;strong&gt;&quot;, &quot;&lt;/strong&gt;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#00ff00;&quot;&gt;&quot;, &quot;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Variable <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#0000ff;&quot;&gt;&lt;strong&gt;&quot;, &quot;&lt;/strong&gt;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Warning <span class="sy0">=&gt;</span> <span class="br0">&#91;</span><span class="st0">&quot;&lt;span style=&quot;</span>color<span class="sy0">:</span> <span class="co1">#0000ff;&quot;&gt;&lt;strong&gt;&lt;em&gt;&quot;, &quot;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&quot;],</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/return.html"><span class="kw3">return</span></a> <span class="re0">$hl</span><span class="sy0">-&gt;</span><span class="me1">highlightText</span><span class="br0">&#40;</span><span class="re0">$content</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="nu0">1</span><span class="sy0">;</span></div>
<p>I wrote a wrapper subroutine for Syntax::Highlight::Engine::Kate so I can just call any_to_html(&#8216;parsing template&#8217;, $string) and it will return HTML code.</p>
<div class="perl dean_ch"><span class="co1">#!/usr/bin/perl</span></p>
<p><span class="kw2">use</span> strict<span class="sy0">;</span><br />
<span class="kw2">use</span> warnings<span class="sy0">;</span></p>
<p><span class="kw2">use</span> File<span class="sy0">::</span><span class="me2">Basename</span><span class="sy0">;</span><br />
<span class="kw2">use</span> Syntax<span class="sy0">::</span><span class="me2">Highlight</span><span class="sy0">::</span><span class="me2">Engine</span><span class="sy0">::</span><span class="me2">Kate</span><span class="sy0">;</span></p>
<p><span class="kw2">use</span> dbS<span class="sy0">::</span><span class="me2">misc</span><span class="sy0">;</span><br />
<span class="kw2">use</span> dbS<span class="sy0">::</span><span class="me2">Sybase</span><span class="sy0">::</span><span class="me2">Parse</span><span class="sy0">::</span><span class="me2">SQL_File</span><span class="sy0">;</span></p>
<p><span class="kw1">our</span> <span class="re0">$PROC</span> <span class="sy0">=</span> basename<span class="br0">&#40;</span><span class="co3">$0</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p><span class="co5">$|</span><span class="sy0">++;</span></p>
<p><span class="kw1">my</span> <span class="re0">$message</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></p>
<p><span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw1">my</span> <span class="re0">$sql_batch</span> <span class="sy0">=</span> dbS<span class="sy0">::</span><span class="me2">Sybase</span><span class="sy0">::</span><span class="me2">Parse</span><span class="sy0">::</span><span class="me2">SQL_File</span><span class="sy0">::</span><span class="me2">get_batch</span><span class="br0">&#40;</span><span class="st0">&quot;/dbms/sybase/ASE-15_0/scripts/installmontables&quot;</span><span class="sy0">,</span> <a href="http://perldoc.perl.org/functions/undef.html"><span class="kw3">undef</span></a><span class="sy0">,</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span><span class="kw1">my</span> <span class="re0">$query</span> <span class="sy0">=</span> <span class="re0">$sql_batch</span><span class="sy0">-&gt;</span><span class="me1">next</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$message</span> <span class="sy0">.=</span> <span class="re0">$query</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$message</span> <span class="sy0">.=</span> <span class="st0">&quot;go<span class="es0">\\</span>n<span class="es0">\\</span>n&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/warn.html"><span class="kw3">warn</span></a><span class="br0">&#40;</span><span class="st0">&quot;unable to open the SQL file<span class="es0">\\</span>n&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></p>
<p><a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="re0">$message</span></div>
<p>The language option (a parsing template) and format_table option (token into html code) are required but the substitutions option is optional but I strongly recommend using it else the output will look odd.</p>
<p>The following is the output of $SYBASE/$SYBASE_ASE/scripts/installmontables using our little application.  Note that we are reading the <a href="http://www.froebe.net/blog/2007/08/27/how-to-read-batches-of-sql-from-a-file-in-perl/">batches one by one</a> (just because we can) even though it isn&#8217;t necessary for this example.</p>
<p><span id="more-340"></span><br />
print <span style="color: #b03060;">&#8220;It is no longer necessary to run this script to install the Monitoring Tables.&#8221;</span><br />
print <span style="color: #b03060;">&#8220;Monitoring Tables are now installed by the installmaster script.&#8221;</span><br />
print <span style="color: #b03060;">&#8220;&#8221;</span><br />
print <span style="color: #b03060;">&#8220;This installmontables script is provided as a sample that can be copied and&#8221;</span><br />
print <span style="color: #b03060;">&#8220;modified to support remote access of Monitoring Tables. To do so you need to:&#8221;</span><br />
print <span style="color: #b03060;">&#8220;1) Replace all instances of @SERVER@ with the name of the remote ASE from which&#8221;</span><br />
print <span style="color: #b03060;">&#8220;   monitoring data is to be obtained. Note that each remote ASE to be monitored&#8221;</span><br />
print <span style="color: #b03060;">&#8220;   must be added to the local ASE&#8217;s sysservers table using sp_addserver.&#8221;</span><br />
print <span style="color: #b03060;">&#8220;2) Create a database with the same name as the remote ASE. This database need &#8221;</span><br />
print <span style="color: #b03060;">&#8220;   only be of the minimum size as these tables do not store any data.&#8221;</span><br />
print <span style="color: #b03060;">&#8220;3) Remove this header (i.e. these first 21 lines).&#8221;</span><br />
print <span style="color: #b03060;">&#8220;4) Run the script against the local ASE using the isql utility as follows:&#8221;</span><br />
print <span style="color: #b03060;">&#8220;   isql -Usa -P&lt;password&gt; -S&lt;server name&gt; -i&lt;script name&gt;&#8221;</span><br />
print <span style="color: #b03060;">&#8220;5) Retrieve remote monitoring data. E.g. to obtain monEngine information for an&#8221;</span><br />
print <span style="color: #b03060;">&#8220;   ASE named REMASE you would execute the following SQL:&#8221;</span><br />
print <span style="color: #b03060;">&#8220;        use REMASE&#8221;</span><br />
print <span style="color: #b03060;">&#8220;        go&#8221;</span><br />
print <span style="color: #b03060;">&#8220;        select * from monEngine&#8221;</span><br />
print <span style="color: #b03060;">&#8220;        go&#8221;</span><br />
go</p>
<p>quit<br />
<span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>Monitoring Tables/15.0.2/14331/P/Linux Intel/Linux 2.4.21-47.ELsmp i686/ase1502/2486/32-bit/OPT/Thu May 24 03:55:23 2007</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>Confidential property of Sybase, Inc.</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>Copyright 2001, 2007</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>Sybase, Inc.  All rights reserved.</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>Unpublished rights reserved under U.S. copyright laws.</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>This software contains confidential and trade secret information of Sybase,</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>Inc.   Use,  duplication or disclosure of the software and documentation by</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>the  U.S.  Government  is  subject  to  restrictions set forth in a license</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>agreement  between  the  Government  and  Sybase,  Inc.  or  other  written</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>agreement  specifying  the  Government&#8217;s rights to use the software and any</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>applicable FAR provisions, for example, FAR 52.227-19.</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>Sybase, Inc. One Sybase Drive, Dublin, CA 94568, USA</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span></p>
<p><span style="color: #7f7f7f;"><em>/* Use a different database to obtain monitoring information for each ASE */</em></span><br />
<span style="color: green;"><strong>use</strong></span> @SERVER@<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monTables definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monTables&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monTables<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monTables&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monTables (<br />
TableID                         <span style="color: #0000ff;">int</span>,<br />
<span style="color: green;"><strong>Columns</strong></span> tinyint,<br />
<span style="color: green;"><strong>Parameters</strong></span> tinyint,<br />
Indicators                      <span style="color: #0000ff;">int</span>,<br />
<span style="color: green;"><strong>Size</strong></span> <span style="color: #0000ff;">int</span>,<br />
TableName                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
Description                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">368</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monTables&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monTables <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monTableParameters definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monTableParameters&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monTableParameters<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monTableParameters&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monTableParameters (<br />
TableID                         <span style="color: #0000ff;">int</span>,<br />
ParameterID                     <span style="color: #0000ff;">int</span>,<br />
TypeID                          <span style="color: #0000ff;">int</span>,<br />
<span style="color: #0000ff;">Precision</span> tinyint,<br />
Scale                           tinyint,<br />
<span style="color: #007f00;">Length</span> <span style="color: #0000ff;">smallint</span>,<br />
TableName                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ParameterName                   <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
TypeName                        <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">20</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
Description                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">255</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monTableParameters&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monTableParameters <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monTableColumns definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monTableColumns&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monTableColumns<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monTableColumns&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monTableColumns (<br />
TableID                         <span style="color: #0000ff;">int</span>,<br />
ColumnID                        <span style="color: #0000ff;">int</span>,<br />
TypeID                          <span style="color: #0000ff;">int</span>,<br />
<span style="color: #0000ff;">Precision</span> tinyint,<br />
Scale                           tinyint,<br />
<span style="color: #007f00;">Length</span> <span style="color: #0000ff;">smallint</span>,<br />
Indicators                      <span style="color: #0000ff;">int</span>,<br />
TableName                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ColumnName                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
TypeName                        <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">20</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
Description                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">255</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monTableColumns&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monTableColumns <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monState definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monState&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monState<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monState&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monState (<br />
LockWaitThreshold               <span style="color: #0000ff;">int</span>,<br />
LockWaits                       <span style="color: #0000ff;">int</span>,<br />
DaysRunning                     <span style="color: #0000ff;">int</span>,<br />
CheckPoints                     <span style="color: #0000ff;">int</span>,<br />
NumDeadlocks                    <span style="color: #0000ff;">int</span>,<br />
DiagnosticDumps                 <span style="color: #0000ff;">int</span>,<br />
Connections                     <span style="color: #0000ff;">int</span>,<br />
MaxRecovery                     <span style="color: #0000ff;">int</span>,<br />
StartDate                       datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
CountersCleared                 datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monState&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monState <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monEngine definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monEngine&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monEngine<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monEngine&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monEngine (<br />
EngineNumber                    <span style="color: #0000ff;">smallint</span>,<br />
CurrentKPID                     <span style="color: #0000ff;">int</span>,<br />
PreviousKPID                    <span style="color: #0000ff;">int</span>,<br />
CPUTime                         <span style="color: #0000ff;">int</span>,<br />
SystemCPUTime                   <span style="color: #0000ff;">int</span>,<br />
UserCPUTime                     <span style="color: #0000ff;">int</span>,<br />
IdleCPUTime                     <span style="color: #0000ff;">int</span>,<br />
Yields                          <span style="color: #0000ff;">int</span>,<br />
Connections                     <span style="color: #0000ff;">int</span>,<br />
DiskIOChecks                    <span style="color: #0000ff;">int</span>,<br />
DiskIOPolled                    <span style="color: #0000ff;">int</span>,<br />
DiskIOCompleted                 <span style="color: #0000ff;">int</span>,<br />
ProcessesAffinitied             <span style="color: #0000ff;">int</span>,<br />
ContextSwitches                 <span style="color: #0000ff;">int</span>,<br />
HkgcMaxQSize                    <span style="color: #0000ff;">int</span>,<br />
HkgcPendingItems                <span style="color: #0000ff;">int</span>,<br />
HkgcHWMItems                    <span style="color: #0000ff;">int</span>,<br />
HkgcOverflows                   <span style="color: #0000ff;">int</span>,<br />
Status                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">20</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
StartTime                       datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
StopTime                        datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
AffinitiedToCPU                 <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
OSPID                           <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monEngine&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monEngine <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monDataCache definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monDataCache&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monDataCache<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monDataCache&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monDataCache (<br />
CacheID                         <span style="color: #0000ff;">int</span>,<br />
RelaxedReplacement              <span style="color: #0000ff;">int</span>,<br />
BufferPools                     <span style="color: #0000ff;">int</span>,<br />
CacheSearches                   <span style="color: #0000ff;">int</span>,<br />
PhysicalReads                   <span style="color: #0000ff;">int</span>,<br />
LogicalReads                    <span style="color: #0000ff;">int</span>,<br />
PhysicalWrites                  <span style="color: #0000ff;">int</span>,<br />
Stalls                          <span style="color: #0000ff;">int</span>,<br />
CachePartitions                 <span style="color: #0000ff;">smallint</span>,<br />
CacheName                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monDataCache&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monDataCache <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcedureCache definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcedureCache&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcedureCache<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcedureCache&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcedureCache (<br />
Requests                        <span style="color: #0000ff;">int</span>,<br />
Loads                           <span style="color: #0000ff;">int</span>,<br />
Writes                          <span style="color: #0000ff;">int</span>,<br />
Stalls                          <span style="color: #0000ff;">int</span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcedureCache&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcedureCache <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcedureCacheMemoryUsage definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcedureCacheMemoryUsage&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcedureCacheMemoryUsage<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcedureCacheMemoryUsage&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcedureCacheMemoryUsage (<br />
AllocatorID                     <span style="color: #0000ff;">int</span>,<br />
ModuleID                        <span style="color: #0000ff;">int</span>,<br />
Active                          <span style="color: #0000ff;">int</span>,<br />
HWM                             <span style="color: #0000ff;">int</span>,<br />
ChunkHWM                        <span style="color: #0000ff;">int</span>,<br />
NumReuseCaused                  <span style="color: #0000ff;">int</span>,<br />
AllocatorName                   <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcedureCacheMemoryUsage&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcedureCacheMemoryUsage <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcedureCacheModuleUsage definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcedureCacheModuleUsage&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcedureCacheModuleUsage<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcedureCacheModuleUsage&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcedureCacheModuleUsage (<br />
ModuleID                        <span style="color: #0000ff;">int</span>,<br />
Active                          <span style="color: #0000ff;">int</span>,<br />
HWM                             <span style="color: #0000ff;">int</span>,<br />
NumPagesReused                  <span style="color: #0000ff;">int</span>,<br />
ModuleName                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcedureCacheModuleUsage&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcedureCacheModuleUsage <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monOpenDatabases definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monOpenDatabases&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monOpenDatabases<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monOpenDatabases&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monOpenDatabases (<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
BackupInProgress                <span style="color: #0000ff;">int</span>,<br />
LastBackupFailed                <span style="color: #0000ff;">int</span>,<br />
TransactionLogFull              <span style="color: #0000ff;">int</span>,<br />
SuspendedProcesses              <span style="color: #0000ff;">int</span>,<br />
AppendLogRequests               <span style="color: #0000ff;">int</span>,<br />
AppendLogWaits                  <span style="color: #0000ff;">int</span>,<br />
DBName                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
BackupStartTime                 datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
QuiesceTag                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monOpenDatabases&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monOpenDatabases <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monSysWorkerThread definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monSysWorkerThread&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monSysWorkerThread<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monSysWorkerThread&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monSysWorkerThread (<br />
ThreadsActive                   <span style="color: #0000ff;">int</span>,<br />
TotalWorkerThreads              <span style="color: #0000ff;">int</span>,<br />
HighWater                       <span style="color: #0000ff;">int</span>,<br />
ParallelQueries                 <span style="color: #0000ff;">int</span>,<br />
PlansAltered                    <span style="color: #0000ff;">int</span>,<br />
WorkerMemory                    <span style="color: #0000ff;">int</span>,<br />
TotalWorkerMemory               <span style="color: #0000ff;">int</span>,<br />
WorkerMemoryHWM                 <span style="color: #0000ff;">int</span>,<br />
MaxParallelDegree               <span style="color: #0000ff;">int</span>,<br />
MaxScanParallelDegree           <span style="color: #0000ff;">int</span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monSysWorkerThread&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monSysWorkerThread <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monNetworkIO definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monNetworkIO&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monNetworkIO<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monNetworkIO&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monNetworkIO (<br />
PacketsSent                     <span style="color: #0000ff;">int</span>,<br />
PacketsReceived                 <span style="color: #0000ff;">int</span>,<br />
BytesSent                       <span style="color: #0000ff;">int</span>,<br />
BytesReceived                   <span style="color: #0000ff;">int</span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monNetworkIO&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monNetworkIO <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monErrorLog definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monErrorLog&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monErrorLog<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monErrorLog&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monErrorLog (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
FamilyID                        <span style="color: #0000ff;">smallint</span>,<br />
EngineNumber                    <span style="color: #0000ff;">smallint</span>,<br />
ErrorNumber                     <span style="color: #0000ff;">int</span>,<br />
Severity                        <span style="color: #0000ff;">int</span>,<br />
State                           <span style="color: #0000ff;">int</span>,<br />
<span style="color: #0000ff;">Time</span> datetime,<br />
ErrorMessage                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">512</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monErrorLog&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monErrorLog <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monLocks definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monLocks&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monLocks<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monLocks&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monLocks (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
ParentSPID                      <span style="color: #0000ff;">smallint</span>,<br />
LockID                          <span style="color: #0000ff;">int</span>,<br />
<span style="color: green;"><strong>Context</strong></span> <span style="color: #0000ff;">int</span>,<br />
ObjectID                        <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
LockState                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">20</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
LockType                        <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">20</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
LockLevel                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
WaitTime                        <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
PageNumber                      <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
RowNumber                       <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
BlockedState                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">64</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
BlockedBy                       <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
SourceCodeID                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monLocks&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monLocks <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monDeadLock definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monDeadLock&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monDeadLock<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monDeadLock&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monDeadLock (<br />
DeadlockID                      <span style="color: #0000ff;">int</span>,<br />
VictimKPID                      <span style="color: #0000ff;">int</span>,<br />
ResolveTime                     datetime,<br />
ObjectDBID                      <span style="color: #0000ff;">int</span>,<br />
PageNumber                      <span style="color: #0000ff;">int</span>,<br />
RowNumber                       <span style="color: #0000ff;">int</span>,<br />
HeldFamilyID                    <span style="color: #0000ff;">smallint</span>,<br />
HeldSPID                        <span style="color: #0000ff;">smallint</span>,<br />
HeldKPID                        <span style="color: #0000ff;">int</span>,<br />
HeldProcDBID                    <span style="color: #0000ff;">int</span>,<br />
HeldProcedureID                 <span style="color: #0000ff;">int</span>,<br />
HeldBatchID                     <span style="color: #0000ff;">int</span>,<br />
HeldContextID                   <span style="color: #0000ff;">int</span>,<br />
HeldLineNumber                  <span style="color: #0000ff;">int</span>,<br />
WaitFamilyID                    <span style="color: #0000ff;">smallint</span>,<br />
WaitSPID                        <span style="color: #0000ff;">smallint</span>,<br />
WaitKPID                        <span style="color: #0000ff;">int</span>,<br />
WaitTime                        <span style="color: #0000ff;">int</span>,<br />
ObjectName                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
HeldUserName                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
HeldApplName                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
HeldTranName                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">255</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
HeldLockType                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">20</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
HeldCommand                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
WaitUserName                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
WaitLockType                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">20</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
HeldSourceCodeID                <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
WaitSourceCodeID                <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monDeadLock&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monDeadLock <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monWaitClassInfo definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monWaitClassInfo&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monWaitClassInfo<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monWaitClassInfo&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monWaitClassInfo (<br />
WaitClassID                     <span style="color: #0000ff;">smallint</span>,<br />
Description                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">50</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monWaitClassInfo&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monWaitClassInfo <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monWaitEventInfo definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monWaitEventInfo&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monWaitEventInfo<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monWaitEventInfo&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monWaitEventInfo (<br />
WaitEventID                     <span style="color: #0000ff;">smallint</span>,<br />
WaitClassID                     <span style="color: #0000ff;">smallint</span>,<br />
Description                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">50</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monWaitEventInfo&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monWaitEventInfo <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monCachedObject definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monCachedObject&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monCachedObject<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monCachedObject&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monCachedObject (<br />
CacheID                         <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
IndexID                         <span style="color: #0000ff;">int</span>,<br />
PartitionID                     <span style="color: #0000ff;">int</span>,<br />
CachedKB                        <span style="color: #0000ff;">int</span>,<br />
CacheName                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectID                        <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
DBName                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
OwnerUserID                     <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
OwnerName                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectName                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
PartitionName                   <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectType                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
TotalSizeKB                     <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
ProcessesAccessing              <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monCachedObject&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monCachedObject <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monCachePool definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monCachePool&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monCachePool<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monCachePool&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monCachePool (<br />
CacheID                         <span style="color: #0000ff;">int</span>,<br />
IOBufferSize                    <span style="color: #0000ff;">int</span>,<br />
AllocatedKB                     <span style="color: #0000ff;">int</span>,<br />
PhysicalReads                   <span style="color: #0000ff;">int</span>,<br />
Stalls                          <span style="color: #0000ff;">int</span>,<br />
PagesTouched                    <span style="color: #0000ff;">int</span>,<br />
PagesRead                       <span style="color: #0000ff;">int</span>,<br />
BuffersToMRU                    <span style="color: #0000ff;">int</span>,<br />
BuffersToLRU                    <span style="color: #0000ff;">int</span>,<br />
CacheName                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monCachePool&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monCachePool <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monOpenObjectActivity definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monOpenObjectActivity&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monOpenObjectActivity<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monOpenObjectActivity&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monOpenObjectActivity (<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
ObjectID                        <span style="color: #0000ff;">int</span>,<br />
IndexID                         <span style="color: #0000ff;">int</span>,<br />
DBName                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectName                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
LogicalReads                    <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
PhysicalReads                   <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
APFReads                        <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
PagesRead                       <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
PhysicalWrites                  <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
PagesWritten                    <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
RowsInserted                    <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
RowsDeleted                     <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
RowsUpdated                     <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
Operations                      <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
LockRequests                    <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
LockWaits                       <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
OptSelectCount                  <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
LastOptSelectDate               datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
UsedCount                       <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
LastUsedDate                    datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
HkgcRequests                    <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
HkgcPending                     <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
HkgcOverflows                   <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monOpenObjectActivity&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monOpenObjectActivity <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monIOQueue definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monIOQueue&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monIOQueue<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monIOQueue&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monIOQueue (<br />
IOs                             <span style="color: #0000ff;">int</span>,<br />
IOTime                          <span style="color: #0000ff;">int</span>,<br />
LogicalName                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
IOType                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">12</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monIOQueue&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monIOQueue <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monDeviceIO definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monDeviceIO&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monDeviceIO<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monDeviceIO&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monDeviceIO (<br />
<span style="color: green;"><strong>Reads</strong></span> <span style="color: #0000ff;">int</span>,<br />
APFReads                        <span style="color: #0000ff;">int</span>,<br />
Writes                          <span style="color: #0000ff;">int</span>,<br />
DevSemaphoreRequests            <span style="color: #0000ff;">int</span>,<br />
DevSemaphoreWaits               <span style="color: #0000ff;">int</span>,<br />
IOTime                          <span style="color: #0000ff;">int</span>,<br />
LogicalName                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
PhysicalName                    <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">128</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monDeviceIO&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monDeviceIO <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monSysWaits definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monSysWaits&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monSysWaits<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monSysWaits&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monSysWaits (<br />
WaitEventID                     <span style="color: #0000ff;">smallint</span>,<br />
WaitTime                        <span style="color: #0000ff;">int</span>,<br />
Waits                           <span style="color: #0000ff;">int</span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monSysWaits&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monSysWaits <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcess definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcess&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcess<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcess&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcess (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
BatchID                         <span style="color: #0000ff;">int</span>,<br />
ContextID                       <span style="color: #0000ff;">int</span>,<br />
LineNumber                      <span style="color: #0000ff;">int</span>,<br />
SecondsConnected                <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
EngineNumber                    <span style="color: #0000ff;">smallint</span>,<br />
Priority                        <span style="color: #0000ff;">int</span>,<br />
FamilyID                        <span style="color: #0000ff;">smallint</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
Login                           <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
Application                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
Command                         <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
NumChildren                     <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
SecondsWaiting                  <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
WaitEventID                     <span style="color: #0000ff;">smallint</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
BlockingSPID                    <span style="color: #0000ff;">smallint</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
BlockingXLOID                   <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
DBName                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
EngineGroupName                 <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ExecutionClass                  <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
MasterTransactionID             <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">255</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcess&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcess <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcessLookup definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcessLookup&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcessLookup<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcessLookup&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcessLookup (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
Login                           <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
Application                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ClientHost                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ClientIP                        <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">64</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ClientOSPID                     <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcessLookup&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcessLookup <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcessActivity definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcessActivity&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcessActivity<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcessActivity&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcessActivity (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
ServerUserID                    <span style="color: #0000ff;">int</span>,<br />
CPUTime                         <span style="color: #0000ff;">int</span>,<br />
WaitTime                        <span style="color: #0000ff;">int</span>,<br />
PhysicalReads                   <span style="color: #0000ff;">int</span>,<br />
LogicalReads                    <span style="color: #0000ff;">int</span>,<br />
PagesRead                       <span style="color: #0000ff;">int</span>,<br />
PhysicalWrites                  <span style="color: #0000ff;">int</span>,<br />
PagesWritten                    <span style="color: #0000ff;">int</span>,<br />
MemUsageKB                      <span style="color: #0000ff;">int</span>,<br />
LocksHeld                       <span style="color: #0000ff;">int</span>,<br />
TableAccesses                   <span style="color: #0000ff;">int</span>,<br />
IndexAccesses                   <span style="color: #0000ff;">int</span>,<br />
TempDbObjects                   <span style="color: #0000ff;">int</span>,<br />
WorkTables                      <span style="color: #0000ff;">int</span>,<br />
ULCBytesWritten                 <span style="color: #0000ff;">int</span>,<br />
ULCFlushes                      <span style="color: #0000ff;">int</span>,<br />
ULCFlushFull                    <span style="color: #0000ff;">int</span>,<br />
ULCMaxUsage                     <span style="color: #0000ff;">int</span>,<br />
ULCCurrentUsage                 <span style="color: #0000ff;">int</span>,<br />
Transactions                    <span style="color: #0000ff;">int</span>,<br />
Commits                         <span style="color: #0000ff;">int</span>,<br />
Rollbacks                       <span style="color: #0000ff;">int</span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcessActivity&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcessActivity <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcessWorkerThread definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcessWorkerThread&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcessWorkerThread<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcessWorkerThread&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcessWorkerThread (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
ThreadsActive                   <span style="color: #0000ff;">int</span>,<br />
MaxParallelDegree               <span style="color: #0000ff;">smallint</span>,<br />
MaxScanParallelDegree           <span style="color: #0000ff;">smallint</span>,<br />
ParallelQueries                 <span style="color: #0000ff;">int</span>,<br />
PlansAltered                    <span style="color: #0000ff;">int</span>,<br />
FamilyID                        <span style="color: #0000ff;">smallint</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcessWorkerThread&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcessWorkerThread <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcessNetIO definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcessNetIO&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcessNetIO<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcessNetIO&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcessNetIO (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
NetworkPacketSize               <span style="color: #0000ff;">int</span>,<br />
PacketsSent                     <span style="color: #0000ff;">int</span>,<br />
PacketsReceived                 <span style="color: #0000ff;">int</span>,<br />
BytesSent                       <span style="color: #0000ff;">int</span>,<br />
BytesReceived                   <span style="color: #0000ff;">int</span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcessNetIO&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcessNetIO <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcessObject definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcessObject&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcessObject<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcessObject&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcessObject (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
ObjectID                        <span style="color: #0000ff;">int</span>,<br />
PartitionID                     <span style="color: #0000ff;">int</span>,<br />
IndexID                         <span style="color: #0000ff;">int</span>,<br />
OwnerUserID                     <span style="color: #0000ff;">int</span>,<br />
LogicalReads                    <span style="color: #0000ff;">int</span>,<br />
PhysicalReads                   <span style="color: #0000ff;">int</span>,<br />
PhysicalAPFReads                <span style="color: #0000ff;">int</span>,<br />
DBName                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectName                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
PartitionName                   <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectType                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
PartitionSize                   <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcessObject&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcessObject <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcessWaits definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcessWaits&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcessWaits<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcessWaits&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcessWaits (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
WaitEventID                     <span style="color: #0000ff;">smallint</span>,<br />
Waits                           <span style="color: #0000ff;">int</span>,<br />
WaitTime                        <span style="color: #0000ff;">int</span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcessWaits&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcessWaits <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcessStatement definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcessStatement&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcessStatement<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcessStatement&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcessStatement (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
ProcedureID                     <span style="color: #0000ff;">int</span>,<br />
PlanID                          <span style="color: #0000ff;">int</span>,<br />
BatchID                         <span style="color: #0000ff;">int</span>,<br />
ContextID                       <span style="color: #0000ff;">int</span>,<br />
LineNumber                      <span style="color: #0000ff;">int</span>,<br />
CpuTime                         <span style="color: #0000ff;">int</span>,<br />
WaitTime                        <span style="color: #0000ff;">int</span>,<br />
MemUsageKB                      <span style="color: #0000ff;">int</span>,<br />
PhysicalReads                   <span style="color: #0000ff;">int</span>,<br />
LogicalReads                    <span style="color: #0000ff;">int</span>,<br />
PagesModified                   <span style="color: #0000ff;">int</span>,<br />
PacketsSent                     <span style="color: #0000ff;">int</span>,<br />
PacketsReceived                 <span style="color: #0000ff;">int</span>,<br />
NetworkPacketSize               <span style="color: #0000ff;">int</span>,<br />
PlansAltered                    <span style="color: #0000ff;">int</span>,<br />
RowsAffected                    <span style="color: #0000ff;">int</span>,<br />
StartTime                       datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcessStatement&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcessStatement <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monSysStatement definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monSysStatement&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monSysStatement<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monSysStatement&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monSysStatement (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
ProcedureID                     <span style="color: #0000ff;">int</span>,<br />
PlanID                          <span style="color: #0000ff;">int</span>,<br />
BatchID                         <span style="color: #0000ff;">int</span>,<br />
ContextID                       <span style="color: #0000ff;">int</span>,<br />
LineNumber                      <span style="color: #0000ff;">int</span>,<br />
CpuTime                         <span style="color: #0000ff;">int</span>,<br />
WaitTime                        <span style="color: #0000ff;">int</span>,<br />
MemUsageKB                      <span style="color: #0000ff;">int</span>,<br />
PhysicalReads                   <span style="color: #0000ff;">int</span>,<br />
LogicalReads                    <span style="color: #0000ff;">int</span>,<br />
PagesModified                   <span style="color: #0000ff;">int</span>,<br />
PacketsSent                     <span style="color: #0000ff;">int</span>,<br />
PacketsReceived                 <span style="color: #0000ff;">int</span>,<br />
NetworkPacketSize               <span style="color: #0000ff;">int</span>,<br />
PlansAltered                    <span style="color: #0000ff;">int</span>,<br />
RowsAffected                    <span style="color: #0000ff;">int</span>,<br />
ErrorStatus                     <span style="color: #0000ff;">int</span>,<br />
HashKey                         <span style="color: #0000ff;">int</span>,<br />
SsqlId                          <span style="color: #0000ff;">int</span>,<br />
StartTime                       datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
EndTime                         datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monSysStatement&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monSysStatement <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcessSQLText definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcessSQLText&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcessSQLText<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcessSQLText&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcessSQLText (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
ServerUserID                    <span style="color: #0000ff;">int</span>,<br />
BatchID                         <span style="color: #0000ff;">int</span>,<br />
LineNumber                      <span style="color: #0000ff;">int</span>,<br />
SequenceInLine                  <span style="color: #0000ff;">int</span>,<br />
SQLText                         <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">255</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcessSQLText&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcessSQLText <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monSysSQLText definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monSysSQLText&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monSysSQLText<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monSysSQLText&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monSysSQLText (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
ServerUserID                    <span style="color: #0000ff;">int</span>,<br />
BatchID                         <span style="color: #0000ff;">int</span>,<br />
SequenceInBatch                 <span style="color: #0000ff;">int</span>,<br />
SQLText                         <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">255</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monSysSQLText&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monSysSQLText <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monCachedProcedures definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monCachedProcedures&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monCachedProcedures<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monCachedProcedures&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monCachedProcedures (<br />
ObjectID                        <span style="color: #0000ff;">int</span>,<br />
OwnerUID                        <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
PlanID                          <span style="color: #0000ff;">int</span>,<br />
MemUsageKB                      <span style="color: #0000ff;">int</span>,<br />
CompileDate                     datetime,<br />
ObjectName                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectType                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">32</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
OwnerName                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
DBName                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monCachedProcedures&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monCachedProcedures <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monProcessProcedures definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monProcessProcedures&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monProcessProcedures<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monProcessProcedures&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monProcessProcedures (<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
OwnerUID                        <span style="color: #0000ff;">int</span>,<br />
ObjectID                        <span style="color: #0000ff;">int</span>,<br />
PlanID                          <span style="color: #0000ff;">int</span>,<br />
MemUsageKB                      <span style="color: #0000ff;">int</span>,<br />
CompileDate                     datetime,<br />
ContextID                       <span style="color: #0000ff;">int</span>,<br />
LineNumber                      <span style="color: #0000ff;">int</span>,<br />
DBName                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
OwnerName                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectName                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectType                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">32</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monProcessProcedures&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monProcessProcedures <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monSysPlanText definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monSysPlanText&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monSysPlanText<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monSysPlanText&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monSysPlanText (<br />
PlanID                          <span style="color: #0000ff;">int</span>,<br />
SPID                            <span style="color: #0000ff;">smallint</span>,<br />
KPID                            <span style="color: #0000ff;">int</span>,<br />
BatchID                         <span style="color: #0000ff;">int</span>,<br />
ContextID                       <span style="color: #0000ff;">int</span>,<br />
SequenceNumber                  <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
ProcedureID                     <span style="color: #0000ff;">int</span>,<br />
PlanText                        <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">160</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monSysPlanText&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monSysPlanText <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monOpenPartitionActivity definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monOpenPartitionActivity&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monOpenPartitionActivity<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monOpenPartitionActivity&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monOpenPartitionActivity (<br />
DBID                            <span style="color: #0000ff;">int</span>,<br />
ObjectID                        <span style="color: #0000ff;">int</span>,<br />
IndexID                         <span style="color: #0000ff;">int</span>,<br />
PartitionID                     <span style="color: #0000ff;">int</span>,<br />
DBName                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
ObjectName                      <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
PartitionName                   <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
LogicalReads                    <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
PhysicalReads                   <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
APFReads                        <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
PagesRead                       <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
PhysicalWrites                  <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
PagesWritten                    <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
RowsInserted                    <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
RowsDeleted                     <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
RowsUpdated                     <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
OptSelectCount                  <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
LastOptSelectDate               datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
UsedCount                       <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
LastUsedDate                    datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
HkgcRequests                    <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
HkgcPending                     <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
HkgcOverflows                   <span style="color: #0000ff;">int</span> <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monOpenPartitionActivity&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monOpenPartitionActivity <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monLicense definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monLicense&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monLicense<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monLicense&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monLicense (<br />
Quantity                        <span style="color: #0000ff;">int</span>,<br />
Name                            <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
Edition                         <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
<span style="color: green;"><strong>Type</strong></span> <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">64</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
Version                         <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">16</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
Status                          <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">30</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
LicenseExpiry                   datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
GraceExpiry                     datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
LicenseID                       <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">150</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
<span style="color: green;"><strong>Filter</strong></span> <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">14</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
<span style="color: green;"><strong>Attributes</strong></span> <span style="color: #0000ff;">varchar</span>(<span style="color: #00007f;">64</span>) <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monLicense&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monLicense <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monStatementCache definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monStatementCache&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monStatementCache<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monStatementCache&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monStatementCache (<br />
TotalSizeKB                     <span style="color: #0000ff;">int</span>,<br />
UsedSizeKB                      <span style="color: #0000ff;">int</span>,<br />
NumStatements                   <span style="color: #0000ff;">int</span>,<br />
NumSearches                     <span style="color: #0000ff;">int</span>,<br />
HitCount                        <span style="color: #0000ff;">int</span>,<br />
NumInserts                      <span style="color: #0000ff;">int</span>,<br />
NumRemovals                     <span style="color: #0000ff;">int</span>,<br />
NumRecompilesSchemaChanges      <span style="color: #0000ff;">int</span>,<br />
NumRecompilesPlanFlushes        <span style="color: #0000ff;">int</span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monStatementCache&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monStatementCache <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
<p><span style="color: #7f7f7f;"><em>/*</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>** monCachedStatement definition</em></span><span style="color: #7f7f7f;"><em><br />
</em></span><span style="color: #7f7f7f;"><em>*/</em></span><br />
<span style="color: green;"><strong>if</strong></span> (<span style="color: green;"><strong>exists</strong></span> (<span style="color: green;"><strong>select</strong></span> * <span style="color: green;"><strong>from</strong></span> sysobjects<br />
<span style="color: green;"><strong>where</strong></span> name = <span style="color: #ff0000;">&#8216;monCachedStatement&#8217;</span><br />
<span style="color: green;"><strong>and</strong></span> <span style="color: green;"><strong>type</strong></span> = <span style="color: #ff0000;">&#8216;U&#8217;</span>))<br />
<span style="color: green;"><strong>drop</strong></span> <span style="color: green;"><strong>table</strong></span> monCachedStatement<br />
go</p>
<p>print <span style="color: #b03060;">&#8220;Creating monCachedStatement&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>create</strong></span> existing <span style="color: green;"><strong>table</strong></span> monCachedStatement (<br />
SSQLID                          <span style="color: #0000ff;">int</span>,<br />
Hashkey                         <span style="color: #0000ff;">int</span>,<br />
UserID                          <span style="color: #0000ff;">int</span>,<br />
SUserID                         <span style="color: #0000ff;">int</span>,<br />
DBID                            <span style="color: #0000ff;">smallint</span>,<br />
UseCount                        <span style="color: #0000ff;">int</span>,<br />
StatementSize                   <span style="color: #0000ff;">int</span>,<br />
MinPlanSizeKB                   <span style="color: #0000ff;">int</span>,<br />
MaxPlanSizeKB                   <span style="color: #0000ff;">int</span>,<br />
CurrentUsageCount               <span style="color: #0000ff;">int</span>,<br />
MaxUsageCount                   <span style="color: #0000ff;">int</span>,<br />
NumRecompilesSchemaChanges      <span style="color: #0000ff;">int</span>,<br />
NumRecompilesPlanFlushes        <span style="color: #0000ff;">int</span>,<br />
HasAutoParams                   tinyint,<br />
ParallelDegree                  tinyint,<br />
QuotedIdentifier                tinyint,<br />
TableCount                      tinyint,<br />
TransactionIsolationLevel       tinyint,<br />
TransactionMode                 tinyint,<br />
SAAuthorization                 tinyint,<br />
SystemCatalogUpdate             tinyint,<br />
MetricsCount                    <span style="color: #0000ff;">int</span>,<br />
MinPIO                          <span style="color: #0000ff;">int</span>,<br />
MaxPIO                          <span style="color: #0000ff;">int</span>,<br />
AvgPIO                          <span style="color: #0000ff;">int</span>,<br />
MinLIO                          <span style="color: #0000ff;">int</span>,<br />
MaxLIO                          <span style="color: #0000ff;">int</span>,<br />
AvgLIO                          <span style="color: #0000ff;">int</span>,<br />
MinCpuTime                      <span style="color: #0000ff;">int</span>,<br />
MaxCpuTime                      <span style="color: #0000ff;">int</span>,<br />
AvgCpuTime                      <span style="color: #0000ff;">int</span>,<br />
MinElapsedTime                  <span style="color: #0000ff;">int</span>,<br />
MaxElapsedTime                  <span style="color: #0000ff;">int</span>,<br />
AvgElapsedTime                  <span style="color: #0000ff;">int</span>,<br />
CachedDate                      datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
LastUsedDate                    datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
LastRecompiledDate              datetime <span style="color: green;"><strong>NULL</strong></span>,<br />
)<br />
external <span style="color: green;"><strong>procedure</strong></span><br />
<span style="color: green;"><strong>at</strong></span> <span style="color: #b03060;">&#8220;@SERVER@&#8230;$monCachedStatement&#8221;</span><br />
go</p>
<p><span style="color: green;"><strong>grant</strong></span> <span style="color: green;"><strong>select</strong></span> <span style="color: green;"><strong>on</strong></span> monCachedStatement <span style="color: green;"><strong>to</strong></span> mon_role<br />
go</p>
]]></content:encoded>
			<wfw:commentRss>http://froebe.net/blog/2007/08/30/how-to-colorize-your-code-using-perl-and-syntaxhighlightenginekate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

