<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>some thoughts... - MS SQL Server|RDBMS</title>
    <link>http://www.fits-consulting.de/blog/</link>
    <description>IT makes the world go round - and sometimes stops it...</description>
    <language>en-us</language>
    <copyright>Markus Fischer</copyright>
    <lastBuildDate>Thu, 25 Oct 2007 15:44:27 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>blog@fits-consulting.de</managingEditor>
    <webMaster>blog@fits-consulting.de</webMaster>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=4b31f2cb-e4f7-4a6f-9fe4-c4c551420031</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,4b31f2cb-e4f7-4a6f-9fe4-c4c551420031.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,4b31f2cb-e4f7-4a6f-9fe4-c4c551420031.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4b31f2cb-e4f7-4a6f-9fe4-c4c551420031</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Rodney Landrum demonstrates an ingenious way to monitor blocked SQL Server processes
across all your servers, using nothing but SSRS in his posting <a title="&quot;The Reporting Services 3-Trick Pony&quot;" href="http://www.sqlservercentral.com/articles/Reporting+Services/61339/">"The
Reporting Services 3-Trick Pony"</a></p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=4b31f2cb-e4f7-4a6f-9fe4-c4c551420031" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>Rodney Landrum: The Reporting Services 3-Trick Pony</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,4b31f2cb-e4f7-4a6f-9fe4-c4c551420031.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,4b31f2cb-e4f7-4a6f-9fe4-c4c551420031.aspx</link>
      <pubDate>Thu, 25 Oct 2007 15:44:27 GMT</pubDate>
      <description>&lt;p&gt;
Rodney Landrum demonstrates an ingenious way to monitor blocked SQL Server processes
across all your servers, using nothing but SSRS in his posting &lt;a title="&amp;quot;The Reporting Services 3-Trick Pony&amp;quot;" href="http://www.sqlservercentral.com/articles/Reporting+Services/61339/"&gt;"The
Reporting Services 3-Trick Pony"&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=4b31f2cb-e4f7-4a6f-9fe4-c4c551420031" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,4b31f2cb-e4f7-4a6f-9fe4-c4c551420031.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=89aec356-0a0b-4083-a2a3-8c847e1e2159</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,89aec356-0a0b-4083-a2a3-8c847e1e2159.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,89aec356-0a0b-4083-a2a3-8c847e1e2159.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=89aec356-0a0b-4083-a2a3-8c847e1e2159</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If you would like to split values from a column which are divideable beacause they
are using the same delimiter like an ',' for example you could use the function below.
The function also brings up the postion, which sometimes could be very usefull, too.
</p>
        <p>
To call the function just use,
</p>
        <pre class="csharpcode">
          <span class="kwrd">select</span> * <span class="kwrd">from</span> dbo.fn_split(<span class="str">'Value
1,Value 2'</span>,<span class="str">','</span>)</pre>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <p>
the first parameter is the column to split, the second contains the delimiter. You
can not use different delimiters at one time at the moment, if you want to suggest
some enhancements, please use the comments.... :-)<br />
The statement will bring up the following result set:
</p>
        <p>
          <a href="http://www.fits-consulting.de/blog/content/binary/WindowsLiveWriter/littleSQLhelperssplitacolumn_11473/sql_result%5B2%5D.jpg" atomicselection="true">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="105" src="http://www.fits-consulting.de/blog/content/binary/WindowsLiveWriter/littleSQLhelperssplitacolumn_11473/sql_result_thumb.jpg" width="200" border="0" />
          </a>
        </p>
        <pre class="csharpcode">
          <span class="kwrd">CREATE</span>
          <span class="kwrd">FUNCTION</span> [dbo].[fn_Split](@text
nvarchar(<span class="kwrd">max</span>), @delimiter <span class="kwrd">char</span>(1)
= <span class="str">' '</span>) <span class="kwrd">RETURNS</span> @Strings <span class="kwrd">TABLE</span> ( <span class="kwrd">position</span><span class="kwrd">int</span><span class="kwrd">IDENTITY</span><span class="kwrd">PRIMARY</span><span class="kwrd">KEY</span>, <span class="kwrd">value</span> nvarchar(<span class="kwrd">max</span>)
) <span class="kwrd">AS</span><span class="kwrd">BEGIN</span><span class="kwrd">DECLARE</span> @<span class="kwrd">index</span><span class="kwrd">int</span><span class="kwrd">SET</span> @<span class="kwrd">index</span> =
-1 <span class="kwrd">WHILE</span> (LEN(@text) &gt; 0) <span class="kwrd">BEGIN</span><span class="kwrd">SET</span> @<span class="kwrd">index</span> =
CHARINDEX(@delimiter , @text) <span class="kwrd">IF</span> (@<span class="kwrd">index</span> =
0) <span class="kwrd">AND</span> (LEN(@text) &gt; 0) <span class="kwrd">BEGIN</span> INSERT <span class="kwrd">INTO</span> @Strings <span class="kwrd">VALUES</span> (@text) <span class="kwrd">BREAK</span><span class="kwrd">END</span><span class="kwrd">IF</span> (@<span class="kwrd">index</span> &gt;
1) <span class="kwrd">BEGIN</span> INSERT <span class="kwrd">INTO</span> @Strings <span class="kwrd">VALUES</span> (<span class="kwrd">LEFT</span>(@text,
@<span class="kwrd">index</span> - 1)) <span class="kwrd">SET</span> @text = <span class="kwrd">RIGHT</span>(@text,
(LEN(@text) - @<span class="kwrd">index</span>)) <span class="kwrd">END</span><span class="kwrd">ELSE</span><span class="kwrd">SET</span> @text
= <span class="kwrd">RIGHT</span>(@text, (LEN(@text) - @<span class="kwrd">index</span>)) <span class="kwrd">END</span><span class="kwrd">RETURN</span> END</pre>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=89aec356-0a0b-4083-a2a3-8c847e1e2159" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>little SQL-helpers: split a column</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,89aec356-0a0b-4083-a2a3-8c847e1e2159.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,89aec356-0a0b-4083-a2a3-8c847e1e2159.aspx</link>
      <pubDate>Mon, 24 Sep 2007 18:38:48 GMT</pubDate>
      <description>&lt;p&gt;
If you would like to split values from a column which are divideable beacause they
are using the same delimiter like an ',' for example you could use the function below.
The function also brings up the postion, which sometimes could be very usefull, too.
&lt;/p&gt;
&lt;p&gt;
To call the function just use,
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;select&lt;/span&gt; * &lt;span class="kwrd"&gt;from&lt;/span&gt; dbo.fn_split(&lt;span class="str"&gt;'Value
1,Value 2'&lt;/span&gt;,&lt;span class="str"&gt;','&lt;/span&gt;)&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;p&gt;
the first parameter is the column to split, the second contains the delimiter. You
can not use different delimiters at one time at the moment, if you want to suggest
some enhancements, please use the comments.... :-)&lt;br&gt;
The&amp;nbsp;statement will bring up the following result set:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.fits-consulting.de/blog/content/binary/WindowsLiveWriter/littleSQLhelperssplitacolumn_11473/sql_result%5B2%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="105" src="http://www.fits-consulting.de/blog/content/binary/WindowsLiveWriter/littleSQLhelperssplitacolumn_11473/sql_result_thumb.jpg" width="200" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;FUNCTION&lt;/span&gt; [dbo].[fn_Split](@text
nvarchar(&lt;span class="kwrd"&gt;max&lt;/span&gt;), @delimiter &lt;span class="kwrd"&gt;char&lt;/span&gt;(1)
= &lt;span class="str"&gt;' '&lt;/span&gt;) &lt;span class="kwrd"&gt;RETURNS&lt;/span&gt; @Strings &lt;span class="kwrd"&gt;TABLE&lt;/span&gt; ( &lt;span class="kwrd"&gt;position&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; &lt;span class="kwrd"&gt;IDENTITY&lt;/span&gt; &lt;span class="kwrd"&gt;PRIMARY&lt;/span&gt; &lt;span class="kwrd"&gt;KEY&lt;/span&gt;, &lt;span class="kwrd"&gt;value&lt;/span&gt; nvarchar(&lt;span class="kwrd"&gt;max&lt;/span&gt;)
) &lt;span class="kwrd"&gt;AS&lt;/span&gt; &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @&lt;span class="kwrd"&gt;index&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; &lt;span class="kwrd"&gt;SET&lt;/span&gt; @&lt;span class="kwrd"&gt;index&lt;/span&gt; =
-1 &lt;span class="kwrd"&gt;WHILE&lt;/span&gt; (LEN(@text) &amp;gt; 0) &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; &lt;span class="kwrd"&gt;SET&lt;/span&gt; @&lt;span class="kwrd"&gt;index&lt;/span&gt; =
CHARINDEX(@delimiter , @text) &lt;span class="kwrd"&gt;IF&lt;/span&gt; (@&lt;span class="kwrd"&gt;index&lt;/span&gt; =
0) &lt;span class="kwrd"&gt;AND&lt;/span&gt; (LEN(@text) &amp;gt; 0) &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; INSERT &lt;span class="kwrd"&gt;INTO&lt;/span&gt; @Strings &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; (@text) &lt;span class="kwrd"&gt;BREAK&lt;/span&gt; &lt;span class="kwrd"&gt;END&lt;/span&gt; &lt;span class="kwrd"&gt;IF&lt;/span&gt; (@&lt;span class="kwrd"&gt;index&lt;/span&gt; &amp;gt;
1) &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; INSERT &lt;span class="kwrd"&gt;INTO&lt;/span&gt; @Strings &lt;span class="kwrd"&gt;VALUES&lt;/span&gt; (&lt;span class="kwrd"&gt;LEFT&lt;/span&gt;(@text,
@&lt;span class="kwrd"&gt;index&lt;/span&gt; - 1)) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @text = &lt;span class="kwrd"&gt;RIGHT&lt;/span&gt;(@text,
(LEN(@text) - @&lt;span class="kwrd"&gt;index&lt;/span&gt;)) &lt;span class="kwrd"&gt;END&lt;/span&gt; &lt;span class="kwrd"&gt;ELSE&lt;/span&gt; &lt;span class="kwrd"&gt;SET&lt;/span&gt; @text
= &lt;span class="kwrd"&gt;RIGHT&lt;/span&gt;(@text, (LEN(@text) - @&lt;span class="kwrd"&gt;index&lt;/span&gt;)) &lt;span class="kwrd"&gt;END&lt;/span&gt; &lt;span class="kwrd"&gt;RETURN&lt;/span&gt; END&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=89aec356-0a0b-4083-a2a3-8c847e1e2159" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,89aec356-0a0b-4083-a2a3-8c847e1e2159.aspx</comments>
      <category>Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=ee700f2f-1af6-4526-ad65-d84524eb5526</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,ee700f2f-1af6-4526-ad65-d84524eb5526.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,ee700f2f-1af6-4526-ad65-d84524eb5526.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ee700f2f-1af6-4526-ad65-d84524eb5526</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Are you also always looking in the BOL if you have to deal with datetime?
</p>
        <p>
This stored procedure could bring some light in the dark...
</p>
        <p>
You will have to call it with the following statement:
</p>
        <pre class="csharpcode">
          <span class="kwrd">Select</span> dbo.fn_formatdate(getdate(),<span class="str">'formated
date: \TT\MM\YYYY \hh:\mi:\ss \ms Week: \wk Weekday: \DW Quarter: \qq'</span>),getdate()</pre>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <p>
The formatstring can contain severall formatstrings and will bring up all datetimeparts
you want, including some additional textparts...
</p>
        <p>
 
</p>
        <pre class="csharpcode">
          <span class="kwrd">CREATE</span>
          <span class="kwrd">FUNCTION</span> [dbo].[fn_formatdate](@dat
datetime,@format <span class="kwrd">varchar</span>(255)) <span class="kwrd">RETURNS</span><span class="kwrd">varchar</span>(255) <span class="kwrd">AS</span><span class="kwrd">BEGIN</span><span class="kwrd">declare</span> @ret <span class="kwrd">varchar</span>(255) <span class="kwrd">declare</span> @i <span class="kwrd">int</span><span class="rem">--
year 4 digits</span><span class="kwrd">set</span> @ret=replace(@format,<span class="str">'\jjjj'</span>,<span class="kwrd">cast</span>(<span class="kwrd">year</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(4))) <span class="rem">--
year 4 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\yyyy'</span>,<span class="kwrd">cast</span>(<span class="kwrd">year</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(4))) <span class="rem">--
day 2 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\dd'</span>,<span class="kwrd">right</span>(<span class="str">'0'</span>+<span class="kwrd">cast</span>(<span class="kwrd">day</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2)),2)) <span class="rem">--
weekday 1 digit </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\dw'</span>,<span class="kwrd">cast</span>(datepart(dw,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(1))) <span class="rem">--
day of year</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\dy'</span>,<span class="kwrd">right</span>(<span class="str">'00'</span>+<span class="kwrd">cast</span>(<span class="kwrd">day</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(3)),3)) <span class="rem">--
hour 2 digits</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\hh'</span>,<span class="kwrd">right</span>(<span class="str">'0'</span>+<span class="kwrd">cast</span>(datepart(hh,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2)),2)) <span class="rem">--
year 2 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\jj'</span>,<span class="kwrd">right</span>(<span class="kwrd">cast</span>(<span class="kwrd">year</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(4)),2)) <span class="rem">--
minute 2 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\mi'</span>,<span class="kwrd">right</span>(<span class="str">'0'</span>+<span class="kwrd">cast</span>(datepart(mi,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2)),2)) <span class="rem">--
month 2 digits</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\mm'</span>,<span class="kwrd">right</span>(<span class="str">'0'</span>+<span class="kwrd">cast</span>(<span class="kwrd">month</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2)),2)) <span class="rem">--
milliseconds 3 digits</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\ms'</span>,<span class="kwrd">right</span>(<span class="str">'00'</span>+<span class="kwrd">cast</span>(datepart(ss,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(3)),3)) <span class="rem">--
quarter 2 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\qq'</span>,<span class="kwrd">right</span>(<span class="str">'0'</span>+<span class="kwrd">cast</span>(datepart(qq,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2)),2)) <span class="rem">--
seconds 2 digits</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\ss'</span>,<span class="kwrd">right</span>(<span class="str">'0'</span>+<span class="kwrd">cast</span>(datepart(ss,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2)),2)) <span class="rem">--
day 2 digits</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\tt'</span>,<span class="kwrd">right</span>(<span class="str">'0'</span>+<span class="kwrd">cast</span>(<span class="kwrd">day</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2)),2)) <span class="rem">--
week 2 digits</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\wk'</span>,<span class="kwrd">right</span>(<span class="str">'0'</span>+<span class="kwrd">cast</span>(datepart(wk,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2)),2)) <span class="rem">--
year 2 digits</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\yy'</span>,<span class="kwrd">right</span>(<span class="kwrd">cast</span>(<span class="kwrd">year</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(4)),2)) <span class="rem">--
day 1-2 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\d'</span>,<span class="kwrd">cast</span>(<span class="kwrd">day</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2))) <span class="rem">--
hour 1-2 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\h'</span>,<span class="kwrd">cast</span>(datepart(hh,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2))) <span class="rem">--
month 1-2 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\m'</span>,<span class="kwrd">cast</span>(<span class="kwrd">month</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2))) <span class="rem">--
minute 2 digits</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\n'</span>,<span class="kwrd">right</span>(<span class="str">'0'</span>+<span class="kwrd">cast</span>(datepart(mi,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2)),2)) <span class="rem">--
quarter 1 digit </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\q'</span>,<span class="kwrd">cast</span>(datepart(qq,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(1))) <span class="rem">--
seconds 1-2 digits</span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\s'</span>,<span class="kwrd">cast</span>(datepart(ss,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2))) <span class="rem">--
day 1-2 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\t'</span>,<span class="kwrd">cast</span>(<span class="kwrd">day</span>(@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2))) <span class="rem">--
week 1-2 digits </span><span class="kwrd">set</span> @ret=replace(@ret,<span class="str">'\w'</span>,<span class="kwrd">cast</span>(datepart(wk,@dat) <span class="kwrd">as</span><span class="kwrd">varchar</span>(2))) <span class="kwrd">return</span> @ret <span class="kwrd">END</span> GO</pre>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=ee700f2f-1af6-4526-ad65-d84524eb5526" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>little SQL-helpers: help with date formats</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,ee700f2f-1af6-4526-ad65-d84524eb5526.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,ee700f2f-1af6-4526-ad65-d84524eb5526.aspx</link>
      <pubDate>Mon, 24 Sep 2007 16:33:12 GMT</pubDate>
      <description>&lt;p&gt;
Are you also always looking in the BOL if you have to deal with datetime?
&lt;/p&gt;
&lt;p&gt;
This stored procedure could bring some light in the dark...
&lt;/p&gt;
&lt;p&gt;
You will have to call it with the following statement:
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Select&lt;/span&gt; dbo.fn_formatdate(getdate(),&lt;span class="str"&gt;'formated
date: \TT\MM\YYYY \hh:\mi:\ss \ms Week: \wk Weekday: \DW Quarter: \qq'&lt;/span&gt;),getdate()&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;p&gt;
The formatstring can contain severall formatstrings and will bring up all datetimeparts
you want, including some additional textparts...
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;FUNCTION&lt;/span&gt; [dbo].[fn_formatdate](@dat
datetime,@format &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(255)) &lt;span class="kwrd"&gt;RETURNS&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(255) &lt;span class="kwrd"&gt;AS&lt;/span&gt; &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; &lt;span class="kwrd"&gt;declare&lt;/span&gt; @ret &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(255) &lt;span class="kwrd"&gt;declare&lt;/span&gt; @i &lt;span class="kwrd"&gt;int&lt;/span&gt; &lt;span class="rem"&gt;--
year 4 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@format,&lt;span class="str"&gt;'\jjjj'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;year&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(4))) &lt;span class="rem"&gt;--
year 4 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\yyyy'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;year&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(4))) &lt;span class="rem"&gt;--
day 2 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\dd'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'0'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;day&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2)),2)) &lt;span class="rem"&gt;--
weekday 1 digit &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\dw'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(dw,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(1))) &lt;span class="rem"&gt;--
day of year&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\dy'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'00'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;day&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(3)),3)) &lt;span class="rem"&gt;--
hour 2 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\hh'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'0'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(hh,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2)),2)) &lt;span class="rem"&gt;--
year 2 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\jj'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;year&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(4)),2)) &lt;span class="rem"&gt;--
minute 2 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\mi'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'0'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(mi,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2)),2)) &lt;span class="rem"&gt;--
month 2 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\mm'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'0'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;month&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2)),2)) &lt;span class="rem"&gt;--
milliseconds 3 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\ms'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'00'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(ss,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(3)),3)) &lt;span class="rem"&gt;--
quarter 2 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\qq'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'0'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(qq,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2)),2)) &lt;span class="rem"&gt;--
seconds 2 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\ss'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'0'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(ss,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2)),2)) &lt;span class="rem"&gt;--
day 2 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\tt'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'0'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;day&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2)),2)) &lt;span class="rem"&gt;--
week 2 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\wk'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'0'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(wk,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2)),2)) &lt;span class="rem"&gt;--
year 2 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\yy'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;year&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(4)),2)) &lt;span class="rem"&gt;--
day 1-2 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\d'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;day&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2))) &lt;span class="rem"&gt;--
hour 1-2 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\h'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(hh,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2))) &lt;span class="rem"&gt;--
month 1-2 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\m'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;month&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2))) &lt;span class="rem"&gt;--
minute 2 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\n'&lt;/span&gt;,&lt;span class="kwrd"&gt;right&lt;/span&gt;(&lt;span class="str"&gt;'0'&lt;/span&gt;+&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(mi,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2)),2)) &lt;span class="rem"&gt;--
quarter 1 digit &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\q'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(qq,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(1))) &lt;span class="rem"&gt;--
seconds 1-2 digits&lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\s'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(ss,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2))) &lt;span class="rem"&gt;--
day 1-2 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\t'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(&lt;span class="kwrd"&gt;day&lt;/span&gt;(@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2))) &lt;span class="rem"&gt;--
week 1-2 digits &lt;/span&gt; &lt;span class="kwrd"&gt;set&lt;/span&gt; @ret=replace(@ret,&lt;span class="str"&gt;'\w'&lt;/span&gt;,&lt;span class="kwrd"&gt;cast&lt;/span&gt;(datepart(wk,@dat) &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(2))) &lt;span class="kwrd"&gt;return&lt;/span&gt; @ret &lt;span class="kwrd"&gt;END&lt;/span&gt; GO&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=ee700f2f-1af6-4526-ad65-d84524eb5526" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,ee700f2f-1af6-4526-ad65-d84524eb5526.aspx</comments>
      <category>Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=0bde9a5a-4f77-4a6d-9310-59a194c1db7c</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,0bde9a5a-4f77-4a6d-9310-59a194c1db7c.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,0bde9a5a-4f77-4a6d-9310-59a194c1db7c.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=0bde9a5a-4f77-4a6d-9310-59a194c1db7c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Do you want to create database snapshots? And do you want to do it programmatically?
Then you could use this stored procedure...
</p>
        <p>
Enjoy!
</p>
        <pre class="csharpcode">
          <span class="kwrd">CREATE</span>
          <span class="kwrd">PROC</span> [dbo].[spr_CreateSnapshot]
(@Masterdb <span class="kwrd">VARCHAR</span>(255), @SnapshotName <span class="kwrd">VARCHAR</span>(255),
@<span class="kwrd">Execute</span><span class="kwrd">BIT</span> = 1) <span class="kwrd">AS</span><span class="kwrd">SET</span> NOCOUNT <span class="kwrd">ON</span><span class="kwrd">DECLARE</span> @NewLine <span class="kwrd">CHAR</span>(2) <span class="kwrd">DECLARE</span> @Q <span class="kwrd">CHAR</span>(1) <span class="kwrd">DECLARE</span> @fname <span class="kwrd">VARCHAR</span>(255) <span class="kwrd">DECLARE</span> @extention <span class="kwrd">VARCHAR</span>(255) <span class="kwrd">DECLARE</span> @Pfad <span class="kwrd">VARCHAR</span>(255) <span class="kwrd">DECLARE</span> @DBname <span class="kwrd">VARCHAR</span>(255) <span class="kwrd">DECLARE</span> @LogicName <span class="kwrd">VARCHAR</span>(255) <span class="kwrd">DECLARE</span> @Command <span class="kwrd">VARCHAR</span>(<span class="kwrd">MAX</span>) <span class="kwrd">DECLARE</span> @indexExt <span class="kwrd">INT</span><span class="kwrd">DECLARE</span> @indexPfad <span class="kwrd">INT</span><span class="kwrd">DECLARE</span> @lenFname <span class="kwrd">INT</span><span class="kwrd">DECLARE</span> @lenPfad <span class="kwrd">INT</span><span class="kwrd">DECLARE</span> @lenDB <span class="kwrd">INT</span><span class="kwrd">DECLARE</span> @lenExt <span class="kwrd">INT</span><span class="kwrd">CREATE</span><span class="kwrd">TABLE</span> #Info
(physical_name <span class="kwrd">VARCHAR</span>(255) <span class="kwrd">not</span><span class="kwrd">null</span>,
logicname <span class="kwrd">VARCHAR</span>(255) <span class="kwrd">not</span><span class="kwrd">null</span>) <span class="kwrd">SET</span> @newLine
= <span class="kwrd">CHAR</span>(13) + <span class="kwrd">CHAR</span>(10) <span class="kwrd">SET</span> @Q
= <span class="kwrd">CHAR</span>(39) <span class="kwrd">SET</span> @command = <span class="str">'INSERT
INTO #info (physical_name, logicname) SELECT s.physical_name,s.[name] AS LogicName
FROM '</span> + Quotename(@masterdb) + <span class="str">'.sys.filegroups as g INNER
JOIN sys.master_files AS s ON s.type = 0 AND s.database_id = db_id('</span> + @Q +
@Masterdb + @Q + <span class="str">') AND s.drop_lsn is null AND s.data_space_id =
g.data_space_id ORDER BY g.data_space_id'</span><span class="kwrd">EXECUTE</span> (@Command) <span class="kwrd">SET</span> @Command
= <span class="str">'CREATE DATABASE '</span> + @SnapshotName + @NewLine <span class="kwrd">SET</span> @Command
= @Command + <span class="str">'ON'</span> + @NewLine <span class="kwrd">DECLARE</span> c <span class="kwrd">CURSOR</span> READ_ONLY <span class="kwrd">FOR</span><span class="kwrd">SELECT</span> physical_name,
logicname <span class="kwrd">FROM</span> #info <span class="kwrd">OPEN</span> c <span class="kwrd">FETCH</span><span class="kwrd">NEXT</span><span class="kwrd">FROM</span> c <span class="kwrd">INTO</span> @fname,@LogicName <span class="kwrd">WHILE</span> (@@fetch_status
&lt;&gt; -1) <span class="kwrd">BEGIN</span><span class="kwrd">IF</span> (@@fetch_status
&lt;&gt; -2) <span class="kwrd">BEGIN</span><span class="kwrd">SET</span> @fname
= REVERSE(@fname) <span class="kwrd">SET</span> @lenFname = LEN(@fname) <span class="kwrd">SET</span> @indexExt
= CHARINDEX(<span class="str">'.'</span>,@fname) -1 <span class="kwrd">SET</span> @indexPfad
= CHARINDEX(<span class="str">'\'</span>,@fname) - 1 <span class="kwrd">SET</span> @extention
= REVERSE(<span class="kwrd">SUBSTRING</span> (@fname, 1, @indexExt)) <span class="kwrd">SET</span> @lenExt
= LEN(@extention) <span class="kwrd">SET</span> @Pfad = <span class="kwrd">LEFT</span> (REVERSE(@fname),
@lenFname - @indexPfad) <span class="kwrd">SET</span> @lenPfad = LEN(@Pfad) <span class="kwrd">SET</span> @DBname
= <span class="kwrd">SUBSTRING</span>(REVERSE(@fname), @lenPfad + 1, (@lenFname -
@lenPfad - @lenExt) - 1) <span class="kwrd">SET</span> @Command = @Command + <span class="str">'(Name
= '</span> + @Q + @LogicName + @Q + <span class="str">', Filename = '</span> + @Q <span class="kwrd">SET</span> @Command
= @Command + @Pfad + @SnapshotName + <span class="str">'_'</span> + @DBname + <span class="str">'.'</span> + <span class="str">'ssh'</span> +
@Q + <span class="str">'),'</span> + @NewLine <span class="kwrd">END</span><span class="kwrd">FETCH</span><span class="kwrd">NEXT</span><span class="kwrd">FROM</span> c <span class="kwrd">INTO</span> @fname,@LogicName <span class="kwrd">END</span><span class="kwrd">CLOSE</span> c <span class="kwrd">DEALLOCATE</span> c <span class="kwrd">SET</span> @Command
= <span class="kwrd">LEFT</span>(@Command,LEN(@Command)-3) + @NewLine + <span class="str">'AS
SNAPSHOT OF '</span> + @masterdb <span class="kwrd">IF</span> @<span class="kwrd">Execute</span> =
1 <span class="kwrd">BEGIN</span><span class="kwrd">EXEC</span> (@Command) <span class="kwrd">END</span><span class="kwrd">ELSE</span><span class="kwrd">BEGIN</span><span class="kwrd">SELECT</span> @Command <span class="kwrd">AS</span> Command <font color="#0000ff">END</font></pre>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=0bde9a5a-4f77-4a6d-9310-59a194c1db7c" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>little SQL-helpers: Create database snapshots via stored procedure</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,0bde9a5a-4f77-4a6d-9310-59a194c1db7c.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,0bde9a5a-4f77-4a6d-9310-59a194c1db7c.aspx</link>
      <pubDate>Mon, 24 Sep 2007 16:14:49 GMT</pubDate>
      <description>&lt;p&gt;
Do you want to create database snapshots? And do you want to do it programmatically?
Then you could use this stored procedure...
&lt;/p&gt;
&lt;p&gt;
Enjoy!
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;PROC&lt;/span&gt; [dbo].[spr_CreateSnapshot]
(@Masterdb &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(255), @SnapshotName &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(255),
@&lt;span class="kwrd"&gt;Execute&lt;/span&gt; &lt;span class="kwrd"&gt;BIT&lt;/span&gt; = 1) &lt;span class="kwrd"&gt;AS&lt;/span&gt; &lt;span class="kwrd"&gt;SET&lt;/span&gt; NOCOUNT &lt;span class="kwrd"&gt;ON&lt;/span&gt; &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @NewLine &lt;span class="kwrd"&gt;CHAR&lt;/span&gt;(2) &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @Q &lt;span class="kwrd"&gt;CHAR&lt;/span&gt;(1) &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @fname &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(255) &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @extention &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(255) &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @Pfad &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(255) &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @DBname &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(255) &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @LogicName &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(255) &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @Command &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(&lt;span class="kwrd"&gt;MAX&lt;/span&gt;) &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @indexExt &lt;span class="kwrd"&gt;INT&lt;/span&gt; &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @indexPfad &lt;span class="kwrd"&gt;INT&lt;/span&gt; &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @lenFname &lt;span class="kwrd"&gt;INT&lt;/span&gt; &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @lenPfad &lt;span class="kwrd"&gt;INT&lt;/span&gt; &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @lenDB &lt;span class="kwrd"&gt;INT&lt;/span&gt; &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @lenExt &lt;span class="kwrd"&gt;INT&lt;/span&gt; &lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;TABLE&lt;/span&gt; #Info
(physical_name &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(255) &lt;span class="kwrd"&gt;not&lt;/span&gt; &lt;span class="kwrd"&gt;null&lt;/span&gt;,
logicname &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(255) &lt;span class="kwrd"&gt;not&lt;/span&gt; &lt;span class="kwrd"&gt;null&lt;/span&gt;) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @newLine
= &lt;span class="kwrd"&gt;CHAR&lt;/span&gt;(13) + &lt;span class="kwrd"&gt;CHAR&lt;/span&gt;(10) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Q
= &lt;span class="kwrd"&gt;CHAR&lt;/span&gt;(39) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @command = &lt;span class="str"&gt;'INSERT
INTO #info (physical_name, logicname) SELECT s.physical_name,s.[name] AS LogicName
FROM '&lt;/span&gt; + Quotename(@masterdb) + &lt;span class="str"&gt;'.sys.filegroups as g INNER
JOIN sys.master_files AS s ON s.type = 0 AND s.database_id = db_id('&lt;/span&gt; + @Q +
@Masterdb + @Q + &lt;span class="str"&gt;') AND s.drop_lsn is null AND s.data_space_id =
g.data_space_id ORDER BY g.data_space_id'&lt;/span&gt; &lt;span class="kwrd"&gt;EXECUTE&lt;/span&gt; (@Command) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Command
= &lt;span class="str"&gt;'CREATE DATABASE '&lt;/span&gt; + @SnapshotName + @NewLine &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Command
= @Command + &lt;span class="str"&gt;'ON'&lt;/span&gt; + @NewLine &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; c &lt;span class="kwrd"&gt;CURSOR&lt;/span&gt; READ_ONLY &lt;span class="kwrd"&gt;FOR&lt;/span&gt; &lt;span class="kwrd"&gt;SELECT&lt;/span&gt; physical_name,
logicname &lt;span class="kwrd"&gt;FROM&lt;/span&gt; #info &lt;span class="kwrd"&gt;OPEN&lt;/span&gt; c &lt;span class="kwrd"&gt;FETCH&lt;/span&gt; &lt;span class="kwrd"&gt;NEXT&lt;/span&gt; &lt;span class="kwrd"&gt;FROM&lt;/span&gt; c &lt;span class="kwrd"&gt;INTO&lt;/span&gt; @fname,@LogicName &lt;span class="kwrd"&gt;WHILE&lt;/span&gt; (@@fetch_status
&amp;lt;&amp;gt; -1) &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; &lt;span class="kwrd"&gt;IF&lt;/span&gt; (@@fetch_status
&amp;lt;&amp;gt; -2) &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; &lt;span class="kwrd"&gt;SET&lt;/span&gt; @fname
= REVERSE(@fname) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @lenFname = LEN(@fname) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @indexExt
= CHARINDEX(&lt;span class="str"&gt;'.'&lt;/span&gt;,@fname) -1 &lt;span class="kwrd"&gt;SET&lt;/span&gt; @indexPfad
= CHARINDEX(&lt;span class="str"&gt;'\'&lt;/span&gt;,@fname) - 1 &lt;span class="kwrd"&gt;SET&lt;/span&gt; @extention
= REVERSE(&lt;span class="kwrd"&gt;SUBSTRING&lt;/span&gt; (@fname, 1, @indexExt)) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @lenExt
= LEN(@extention) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Pfad = &lt;span class="kwrd"&gt;LEFT&lt;/span&gt; (REVERSE(@fname),
@lenFname - @indexPfad) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @lenPfad = LEN(@Pfad) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @DBname
= &lt;span class="kwrd"&gt;SUBSTRING&lt;/span&gt;(REVERSE(@fname), @lenPfad + 1, (@lenFname -
@lenPfad - @lenExt) - 1) &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Command = @Command + &lt;span class="str"&gt;'(Name
= '&lt;/span&gt; + @Q + @LogicName + @Q + &lt;span class="str"&gt;', Filename = '&lt;/span&gt; + @Q &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Command
= @Command + @Pfad + @SnapshotName + &lt;span class="str"&gt;'_'&lt;/span&gt; + @DBname + &lt;span class="str"&gt;'.'&lt;/span&gt; + &lt;span class="str"&gt;'ssh'&lt;/span&gt; +
@Q + &lt;span class="str"&gt;'),'&lt;/span&gt; + @NewLine &lt;span class="kwrd"&gt;END&lt;/span&gt; &lt;span class="kwrd"&gt;FETCH&lt;/span&gt; &lt;span class="kwrd"&gt;NEXT&lt;/span&gt; &lt;span class="kwrd"&gt;FROM&lt;/span&gt; c &lt;span class="kwrd"&gt;INTO&lt;/span&gt; @fname,@LogicName &lt;span class="kwrd"&gt;END&lt;/span&gt; &lt;span class="kwrd"&gt;CLOSE&lt;/span&gt; c &lt;span class="kwrd"&gt;DEALLOCATE&lt;/span&gt; c &lt;span class="kwrd"&gt;SET&lt;/span&gt; @Command
= &lt;span class="kwrd"&gt;LEFT&lt;/span&gt;(@Command,LEN(@Command)-3) + @NewLine + &lt;span class="str"&gt;'AS
SNAPSHOT OF '&lt;/span&gt; + @masterdb &lt;span class="kwrd"&gt;IF&lt;/span&gt; @&lt;span class="kwrd"&gt;Execute&lt;/span&gt; =
1 &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; &lt;span class="kwrd"&gt;EXEC&lt;/span&gt; (@Command) &lt;span class="kwrd"&gt;END&lt;/span&gt; &lt;span class="kwrd"&gt;ELSE&lt;/span&gt; &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; &lt;span class="kwrd"&gt;SELECT&lt;/span&gt; @Command &lt;span class="kwrd"&gt;AS&lt;/span&gt; Command &lt;font color="#0000ff"&gt;END&lt;/font&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=0bde9a5a-4f77-4a6d-9310-59a194c1db7c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,0bde9a5a-4f77-4a6d-9310-59a194c1db7c.aspx</comments>
      <category>Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=1774e9d4-2a23-4240-bfae-1c22d40bc270</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,1774e9d4-2a23-4240-bfae-1c22d40bc270.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,1774e9d4-2a23-4240-bfae-1c22d40bc270.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1774e9d4-2a23-4240-bfae-1c22d40bc270</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
You are interested in getting some informations about your SQL Server, for example
to be able to do an auditing on your SQL Server via SSIS, this code will help:
</p>
        <pre class="csharpcode">
          <span class="kwrd">SELECT</span> SERVERPROPERTY (<span class="str">'MachineName'</span>) <span class="kwrd">as</span> MachineName,
SERVERPROPERTY (<span class="str">'InstanceName'</span>) <span class="kwrd">as</span> InstanceName,
SERVERPROPERTY (<span class="str">'ProductVersion'</span>) <span class="kwrd">as</span> ProductVersion,
SERVERPROPERTY (<span class="str">'ProductLevel'</span>) <span class="kwrd">As</span> ProductLevel,
SERVERPROPERTY (<span class="str">'Edition'</span>) <span class="kwrd">as</span> Edition,
SERVERPROPERTY (<span class="str">'LicenseType'</span>) <span class="kwrd">as</span> LicenseType,
SERVERPROPERTY (<span class="str">'NumLicenses'</span>) <span class="kwrd">as</span> NumLicenses,
SERVERPROPERTY (<span class="str">'IsClustered'</span>) <span class="kwrd">as</span> IsClustered,
SERVERPROPERTY (<span class="str">'IsIntegratedSecurityOnly'</span>) <span class="kwrd">as</span> IsIntegratedSecurityOnly</pre>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=1774e9d4-2a23-4240-bfae-1c22d40bc270" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>little SQL-helpers: Get some infos about your SQL Server</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,1774e9d4-2a23-4240-bfae-1c22d40bc270.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,1774e9d4-2a23-4240-bfae-1c22d40bc270.aspx</link>
      <pubDate>Mon, 24 Sep 2007 15:57:03 GMT</pubDate>
      <description>&lt;p&gt;
You are interested in getting some informations about your SQL Server, for example
to be able to do an auditing on your SQL Server via SSIS, this code will help:
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; SERVERPROPERTY (&lt;span class="str"&gt;'MachineName'&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; MachineName,
SERVERPROPERTY (&lt;span class="str"&gt;'InstanceName'&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; InstanceName,
SERVERPROPERTY (&lt;span class="str"&gt;'ProductVersion'&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; ProductVersion,
SERVERPROPERTY (&lt;span class="str"&gt;'ProductLevel'&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; ProductLevel,
SERVERPROPERTY (&lt;span class="str"&gt;'Edition'&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; Edition,
SERVERPROPERTY (&lt;span class="str"&gt;'LicenseType'&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; LicenseType,
SERVERPROPERTY (&lt;span class="str"&gt;'NumLicenses'&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; NumLicenses,
SERVERPROPERTY (&lt;span class="str"&gt;'IsClustered'&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; IsClustered,
SERVERPROPERTY (&lt;span class="str"&gt;'IsIntegratedSecurityOnly'&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; IsIntegratedSecurityOnly&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=1774e9d4-2a23-4240-bfae-1c22d40bc270" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,1774e9d4-2a23-4240-bfae-1c22d40bc270.aspx</comments>
      <category>Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=bc048c6b-9338-45ec-82bb-da688eb69c53</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,bc048c6b-9338-45ec-82bb-da688eb69c53.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,bc048c6b-9338-45ec-82bb-da688eb69c53.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=bc048c6b-9338-45ec-82bb-da688eb69c53</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>
            <font color="#003399">
            </font>
          </strong>
        </p>
        <p>
I do not know the original author of this stored procedure...<br />
If you are the one - please send me an email and I will publish the right credits!
</p>
        <p>
After changing the structure of a table or delete one you will need to check and refresh
your views also. This code will help...
</p>
        <pre class="csharpcode">
          <span class="kwrd">DECLARE</span> @Table_Name <span class="kwrd">varchar</span>(100) <span class="kwrd">DECLARE</span> Refresh_Views <span class="kwrd">CURSOR</span><span class="kwrd">FOR</span><span class="kwrd">SELECT</span> Table_Name <span class="kwrd">FROM</span> INFORMATION_SCHEMA.TABLES <span class="kwrd">WHERE</span> TABLE_TYPE
= <span class="str">'VIEW'</span><span class="kwrd">AND</span> TABLE_SCHEMA = <span class="str">'dbo'</span><span class="kwrd">OPEN</span> Refresh_Views <span class="kwrd">FETCH</span><span class="kwrd">NEXT</span><span class="kwrd">FROM</span> Refresh_Views <span class="kwrd">INTO</span> @Table_Name <span class="kwrd">WHILE</span><span class="preproc">@@FETCH_STATUS</span> =
0 <span class="kwrd">BEGIN</span><span class="kwrd">EXEC</span> sp_refreshview @Table_Name <span class="kwrd">FETCH</span><span class="kwrd">NEXT</span><span class="kwrd">FROM</span> Refresh_Views <span class="kwrd">INTO</span> @Table_Name <span class="kwrd">END</span><span class="kwrd">CLOSE</span> Refresh_Views <span class="kwrd">DEALLOCATE</span> Refresh_Views</pre>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <p>
          <strong>
            <font color="#003399">
            </font>
          </strong>
        </p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=bc048c6b-9338-45ec-82bb-da688eb69c53" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>little SQL-helpers: sp_refreshview</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,bc048c6b-9338-45ec-82bb-da688eb69c53.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,bc048c6b-9338-45ec-82bb-da688eb69c53.aspx</link>
      <pubDate>Mon, 24 Sep 2007 15:51:39 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;&lt;font color="#003399"&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I do not know the original author of this stored procedure...&lt;br&gt;
If you are the one - please send me an email and I will publish the right credits!
&lt;/p&gt;
&lt;p&gt;
After changing the structure of a table or delete one you will need to check and refresh
your views also. This code will help...
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @Table_Name &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(100) &lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; Refresh_Views &lt;span class="kwrd"&gt;CURSOR&lt;/span&gt; &lt;span class="kwrd"&gt;FOR&lt;/span&gt; &lt;span class="kwrd"&gt;SELECT&lt;/span&gt; Table_Name &lt;span class="kwrd"&gt;FROM&lt;/span&gt; INFORMATION_SCHEMA.TABLES &lt;span class="kwrd"&gt;WHERE&lt;/span&gt; TABLE_TYPE
= &lt;span class="str"&gt;'VIEW'&lt;/span&gt; &lt;span class="kwrd"&gt;AND&lt;/span&gt; TABLE_SCHEMA = &lt;span class="str"&gt;'dbo'&lt;/span&gt; &lt;span class="kwrd"&gt;OPEN&lt;/span&gt; Refresh_Views &lt;span class="kwrd"&gt;FETCH&lt;/span&gt; &lt;span class="kwrd"&gt;NEXT&lt;/span&gt; &lt;span class="kwrd"&gt;FROM&lt;/span&gt; Refresh_Views &lt;span class="kwrd"&gt;INTO&lt;/span&gt; @Table_Name &lt;span class="kwrd"&gt;WHILE&lt;/span&gt; &lt;span class="preproc"&gt;@@FETCH_STATUS&lt;/span&gt; =
0 &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt; &lt;span class="kwrd"&gt;EXEC&lt;/span&gt; sp_refreshview @Table_Name &lt;span class="kwrd"&gt;FETCH&lt;/span&gt; &lt;span class="kwrd"&gt;NEXT&lt;/span&gt; &lt;span class="kwrd"&gt;FROM&lt;/span&gt; Refresh_Views &lt;span class="kwrd"&gt;INTO&lt;/span&gt; @Table_Name &lt;span class="kwrd"&gt;END&lt;/span&gt; &lt;span class="kwrd"&gt;CLOSE&lt;/span&gt; Refresh_Views &lt;span class="kwrd"&gt;DEALLOCATE&lt;/span&gt; Refresh_Views&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font color="#003399"&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=bc048c6b-9338-45ec-82bb-da688eb69c53" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,bc048c6b-9338-45ec-82bb-da688eb69c53.aspx</comments>
      <category>Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=832818c8-69ca-48fd-8c7d-b28099b99c32</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,832818c8-69ca-48fd-8c7d-b28099b99c32.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,832818c8-69ca-48fd-8c7d-b28099b99c32.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=832818c8-69ca-48fd-8c7d-b28099b99c32</wfw:commentRss>
      <title>PASS BootCamp 2007 - DBA &amp; Reporting Services</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,832818c8-69ca-48fd-8c7d-b28099b99c32.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,832818c8-69ca-48fd-8c7d-b28099b99c32.aspx</link>
      <pubDate>Wed, 20 Jun 2007 21:29:37 GMT</pubDate>
      <description>PASS Germany is doing a BootCamp again this year!

[Even if it is an event in German language I am writing in English - please spread this news around in your blogs though interested community members have the chance to participate]

We are slightly breaking traditions this year, because we are not having a complete BI-focused BootCamp, we are having two different tracks this time:

the first one is DBA-stuff including performance optimization, clustering, mirroring, security, etc

the second one is a deep dive into SQL Server Reporting Services including development, design, security, infrastructur and 3rd party tools like Dundas also
With one habit we do not break traditions! We have included three suprising night sessions again and also two late night sessions - stay tuned!

For further information visit the event page - if you want to register, please use this link.

The Early-Bird ends at 9th July 2007 and the seats are limited - so register as fast as possible...&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=832818c8-69ca-48fd-8c7d-b28099b99c32"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,832818c8-69ca-48fd-8c7d-b28099b99c32.aspx</comments>
      <category>BI/Reporting;MS SQL Server;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS;PASS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=eb01b206-73ee-45c9-a281-0366c3725937</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,eb01b206-73ee-45c9-a281-0366c3725937.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,eb01b206-73ee-45c9-a281-0366c3725937.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=eb01b206-73ee-45c9-a281-0366c3725937</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.fits-consulting.de/blog/content/binary/WindowsLiveWriter/SQLServerKatmaiitsofficial_39C7/katmai_hero%5B3%5D.jpg" atomicselection="true">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="60" src="http://www.fits-consulting.de/blog/content/binary/WindowsLiveWriter/SQLServerKatmaiitsofficial_39C7/katmai_hero_thumb%5B1%5D.jpg" width="320" border="0" />
          </a>
        </p>
        <p>
Today at the BI Conference in Seattle Jeff Raikes from Microsoft has given a first
official impact - just slides - on the next SQL Server version.
</p>
        <p>
I have seen a new feature called Change Data Capture (also mentioned in the <a title="Katmai datasheet" href="http://download.microsoft.com/download/B/F/2/BF24C54E-5635-4C79-AFB4-0C3F840E79F4/Katmai_datasheet_Final.pdf" target="_blank">datasheet</a>)
in the session "PL208 Data Warehousing with Microsoft SQL Server 2005" presented by
Gopal Ashok, Program Manager with the SQL Server Product team, which was quite
impressive.
</p>
        <p>
Ever dealt with the problem of having mass data in a table and no "real" marker to
identify the specific rows for incremental data operations like inserts, updates and
deletes?<br />
The Change Data Capture should ease your pain by creating a kind of audit table to
watch data modification without the need of programming stored procedures, triggers
and so on.<br />
I am extremely curious how this feature proves in real life scenarios. And I am also
a little bit surprised if the SSIS team will not bring up some new tasks to enable
the use of the audit table of the Change Data Capture - or do we still need to develop
the handling concerning load cycles, deleting of successfully loaded records, etc
by our own? A kind of automatic delta queue mechanism and handling like
in SAP systems would be great!
</p>
        <p>
Tomorrow Ted Kummert, corporate vice president of the Data and Storage Platform Division
at Microsoft will have a keynote at the morning - I hope that he will show some more
live impressions.
</p>
        <p>
You will find the official press release <a title="Katmai Press release" href="http://www.microsoft.com/presspass/press/2007/may07/05-09KatmaiPR.mspx" target="_blank">here</a>.
</p>
        <p>
And there also is a <a title="SQL future version" href="http://www.microsoft.com/sql/prodinfo/futureversion/default.mspx" target="_blank">information
website</a> online.
</p>
        <p>
Regarding to the press release, "SQL Server “Katmai” is scheduled to be delivered
in 2008" - but there is no information about CTP´s available on the website yet.
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=eb01b206-73ee-45c9-a281-0366c3725937" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>SQL Server Katmai - its official</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,eb01b206-73ee-45c9-a281-0366c3725937.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,eb01b206-73ee-45c9-a281-0366c3725937.aspx</link>
      <pubDate>Thu, 10 May 2007 02:03:05 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.fits-consulting.de/blog/content/binary/WindowsLiveWriter/SQLServerKatmaiitsofficial_39C7/katmai_hero%5B3%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="60" src="http://www.fits-consulting.de/blog/content/binary/WindowsLiveWriter/SQLServerKatmaiitsofficial_39C7/katmai_hero_thumb%5B1%5D.jpg" width="320" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Today at the BI Conference in Seattle Jeff Raikes from Microsoft has given a first
official impact - just slides - on the next SQL Server version.
&lt;/p&gt;
&lt;p&gt;
I have seen a new feature called Change Data Capture (also mentioned in the &lt;a title="Katmai datasheet" href="http://download.microsoft.com/download/B/F/2/BF24C54E-5635-4C79-AFB4-0C3F840E79F4/Katmai_datasheet_Final.pdf" target="_blank"&gt;datasheet&lt;/a&gt;)
in the session "PL208 Data Warehousing with Microsoft SQL Server 2005" presented by
Gopal Ashok,&amp;nbsp;Program Manager with the SQL Server Product team, which was quite
impressive.
&lt;/p&gt;
&lt;p&gt;
Ever dealt with the problem of having mass data in a table and no "real" marker to
identify the specific rows for incremental data operations like inserts, updates and
deletes?&lt;br&gt;
The Change Data Capture should ease your pain by creating a kind of audit table to
watch data modification without the need of programming stored procedures, triggers
and so on.&lt;br&gt;
I am extremely curious how this feature proves in real life scenarios. And I am also
a little bit surprised if the SSIS team will not bring up some new tasks to enable
the use of the audit table of the Change Data Capture - or do we still need to develop
the handling concerning load cycles, deleting of successfully loaded records, etc
by our own? A kind of automatic delta queue mechanism&amp;nbsp;and handling&amp;nbsp;like
in SAP systems would be great!
&lt;/p&gt;
&lt;p&gt;
Tomorrow Ted Kummert, corporate vice president of the Data and Storage Platform Division
at Microsoft will have a keynote at the morning - I hope that he will show some more
live impressions.
&lt;/p&gt;
&lt;p&gt;
You will find the official press release &lt;a title="Katmai Press release" href="http://www.microsoft.com/presspass/press/2007/may07/05-09KatmaiPR.mspx" target="_blank"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
And there also is a &lt;a title="SQL future version" href="http://www.microsoft.com/sql/prodinfo/futureversion/default.mspx" target="_blank"&gt;information
website&lt;/a&gt; online.
&lt;/p&gt;
&lt;p&gt;
Regarding to the press release, "SQL Server “Katmai” is scheduled to be delivered
in 2008" - but there is no information about CTP´s available on the website yet.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=eb01b206-73ee-45c9-a281-0366c3725937" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,eb01b206-73ee-45c9-a281-0366c3725937.aspx</comments>
      <category>MS;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/MSDB - Express;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=45ea91f8-947b-444f-ae75-5324247a6154</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,45ea91f8-947b-444f-ae75-5324247a6154.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,45ea91f8-947b-444f-ae75-5324247a6154.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=45ea91f8-947b-444f-ae75-5324247a6154</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a title="Vera Noest" href="http://sql.veranoest.net/" target="_blank">Vera Noest</a> provides
a really great link collection of ressources which will be very usefull while doing
troubleshoting.
</p>
        <p>
Vera also provides troubleshooting tips for <a title="Terminal Server and Citrix" href="http://ts.veranoest.net/" target="_blank">Terminal
Server and Citrix</a>.
</p>
        <p>
Worth reading - check it out!
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=45ea91f8-947b-444f-ae75-5324247a6154" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>SQL Server troubleshooting</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,45ea91f8-947b-444f-ae75-5324247a6154.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,45ea91f8-947b-444f-ae75-5324247a6154.aspx</link>
      <pubDate>Tue, 01 May 2007 22:34:30 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a title="Vera Noest" href="http://sql.veranoest.net/" target="_blank"&gt;Vera Noest&lt;/a&gt; provides
a really great link collection of ressources which will be very usefull while doing
troubleshoting.
&lt;/p&gt;
&lt;p&gt;
Vera also provides troubleshooting tips for &lt;a title="Terminal Server and Citrix" href="http://ts.veranoest.net/" target="_blank"&gt;Terminal
Server and Citrix&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Worth reading - check it out!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=45ea91f8-947b-444f-ae75-5324247a6154" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,45ea91f8-947b-444f-ae75-5324247a6154.aspx</comments>
      <category>MS;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/MSDB - Express;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=ce3ab959-2fe4-40bf-beee-1f73f80d0ebd</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,ce3ab959-2fe4-40bf-beee-1f73f80d0ebd.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,ce3ab959-2fe4-40bf-beee-1f73f80d0ebd.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ce3ab959-2fe4-40bf-beee-1f73f80d0ebd</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a title="Extracting Olap Data from SSAS using SSIS" href="http://geekswithblogs.net/darrengosbell/archive/2006/04/26/76418.aspx" target="_blank">Darren
Gosbell</a> has posted a very interesting article about querying SSAS and use the
result in the relational part of SQL Server.
</p>
        <p>
I have used it in a project to retransfer data which was calculated due to a parent
child dimension containing items for a financial analysis.<br />
Calculating this via the relational data would have been a mess, because of having
to rebuild the whole calculation from the bottom to the top of the hierarchy.
</p>
        <p>
All you have to do is to define a linked server in the first step:
</p>
        <pre class="csharpcode">
          <span class="kwrd">USE</span> master <span class="kwrd">GO</span> /* <span class="kwrd">Add</span><span class="kwrd">new</span> linked
server */ <span class="kwrd">EXEC</span> sp_addlinkedserver @server=<span class="str">'LINKED_OLAP'</span>, <span class="rem">--
local SQL name given to the linked server </span> @srvproduct=<span class="str">''</span>, <span class="rem">--
not used </span> @provider=<span class="str">'MSOLAP.3'</span>, <span class="rem">--
OLE DB provider (the .2 means the SQL2K version) </span> @datasrc=<span class="str">'localhost'</span>, <span class="rem">--
analysis server name (machine name) </span> @<span class="kwrd">catalog</span>=<span class="str">'Adventure
Works DW'</span><span class="rem">-- default catalog/database</span></pre>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <p>
After successfully defining the linked server you will be able to query any SSAS cube
based on your security like this way:
</p>
        <pre class="csharpcode">
          <span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span><span class="kwrd">OpenQuery</span>(linked_olap,<span class="str">'SELECT
--measures.members {Measures.[Internet Sales Amount]} ON COLUMNS, [Date].[Month].members
ON ROWS FROM [Adventure Works]'</span>) </pre>
        <p>
While writing this blog entry I tested it on my notebook also - and was very astonished
that querying the cube does not work, while testing the linked server worked
well.<br />
I am getting an error message like:<br />
"Msg 7399, Level 16, State 1, Line 1<br />
The OLE DB provider "MSOLAP.3" for linked server "linked_olap" reported an error.
The provider did not give any information about the error.<br />
Msg 7330, Level 16, State 2, Line 1<br />
Cannot fetch a row from OLE DB provider "MSOLAP.3" for linked server "linked_olap"."
</p>
        <p>
Maybe it depends on Windows Vista, even with the security set in the right way and
also running SSMS as an administrator...
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=ce3ab959-2fe4-40bf-beee-1f73f80d0ebd" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>little SQL-helpers: Extracting Olap Data from SSAS using SSIS - Darren Gosbell</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,ce3ab959-2fe4-40bf-beee-1f73f80d0ebd.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,ce3ab959-2fe4-40bf-beee-1f73f80d0ebd.aspx</link>
      <pubDate>Tue, 01 May 2007 22:05:16 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a title="Extracting Olap Data from SSAS using SSIS" href="http://geekswithblogs.net/darrengosbell/archive/2006/04/26/76418.aspx" target="_blank"&gt;Darren
Gosbell&lt;/a&gt; has posted a very interesting article about querying SSAS and use the
result&amp;nbsp;in the relational part of SQL Server.
&lt;/p&gt;
&lt;p&gt;
I have used it in a project to retransfer data which was calculated due to a parent
child dimension containing items for a financial analysis.&lt;br&gt;
Calculating this via the relational data would have been a mess, because of having
to rebuild the whole calculation from the bottom to the top of the hierarchy.
&lt;/p&gt;
&lt;p&gt;
All you have to do is to define a linked server in the first step:
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;USE&lt;/span&gt; master &lt;span class="kwrd"&gt;GO&lt;/span&gt; /* &lt;span class="kwrd"&gt;Add&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; linked
server */ &lt;span class="kwrd"&gt;EXEC&lt;/span&gt; sp_addlinkedserver @server=&lt;span class="str"&gt;'LINKED_OLAP'&lt;/span&gt;, &lt;span class="rem"&gt;--
local SQL name given to the linked server &lt;/span&gt; @srvproduct=&lt;span class="str"&gt;''&lt;/span&gt;, &lt;span class="rem"&gt;--
not used &lt;/span&gt; @provider=&lt;span class="str"&gt;'MSOLAP.3'&lt;/span&gt;, &lt;span class="rem"&gt;--
OLE DB provider (the .2 means the SQL2K version) &lt;/span&gt; @datasrc=&lt;span class="str"&gt;'localhost'&lt;/span&gt;, &lt;span class="rem"&gt;--
analysis server name (machine name) &lt;/span&gt; @&lt;span class="kwrd"&gt;catalog&lt;/span&gt;=&lt;span class="str"&gt;'Adventure
Works DW'&lt;/span&gt; &lt;span class="rem"&gt;-- default catalog/database&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;p&gt;
After successfully defining the linked server you will be able to query any SSAS cube
based on your security like this way:
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; * &lt;span class="kwrd"&gt;FROM&lt;/span&gt; &lt;span class="kwrd"&gt;OpenQuery&lt;/span&gt;(linked_olap,&lt;span class="str"&gt;'SELECT
--measures.members {Measures.[Internet Sales Amount]} ON COLUMNS, [Date].[Month].members
ON ROWS FROM [Adventure Works]'&lt;/span&gt;) &lt;/pre&gt;
&lt;p&gt;
While writing this blog entry I tested it on my notebook also - and was very astonished
that&amp;nbsp;querying the cube&amp;nbsp;does not work, while testing the linked server worked
well.&lt;br&gt;
I am getting an error message like:&lt;br&gt;
"Msg 7399, Level 16, State 1, Line 1&lt;br&gt;
The OLE DB provider "MSOLAP.3" for linked server "linked_olap" reported an error.
The provider did not give any information about the error.&lt;br&gt;
Msg 7330, Level 16, State 2, Line 1&lt;br&gt;
Cannot fetch a row from OLE DB provider "MSOLAP.3" for linked server "linked_olap"."
&lt;/p&gt;
&lt;p&gt;
Maybe it depends on Windows Vista, even with the security set in the right way and
also running SSMS as an administrator...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=ce3ab959-2fe4-40bf-beee-1f73f80d0ebd" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,ce3ab959-2fe4-40bf-beee-1f73f80d0ebd.aspx</comments>
      <category>Development/T-SQL;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=079d6d52-c549-41e2-9431-8e4a281414d8</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,079d6d52-c549-41e2-9431-8e4a281414d8.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,079d6d52-c549-41e2-9431-8e4a281414d8.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=079d6d52-c549-41e2-9431-8e4a281414d8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a title="Narayana Vyas Kondreddi" href="http://vyaskn.tripod.com/" target="_blank">Narayana
Vyas Kondreddi</a> has published some nice little sql helpers to search and replace
data in various tables - therefor the following content is intellectual property of <a title="Narayana Vyas Kondreddi" href="http://vyaskn.tripod.com/" target="_blank">Narayana
Vyas Kondreddi</a>.
</p>
        <p>
Maybe you will have to adjust the sql commands to search only special tables via a
prefix for example or to just search via a special column...
</p>
        <p>
          <hr width="75%" color="#c0c0c0" size="1" />
        </p>
        <p>
        </p>
        <p>
The first one, <a title="SearchAllTables" href="http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm" target="_blank">SearchAllTables</a>,
can search all the columns of all the tables in a given database for a specific keyword:
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span>
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PROC</span> SearchAllTables<br />
(<br />
@SearchStr <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(100)<br />
)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Purpose: To search all columns of all tables for a given search string</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Written by: Narayana Vyas Kondreddi</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Site: http://vyaskn.tripod.com</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Tested on: SQL Server 7.0 and SQL Server 2000</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Date modified: 28th July 2002 22:50 GMT</span><br /><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">TABLE</span> #Results
(ColumnName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(370),
ColumnValue <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(3630))<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOCOUNT</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ON</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DECLARE</span> @TableName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(256),
@ColumnName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(128),
@SearchStr2 <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(110)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @TableName
= <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">''</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @SearchStr2
= <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'%'</span> +
@SearchStr + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'%'</span>,<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">''''</span>)<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHILE</span> @TableName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @ColumnName
= <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">''</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @TableName
= 
<br />
(<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">MIN</span>(<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_SCHEMA)
+ <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'.'</span> + <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_NAME))<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> INFORMATION_SCHEMA.TABLES<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> TABLE_TYPE
= <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'BASE
TABLE'</span><br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_SCHEMA)
+ <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'.'</span> + <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_NAME)
&gt; @TableName<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">OBJECTPROPERTY</span>(<br /><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">OBJECT_ID</span>(<br /><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_SCHEMA)
+ <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'.'</span> + <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_NAME)<br />
), <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'IsMSShipped'</span><br />
) = 0<br />
)<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHILE</span> (@TableName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span>) <span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> (@ColumnName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span>)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @ColumnName
=<br />
(<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">MIN</span>(<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(COLUMN_NAME))<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> INFORMATION_SCHEMA.COLUMNS<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> TABLE_SCHEMA
= <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PARSENAME</span>(@TableName,
2)<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> TABLE_NAME
= <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PARSENAME</span>(@TableName,
1)<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> DATA_TYPE <span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IN</span> (<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'char'</span>, <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'varchar'</span>, <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'nchar'</span>, <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'nvarchar'</span>)<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(COLUMN_NAME)
&gt; @ColumnName<br />
)<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IF</span> @ColumnName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INSERT</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INTO</span> #Results<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">EXEC</span><br />
(<br /><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'SELECT
'''</span> + @TableName + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'.'</span> +
@ColumnName + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">''',
LEFT('</span> + @ColumnName + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">',
3630) 
<br />
FROM '</span> + @TableName + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'
(NOLOCK) '</span> +<br /><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'
WHERE '</span> + @ColumnName + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'
LIKE '</span> + @SearchStr2<br />
)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> ColumnName,
ColumnValue <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> #Results<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span></span>
        </p>
        <hr width="75%" color="#c0c0c0" size="1" />
        <p>
The second one, <a title="SearchAndReplace" href="http://vyaskn.tripod.com/sql_server_search_and_replace.htm" target="_blank">SearchAndReplace</a>,
does not only perform the search but also will do a replace:
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span>
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PROC</span> SearchAndReplace<br />
(<br />
@SearchStr <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(100),<br />
@ReplaceStr <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(100)<br />
)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Purpose: To search all columns of all tables for a given search string and replace
it with another string</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Written by: Narayana Vyas Kondreddi</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Site: http://vyaskn.tripod.com</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Tested on: SQL Server 7.0 and SQL Server 2000</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--
Date modified: 2nd November 2002 13:50 GMT</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOCOUNT</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ON</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DECLARE</span> @TableName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(256),
@ColumnName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(128),
@SearchStr2 <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(110),
@SQL <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">nvarchar</span>(4000),
@RCTR <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @TableName
= <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">''</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @SearchStr2
= <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'%'</span> +
@SearchStr + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'%'</span>,<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">''''</span>)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @RCTR
= 0<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHILE</span> @TableName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @ColumnName
= <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">''</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @TableName
= 
<br />
(<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">MIN</span>(<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_SCHEMA)
+ <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'.'</span> + <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_NAME))<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> INFORMATION_SCHEMA.TABLES<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> TABLE_TYPE
= <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'BASE
TABLE'</span><br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_SCHEMA)
+ <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'.'</span> + <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_NAME)
&gt; @TableName<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">OBJECTPROPERTY</span>(<br /><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">OBJECT_ID</span>(<br /><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_SCHEMA)
+ <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'.'</span> + <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(TABLE_NAME)<br />
), <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'IsMSShipped'</span><br />
) = 0<br />
)<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHILE</span> (@TableName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span>) <span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> (@ColumnName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span>)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @ColumnName
=<br />
(<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">MIN</span>(<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(COLUMN_NAME))<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> INFORMATION_SCHEMA.COLUMNS<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> TABLE_SCHEMA
= <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PARSENAME</span>(@TableName,
2)<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> TABLE_NAME
= <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PARSENAME</span>(@TableName,
1)<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> DATA_TYPE <span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IN</span> (<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'char'</span>, <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'varchar'</span>, <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'nchar'</span>, <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'nvarchar'</span>)<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(COLUMN_NAME)
&gt; @ColumnName<br />
)<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IF</span> @ColumnName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @SQL= <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'UPDATE
'</span> + @TableName + 
<br /><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'
SET '</span> + @ColumnName 
<br />
+ <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'
= REPLACE('</span> + @ColumnName + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">',
'</span><br />
+ <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(@SearchStr, <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">''''</span>)
+ <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">',
'</span> + <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">QUOTENAME</span>(@ReplaceStr, <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">''''</span>)
+ 
<br /><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">')
WHERE '</span> + @ColumnName + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'
LIKE '</span> + @SearchStr2<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">EXEC</span> (@SQL)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @RCTR
= @RCTR + <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">@@ROWCOUNT</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'Replaced
'</span> + <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CAST</span>(@RCTR <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">varchar</span>)
+ <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'
occurence(s)'</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'Outcome'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /></span>
        </p>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=079d6d52-c549-41e2-9431-8e4a281414d8" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>little SQL-helpers: search and replace data from Narayana Vyas Kondreddi</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,079d6d52-c549-41e2-9431-8e4a281414d8.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,079d6d52-c549-41e2-9431-8e4a281414d8.aspx</link>
      <pubDate>Tue, 01 May 2007 19:37:56 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a title="Narayana Vyas Kondreddi" href="http://vyaskn.tripod.com/" target=_blank&gt;Narayana
Vyas Kondreddi&lt;/a&gt; has published some nice little sql helpers to search and&amp;nbsp;replace
data in various tables - therefor the following content is intellectual property of &lt;a title="Narayana Vyas Kondreddi" href="http://vyaskn.tripod.com/" target=_blank&gt;Narayana
Vyas Kondreddi&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Maybe you will have to adjust the sql commands to search only special tables via a
prefix for example&amp;nbsp;or to just search via a special column...
&lt;/p&gt;
&lt;p&gt;
&lt;hr width="75%" color=#c0c0c0 size=1&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
The first one, &lt;a title=SearchAllTables href="http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm" target=_blank&gt;SearchAllTables&lt;/a&gt;,
can search all the columns of all the tables in a given database for a specific keyword:
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PROC&lt;/span&gt; SearchAllTables&lt;br&gt;
(&lt;br&gt;
@SearchStr &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(100)&lt;br&gt;
)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Purpose: To search all columns of all tables for a given search string&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Written by: Narayana Vyas Kondreddi&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Site: http://vyaskn.tripod.com&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Tested on: SQL Server 7.0 and SQL Server 2000&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Date modified: 28th July 2002 22:50 GMT&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;TABLE&lt;/span&gt; #Results
(ColumnName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(370),
ColumnValue &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(3630))&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOCOUNT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ON&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DECLARE&lt;/span&gt; @TableName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(256),
@ColumnName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(128),
@SearchStr2 &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(110)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @TableName
= &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;''&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @SearchStr2
= &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'%'&lt;/span&gt; +
@SearchStr + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'%'&lt;/span&gt;,&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;''''&lt;/span&gt;)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHILE&lt;/span&gt; @TableName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @ColumnName
= &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;''&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @TableName
= 
&lt;br&gt;
(&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;MIN&lt;/span&gt;(&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_SCHEMA)
+ &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'.'&lt;/span&gt; + &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_NAME))&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; INFORMATION_SCHEMA.TABLES&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; TABLE_TYPE
= &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'BASE
TABLE'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_SCHEMA)
+ &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'.'&lt;/span&gt; + &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_NAME)
&amp;gt; @TableName&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;OBJECTPROPERTY&lt;/span&gt;(&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;OBJECT_ID&lt;/span&gt;(&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_SCHEMA)
+ &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'.'&lt;/span&gt; + &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_NAME)&lt;br&gt;
), &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'IsMSShipped'&lt;/span&gt;
&lt;br&gt;
) = 0&lt;br&gt;
)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHILE&lt;/span&gt; (@TableName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;) &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; (@ColumnName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @ColumnName
=&lt;br&gt;
(&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;MIN&lt;/span&gt;(&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(COLUMN_NAME))&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; INFORMATION_SCHEMA.COLUMNS&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; TABLE_SCHEMA
= &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PARSENAME&lt;/span&gt;(@TableName,
2)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; TABLE_NAME
= &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PARSENAME&lt;/span&gt;(@TableName,
1)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; DATA_TYPE &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IN&lt;/span&gt; (&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'char'&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'varchar'&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'nchar'&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'nvarchar'&lt;/span&gt;)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(COLUMN_NAME)
&amp;gt; @ColumnName&lt;br&gt;
)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IF&lt;/span&gt; @ColumnName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INSERT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INTO&lt;/span&gt; #Results&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;EXEC&lt;/span&gt;
&lt;br&gt;
(&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'SELECT
'''&lt;/span&gt; + @TableName + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'.'&lt;/span&gt; +
@ColumnName + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;''',
LEFT('&lt;/span&gt; + @ColumnName + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;',
3630) 
&lt;br&gt;
FROM '&lt;/span&gt; + @TableName + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'
(NOLOCK) '&lt;/span&gt; +&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'
WHERE '&lt;/span&gt; + @ColumnName + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'
LIKE '&lt;/span&gt; + @SearchStr2&lt;br&gt;
)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt; 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; ColumnName,
ColumnValue &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; #Results&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;hr width="75%" color=#c0c0c0 size=1&gt;
&lt;p&gt;
The&amp;nbsp;second one, &lt;a title=SearchAndReplace href="http://vyaskn.tripod.com/sql_server_search_and_replace.htm" target=_blank&gt;SearchAndReplace&lt;/a&gt;,
does not only perform the search but also will do a replace:
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PROC&lt;/span&gt; SearchAndReplace&lt;br&gt;
(&lt;br&gt;
@SearchStr &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(100),&lt;br&gt;
@ReplaceStr &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(100)&lt;br&gt;
)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Purpose: To search all columns of all tables for a given search string and replace
it with another string&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Written by: Narayana Vyas Kondreddi&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Site: http://vyaskn.tripod.com&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Tested on: SQL Server 7.0 and SQL Server 2000&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--
Date modified: 2nd November 2002 13:50 GMT&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOCOUNT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ON&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DECLARE&lt;/span&gt; @TableName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(256),
@ColumnName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(128),
@SearchStr2 &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(110),
@SQL &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;nvarchar&lt;/span&gt;(4000),
@RCTR &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @TableName
= &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;''&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @SearchStr2
= &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'%'&lt;/span&gt; +
@SearchStr + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'%'&lt;/span&gt;,&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;''''&lt;/span&gt;)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @RCTR
= 0&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHILE&lt;/span&gt; @TableName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @ColumnName
= &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;''&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @TableName
= 
&lt;br&gt;
(&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;MIN&lt;/span&gt;(&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_SCHEMA)
+ &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'.'&lt;/span&gt; + &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_NAME))&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; INFORMATION_SCHEMA.TABLES&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; TABLE_TYPE
= &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'BASE
TABLE'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_SCHEMA)
+ &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'.'&lt;/span&gt; + &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_NAME)
&amp;gt; @TableName&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;OBJECTPROPERTY&lt;/span&gt;(&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;OBJECT_ID&lt;/span&gt;(&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_SCHEMA)
+ &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'.'&lt;/span&gt; + &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(TABLE_NAME)&lt;br&gt;
), &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'IsMSShipped'&lt;/span&gt;
&lt;br&gt;
) = 0&lt;br&gt;
)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHILE&lt;/span&gt; (@TableName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;) &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; (@ColumnName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @ColumnName
=&lt;br&gt;
(&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;MIN&lt;/span&gt;(&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(COLUMN_NAME))&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; INFORMATION_SCHEMA.COLUMNS&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; TABLE_SCHEMA
= &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PARSENAME&lt;/span&gt;(@TableName,
2)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; TABLE_NAME
= &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PARSENAME&lt;/span&gt;(@TableName,
1)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; DATA_TYPE &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IN&lt;/span&gt; (&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'char'&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'varchar'&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'nchar'&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'nvarchar'&lt;/span&gt;)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(COLUMN_NAME)
&amp;gt; @ColumnName&lt;br&gt;
)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IF&lt;/span&gt; @ColumnName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @SQL= &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'UPDATE
'&lt;/span&gt; + @TableName + 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'
SET '&lt;/span&gt; + @ColumnName 
&lt;br&gt;
+ &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'
= REPLACE('&lt;/span&gt; + @ColumnName + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;',
'&lt;/span&gt; 
&lt;br&gt;
+ &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(@SearchStr, &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;''''&lt;/span&gt;)
+ &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;',
'&lt;/span&gt; + &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;QUOTENAME&lt;/span&gt;(@ReplaceStr, &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;''''&lt;/span&gt;)
+ 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;')
WHERE '&lt;/span&gt; + @ColumnName + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'
LIKE '&lt;/span&gt; + @SearchStr2&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;EXEC&lt;/span&gt; (@SQL)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @RCTR
= @RCTR + &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;@@ROWCOUNT&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt; 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'Replaced
'&lt;/span&gt; + &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CAST&lt;/span&gt;(@RCTR &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;varchar&lt;/span&gt;)
+ &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'
occurence(s)'&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'Outcome'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;style type=text/css&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=079d6d52-c549-41e2-9431-8e4a281414d8" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,079d6d52-c549-41e2-9431-8e4a281414d8.aspx</comments>
      <category>Development;Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=b823007e-7e41-42fb-8e18-7506c52724d6</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,b823007e-7e41-42fb-8e18-7506c52724d6.aspx</pingback:target>
      <dc:creator>Klaus Hoeltgen</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,b823007e-7e41-42fb-8e18-7506c52724d6.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=b823007e-7e41-42fb-8e18-7506c52724d6</wfw:commentRss>
      <title>little SQL-helpers: all base tables of a view </title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,b823007e-7e41-42fb-8e18-7506c52724d6.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,b823007e-7e41-42fb-8e18-7506c52724d6.aspx</link>
      <pubDate>Tue, 24 Apr 2007 12:20:16 GMT</pubDate>
      <description>To get all base tables of a view you can use the following CTE-Statement...&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=b823007e-7e41-42fb-8e18-7506c52724d6"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,b823007e-7e41-42fb-8e18-7506c52724d6.aspx</comments>
      <category>Development;Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=97cad9a1-68a9-4fd3-9ede-fae1d19b39ce</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,97cad9a1-68a9-4fd3-9ede-fae1d19b39ce.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,97cad9a1-68a9-4fd3-9ede-fae1d19b39ce.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=97cad9a1-68a9-4fd3-9ede-fae1d19b39ce</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Interested in all the new things in SP2? <a href="http://download.microsoft.com/download/2/b/5/2b5e5d37-9b17-423d-bc8f-b11ecd4195b4/WhatsNewSQL2005SP2.htm" target="_blank">Here</a> is
a complete list.
</p>
        <p>
And <a href="http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/servicepacks/sp2.mspx" target="_blank">this</a> is
the complete <a href="http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/servicepacks/sp2.mspx" target="_blank">download
site</a> with links for the <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=d07219b2-1e23-49c8-8f0c-63fa18f26d3a" target="_blank">SP2</a> itself,
a new <a href="http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx" target="_blank">BOL</a>,
new <a href="http://www.microsoft.com/downloads/details.aspx?familyid=e719ecf7-9f46-4312-af89-6ad8702e4e6e&amp;displaylang=en" target="_blank">Samples</a>,
new <a href="http://www.microsoft.com/downloads/details.aspx?familyid=50b97994-8453-4998-8226-fa42ec403d17&amp;displaylang=en" target="_blank">Feature
Pack</a> and especially the links to <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=1e53f882-0c16-4847-b331-132274ae8c84" target="_blank">SQL
Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies</a> and <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=7c76e8df-8674-4c3b-a99b-55b17f3c4c51" target="_blank">SQL
Server 2005 Data Mining Add-ins for Microsoft Office 2007</a>.
</p>
        <p>
To avoid a restart after the installation of the SP2 you should stop the neccessary
services which could be done with the following commands on the command line
- if you have used the standard instances:
</p>
        <p>
net stop MSSQLSERVER<br />
net stop MSSQLServerOLAPService<br />
net stop msftesql<br />
net stop MsDtsServer<br />
net stop ReportServer
</p>
        <p>
After the installation the "SQL Server 2005 User Provisioning Tool is started automatically
if you use Windows Vista. As you probably know, Windows Admins are not automatically
also SQL or AS Admins  - this tool enables to set the right privileges to the
administartor accounts.
</p>
        <p>
But do not forget to start the services before you try to set the privileges...
</p>
        <p>
If you want to add a new account you will have to start the Provisioning Tool again,
but unluckily it is not added to the Start Menu, you will find it at:<br />
C:\Program Files\Microsoft SQL Server\90\Shared\SqlProv.exe - assumed that you have
a standard installation and an english version of MS Windows Vista.
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=97cad9a1-68a9-4fd3-9ede-fae1d19b39ce" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>SQL Server 2005 Service Pack 2 available for download</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,97cad9a1-68a9-4fd3-9ede-fae1d19b39ce.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,97cad9a1-68a9-4fd3-9ede-fae1d19b39ce.aspx</link>
      <pubDate>Tue, 20 Feb 2007 01:17:05 GMT</pubDate>
      <description>&lt;p&gt;
Interested in all the new things in SP2? &lt;a href="http://download.microsoft.com/download/2/b/5/2b5e5d37-9b17-423d-bc8f-b11ecd4195b4/WhatsNewSQL2005SP2.htm" target=_blank&gt;Here&lt;/a&gt;&amp;nbsp;is
a complete list.
&lt;/p&gt;
&lt;p&gt;
And &lt;a href="http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/servicepacks/sp2.mspx" target=_blank&gt;this&lt;/a&gt; is
the complete &lt;a href="http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/servicepacks/sp2.mspx" target=_blank&gt;download
site&lt;/a&gt; with links for the &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d07219b2-1e23-49c8-8f0c-63fa18f26d3a" target=_blank&gt;SP2&lt;/a&gt; itself,
a new &lt;a href="http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx" target=_blank&gt;BOL&lt;/a&gt;,
new &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=e719ecf7-9f46-4312-af89-6ad8702e4e6e&amp;amp;displaylang=en" target=_blank&gt;Samples&lt;/a&gt;,
new &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=50b97994-8453-4998-8226-fa42ec403d17&amp;amp;displaylang=en" target=_blank&gt;Feature
Pack&lt;/a&gt; and especially the&amp;nbsp;links to &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1e53f882-0c16-4847-b331-132274ae8c84" target=_blank&gt;SQL
Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies&lt;/a&gt;&amp;nbsp;and &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=7c76e8df-8674-4c3b-a99b-55b17f3c4c51" target=_blank&gt;SQL
Server 2005 Data Mining Add-ins for Microsoft Office 2007&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
To avoid a restart after the installation of the SP2 you should stop the neccessary
services which&amp;nbsp;could be done with the following commands on the command line
- if you have used the standard instances:
&lt;/p&gt;
&lt;p&gt;
net stop MSSQLSERVER&lt;br&gt;
net stop MSSQLServerOLAPService&lt;br&gt;
net stop msftesql&lt;br&gt;
net stop MsDtsServer&lt;br&gt;
net stop ReportServer
&lt;/p&gt;
&lt;p&gt;
After the installation the "SQL Server 2005 User Provisioning Tool is started automatically
if you use Windows Vista. As you probably know, Windows Admins are not automatically
also SQL or AS Admins&amp;nbsp; - this tool enables to set the right privileges to the
administartor accounts.
&lt;/p&gt;
&lt;p&gt;
But do not forget to start the services before you try to set the privileges...
&lt;/p&gt;
&lt;p&gt;
If you want to add a new account you will have to start the Provisioning Tool again,
but unluckily it is not added to the Start Menu, you will find it at:&lt;br&gt;
C:\Program Files\Microsoft SQL Server\90\Shared\SqlProv.exe - assumed that you have
a standard installation and an english version of MS Windows Vista.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=97cad9a1-68a9-4fd3-9ede-fae1d19b39ce" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,97cad9a1-68a9-4fd3-9ede-fae1d19b39ce.aspx</comments>
      <category>MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/MSDB - Express;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS;MS WSS SPS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=827943d9-2c90-4ab5-b6ef-dd38f4acbf69</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,827943d9-2c90-4ab5-b6ef-dd38f4acbf69.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,827943d9-2c90-4ab5-b6ef-dd38f4acbf69.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=827943d9-2c90-4ab5-b6ef-dd38f4acbf69</wfw:commentRss>
      <title>SQL Server Training online ressources</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,827943d9-2c90-4ab5-b6ef-dd38f4acbf69.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,827943d9-2c90-4ab5-b6ef-dd38f4acbf69.aspx</link>
      <pubDate>Thu, 15 Feb 2007 14:41:58 GMT</pubDate>
      <description>Interested in online ressources for SQL Server Training?
Please do not forget that these ressources can not replace a complete Training and therefor only should be considered as a additional point of information...&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=827943d9-2c90-4ab5-b6ef-dd38f4acbf69"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,827943d9-2c90-4ab5-b6ef-dd38f4acbf69.aspx</comments>
      <category>MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/MSDB - Express;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=c37a98e3-46af-46df-a240-5a1322593248</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,c37a98e3-46af-46df-a240-5a1322593248.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,c37a98e3-46af-46df-a240-5a1322593248.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c37a98e3-46af-46df-a240-5a1322593248</wfw:commentRss>
      <title>Free E-Learning courses from Microsoft</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,c37a98e3-46af-46df-a240-5a1322593248.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,c37a98e3-46af-46df-a240-5a1322593248.aspx</link>
      <pubDate>Thu, 16 Nov 2006 05:33:53 GMT</pubDate>
      <description>Free E-Learning courses from Microsoft:
- SQL Server 2005
- Sharepoint Technology
- Visual Studio 2005 and .Net 3.0&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=c37a98e3-46af-46df-a240-5a1322593248"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,c37a98e3-46af-46df-a240-5a1322593248.aspx</comments>
      <category>Development;Development/.Net;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS;MS WSS SPS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=ecf7cb50-d844-44b0-a59d-154c0da87635</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,ecf7cb50-d844-44b0-a59d-154c0da87635.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,ecf7cb50-d844-44b0-a59d-154c0da87635.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ecf7cb50-d844-44b0-a59d-154c0da87635</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Sorry, German only...
</p>
        <p>
PASS Deutschland e.V. bietet wieder eine interesssante Veranstaltung an und wir starten
damit eine neue Reihe, die PASS Essentials. Ziel dieser Veranstaltung ist die Grundlagenvermittlung
in einem spezifischen Thema des SQL Server 2005 innerhalb eines Tages mit einer begrenzten
Anzahl an Teilnehmern und mit einen hohen Anteil Hands-On-Labs.
</p>
        <p>
Los geht es mit dem "DBA StartUp", einem eintägigen Überblick über Installation,Backup
&amp; Restore, der am 23.November 2006 von 09.00 - 18.00 Uhr bei Microsoft in Bad
Homburg stattfindet
</p>
        <p>
Speaker ist mein hochgeschätzter PASS-Vorstandskollege Ralf Dietrich:<br />
"Ralf Dietrich ist seit 1998 als Trainer und Consultant für Microsoft Betriebssysteme<br />
und Datenbanken tätig. Als MCT, MCSE (Security) und MCITP für SQL Server<br />
liegt sein Fokus in der Performanceanalyse und im Data Warehouse Design. Mit<br />
Microsoft SQL Server 2005 beschäftigt er sich seit Mitte Juli 2003. Ihm liegen<br />
sichere Servernetze &amp; SQL-Server Installationen besonders am Herzen."
</p>
        <p>
Hier der entsprechende Flyer <a href="http://www.fits-consulting.de/blog/content/binary/PASSEssentials_DBAStartup.pdf">PASSEssentials_DBAStartup.pdf
(40.42 KB)</a> mit mehr Informationen.
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=ecf7cb50-d844-44b0-a59d-154c0da87635" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>PASS Essentials: DBA StartUp</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,ecf7cb50-d844-44b0-a59d-154c0da87635.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,ecf7cb50-d844-44b0-a59d-154c0da87635.aspx</link>
      <pubDate>Wed, 08 Nov 2006 15:28:52 GMT</pubDate>
      <description>&lt;p&gt;
Sorry,&amp;nbsp;German only...
&lt;/p&gt;
&lt;p&gt;
PASS Deutschland e.V. bietet wieder eine interesssante Veranstaltung an und wir starten
damit eine neue Reihe, die PASS Essentials. Ziel dieser Veranstaltung ist die Grundlagenvermittlung
in einem spezifischen Thema des SQL Server 2005 innerhalb eines Tages mit einer begrenzten
Anzahl an Teilnehmern und mit einen hohen Anteil Hands-On-Labs.
&lt;/p&gt;
&lt;p&gt;
Los geht es mit&amp;nbsp;dem "DBA StartUp", einem eintägigen Überblick über Installation,Backup
&amp;amp; Restore, der am 23.November 2006 von 09.00 - 18.00 Uhr bei Microsoft in Bad
Homburg stattfindet
&lt;/p&gt;
&lt;p&gt;
Speaker ist mein hochgeschätzter PASS-Vorstandskollege Ralf Dietrich:&lt;br&gt;
"Ralf Dietrich ist seit 1998 als Trainer und Consultant für Microsoft Betriebssysteme&lt;br&gt;
und Datenbanken tätig. Als MCT, MCSE (Security) und MCITP für SQL Server&lt;br&gt;
liegt sein Fokus in der Performanceanalyse und im Data Warehouse Design. Mit&lt;br&gt;
Microsoft SQL Server 2005 beschäftigt er sich seit Mitte Juli 2003. Ihm liegen&lt;br&gt;
sichere Servernetze &amp;amp; SQL-Server Installationen besonders am Herzen."
&lt;/p&gt;
&lt;p&gt;
Hier der&amp;nbsp;entsprechende Flyer &lt;a href="http://www.fits-consulting.de/blog/content/binary/PASSEssentials_DBAStartup.pdf"&gt;PASSEssentials_DBAStartup.pdf
(40.42 KB)&lt;/a&gt;&amp;nbsp;mit mehr Informationen.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=ecf7cb50-d844-44b0-a59d-154c0da87635" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,ecf7cb50-d844-44b0-a59d-154c0da87635.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS;PASS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=a1179a96-7394-457b-bff5-c7efca6bd6fa</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,a1179a96-7394-457b-bff5-c7efca6bd6fa.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,a1179a96-7394-457b-bff5-c7efca6bd6fa.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a1179a96-7394-457b-bff5-c7efca6bd6fa</wfw:commentRss>
      <title>System Views in SQL Server 2005</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,a1179a96-7394-457b-bff5-c7efca6bd6fa.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,a1179a96-7394-457b-bff5-c7efca6bd6fa.aspx</link>
      <pubDate>Wed, 25 Oct 2006 22:00:30 GMT</pubDate>
      <description>You will find a complete overview for the System Views at http://msdn2.microsoft.com/en-us/library/ms177862.aspx.

The most usefull ones of the Catalog Views probably will be

Object Catalog Views
Security Catalog Views
To query metadata you will have to use the Information Schema Views.

If you need some hints on how to use the SQL Server System Catalog have a look at Querying the SQL Server System Catalog and the Querying the SQL Server System Catalog FAQ for some examples.&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=a1179a96-7394-457b-bff5-c7efca6bd6fa"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,a1179a96-7394-457b-bff5-c7efca6bd6fa.aspx</comments>
      <category>Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=853ce370-e07b-43e0-9664-0829cc6041cc</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,853ce370-e07b-43e0-9664-0829cc6041cc.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,853ce370-e07b-43e0-9664-0829cc6041cc.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=853ce370-e07b-43e0-9664-0829cc6041cc</wfw:commentRss>
      <title>Brett Kaiser: How do I track data changes in a database</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,853ce370-e07b-43e0-9664-0829cc6041cc.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,853ce370-e07b-43e0-9664-0829cc6041cc.aspx</link>
      <pubDate>Sun, 27 Aug 2006 14:09:14 GMT</pubDate>
      <description>Brett Kaiser has posted a article called "How do I track data changes in a database" including his real usefull coding about his idea of doing this via T-SQL automatically erver time a DELETE or UPDATE Modification will be done.

The following content is intellectual property of Brett Kaiser, the original posting can be found here:&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=853ce370-e07b-43e0-9664-0829cc6041cc"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,853ce370-e07b-43e0-9664-0829cc6041cc.aspx</comments>
      <category>Development;Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=fd1448c3-2bfc-4d7c-b58b-70f84e71f6a9</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,fd1448c3-2bfc-4d7c-b58b-70f84e71f6a9.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,fd1448c3-2bfc-4d7c-b58b-70f84e71f6a9.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=fd1448c3-2bfc-4d7c-b58b-70f84e71f6a9</wfw:commentRss>
      <title>Common table expression (CTE) in SQL Server 2005</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,fd1448c3-2bfc-4d7c-b58b-70f84e71f6a9.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,fd1448c3-2bfc-4d7c-b58b-70f84e71f6a9.aspx</link>
      <pubDate>Sun, 27 Aug 2006 13:39:40 GMT</pubDate>
      <description>Nigel Rivett has published an interesting detailed article about common table expressions in SQL Server 2005 on simple-talk.com.&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=fd1448c3-2bfc-4d7c-b58b-70f84e71f6a9"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,fd1448c3-2bfc-4d7c-b58b-70f84e71f6a9.aspx</comments>
      <category>Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=09a62245-9c7f-4d2a-aee2-7f30bbdee1c6</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,09a62245-9c7f-4d2a-aee2-7f30bbdee1c6.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,09a62245-9c7f-4d2a-aee2-7f30bbdee1c6.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=09a62245-9c7f-4d2a-aee2-7f30bbdee1c6</wfw:commentRss>
      <title>SMO - a little introduction</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,09a62245-9c7f-4d2a-aee2-7f30bbdee1c6.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,09a62245-9c7f-4d2a-aee2-7f30bbdee1c6.aspx</link>
      <pubDate>Fri, 25 Aug 2006 13:55:09 GMT</pubDate>
      <description>Definition from the SQL Server 2005 Product Guide:

"SQL Server Management Objects (SMO) is the management object model for SQL Server 2005. SMO represents significant design and architectural improvements for the SQL Server management object model. It is a simple to use but rich object model that is based on .NET Framework managed code. SMO is the primary tool for developing database management applications using the .NET Framework. SMO is used extensively by SQL Server Management Studio. Every administrative action that you can perform in SQL Server Management Studio, you can also accomplish by using SMO.
The new SMO object model and the WMI APIs replace SQL-DMO. Where possible, SMO incorporates similar objects as those in SQL-DMO for ease of use. You can still use SQL Server 2005 with SQL-DMO, but SQL-DMO will not be updated to manage features that are specific to SQL Server 2005.&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=09a62245-9c7f-4d2a-aee2-7f30bbdee1c6"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,09a62245-9c7f-4d2a-aee2-7f30bbdee1c6.aspx</comments>
      <category>Development/.Net;MS SQL Server;MS SQL Server/RDBMS;Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=4f42c907-3e39-4283-a4fb-c3e536ce2ceb</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,4f42c907-3e39-4283-a4fb-c3e536ce2ceb.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,4f42c907-3e39-4283-a4fb-c3e536ce2ceb.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4f42c907-3e39-4283-a4fb-c3e536ce2ceb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.sql-server-performance.com/randy_dyess.asp" target="_blank">Randy
Dyess</a> has published an article called <a href="http://www.sql-server-performance.com/rd_auditing2.asp" target="_blank">"Auditing
Your SQL Server Environment: Part II (Reviewing Role Memberships)"</a></p>
        <p>
The following content is intellectual property of Randy Dyess, the original posting
can be found <a href="http://www.sql-server-performance.com/rd_auditing2.asp" target="_blank">here</a>:
</p>
        <p>
          <font color="#808080">"Roles should be in foremost in your mind when planning the
security of your SQL Server environments. Auditing inherited SQL Server installations
is a relatively easy thing to accomplish, and all DBAs should audit their environment
and create documentation if they have not already done so. Once you can document the
logins assigned to each of your fixed and user-defined roles, you can start to remove
any duplication of permissions which can reduce the time needed to troubleshoot future
permission errors."</font>
        </p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Use
the master database</span>
            <br />
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">USE</span> master<br />
go<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IF</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">OBJECT_ID</span>(<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'dbo.spRoleMembers'</span>) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DROP</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PROCEDURE</span> dbo.spRoleMembers<br />
GO<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PROCEDURE</span> dbo.spRoleMembers<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">/************************************************************ 
<br />
Creation Date: 04/28/02 Created By: Randy Dyess<br />
Web Site: www.TransactSQL.Com<br />
Email: RandyDyess@TransactSQL.Com<br />
Purpose: Loops through all databases and obtains member<br />
for database roles as well as server role members.<br />
Location: master database<br />
Output Parameters: None<br />
Return Status: None<br />
Called By: None 
<br />
Calls: None<br />
Data Modifications: None<br />
Updates: 
<br />
None 
<br /><br />
************************************************************/</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOCOUNT</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ON</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Variables</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DECLARE</span> @lngCounter
INTEGER<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DECLARE</span> @strDBName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DECLARE</span> @strSQL <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NVARCHAR</span>(4000)<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Temp
table to hold database and user-define role user names</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">TABLE</span> #tRolemember<br />
(<br />
strServerName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DEFAULT</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">@@SERVERNAME</span><br />
,strDBName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50) 
<br />
,strRoleName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50)<br />
,strUserName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50)<br />
,strUserID <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(100)<br />
)<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Temp
table to hold database names</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">TABLE</span> #tDBNames<br />
(lngID INTEGER <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IDENTITY</span>(1,1)<br />
,strDBName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50)<br />
)<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Create
permanent table</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IF</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">OBJECT_ID</span> (<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'dbo.tRolemember'</span>) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">TABLE</span> dbo.tRolemember<br />
(<br />
strServerName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50) 
<br />
,strDBName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50) 
<br />
,strRoleName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50)<br />
,strUserName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(50)<br />
,strUserID <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(100)<br />
)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Obtain
members of each server role</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INSERT</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INTO</span> #tRolemember
(strRoleName, strUserName, strUserID)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">EXEC</span> dbo.sp_helpsrvrolemember<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Obtain
database names</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INSERT</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INTO</span> #tDBNames
(strDBName)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> name <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> master.dbo.<span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">sysdatabases</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @lngCounter
= <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">@@ROWCOUNT</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Loop
through databases to obtain members of database roles and user-defined roles</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHILE</span> @lngCounter
&gt; 0<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Get
database name from temp table</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @strDBName
= (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> strDBName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> #tDBNames <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> lngID
= @lngCounter)<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Obtain
members of each database and user-defined role</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @strSQL
= <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'INSERT
INTO #tRolemember (strRoleName, strUserName, strUserID)<br />
EXEC '</span> + @strDBName + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'.dbo.sp_helprolemember'</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">EXEC</span><span style="FONT-SIZE: 11px; COLOR: brown; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">sp_executesql</span> @strSQL<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Update
database name in temp table</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">UPDATE</span> #tRolemember<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> strDBName
= @strDBName<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> strDBName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @lngCounter
= @lngCounter - 1<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Place
data into permanent table</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INSERT</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INTO</span> tRolemember<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> trm.* <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> #tRolemember
trm<br /><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">LEFT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">JOIN</span> tRoleMember
prm<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ON</span> trm.strUserName
= prm.strUserName<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> trm.strDBName
= prm.strDBName<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> trm.strRoleName
= prm.strRoleName<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> trm.strServerName
= prm.strServerName<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> prm.strServerName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><br />
GO<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Test
Stored Procedure</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">EXEC</span> dbo.spRoleMembers<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PRINT</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'Display
by User'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> strUserName,
strDBName, strRoleName, strServerName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> tRolemember<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> strUserName
&lt;&gt; <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'dbo'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ORDER</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BY</span> strUserName<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PRINT</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'Display
by Role'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> strRoleName,
strDBName, strUserName,strServerName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> tRolemember<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> strUserName
&lt;&gt; <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'dbo'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ORDER</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BY</span> strRoleName<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PRINT</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'Display
by Database'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> strDBName,
strRoleName,strUserName, strServerName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> tRolemember<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> strUserName
&lt;&gt; <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'dbo'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ORDER</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BY</span> strDBName</span>
        </p>
        <p>
          <hr width="75%" color="#c0c0c0" size="1" />
        </p>
        <p>
        </p>
        <p>
Randy also has published a script about auditing user's passwords
</p>
        <p>
The following content is intellectual property of Randy Dyess, the original posting
can be found <a href="http://www.database-security.info/Tools/SQLServer/spAuditPasswords.txt" target="_blank">here</a>:
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IF</span>
            <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">OBJECT_ID</span>(<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'dbo.spAuditPasswords'</span>) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOT</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DROP</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PROCEDURE</span> dbo.spAuditPasswords<br />
GO<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PROCEDURE</span> dbo.spAuditPasswords<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">/**************************************************************************** 
<br />
Creation Date: 03/22/02 Created By: Randy Dyess<br />
Web Site: www.TransactSQL.Com<br />
Email: RandyDyess@TransactSQL.Com<br />
Purpose: Perform a simple audit of user's passwords<br />
Location: master database<br />
Output Parameters: None<br />
Return Status: None<br />
Called By: None 
<br />
Calls: None<br />
Data Modifications: None<br />
Updates: None 
<br />
Date Author Purpose 
<br />
---------- -------------------------- --------------------------------- 
<br />
****************************************************************************/</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NOCOUNT</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ON</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Variables</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DECLARE</span> @lngCounter
INTEGER<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DECLARE</span> @lngCounter1
INTEGER<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DECLARE</span> @lngLogCount
INTEGER<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">DECLARE</span> @strName <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">VARCHAR</span>(256)<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Create
table to hold SQL logins</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">TABLE</span> #tLogins<br />
(<br />
numID INTEGER <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IDENTITY</span>(1,1)<br />
,strLogin <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SYSNAME</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br />
,lngPass INTEGER <span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br />
)<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Insert
non ntuser into temp table</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INSERT</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">INTO</span> #tLogins
(strLogin)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> name <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> master.dbo.<span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">syslogins</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> isntname
= 0<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @lngLogCount
= <span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">@@ROWCOUNT</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Determine
if password is null and user iis SQL Login</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PRINT</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'The
following logins have blank passwords'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> name <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'Login
Name'</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> master.dbo.<span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">syslogins</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> password <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">IS</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">NULL</span><br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> isntname
= 0<br /><br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Determine
if password and name are the ssame</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @lngCounter
= @lngLogCount<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHILE</span> @lngCounter
&lt;&gt; 0<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @strName
= (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> strLogin <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> #tLogins <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> numID
= @lngCounter)<br /><br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">UPDATE</span> #tLogins<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> lngPass
= (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> PWDCOMPARE
(@strName,(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> password <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> master.dbo.<span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">syslogins</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> name
= @strName))) 
<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> numID
= @lngCounter<br /><br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @lngCounter
= @lngCounter - 1<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PRINT</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'The
following logins have passwords the same as their login name'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> strLogin <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'Login
Name'</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> #tLogins <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> lngPass
= 1<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Reset
column for next password test</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">UPDATE</span> #tLogins<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> lngPass
= 0<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Determine
if password is only one characcter long</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @lngCounter
= @lngLogCount<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHILE</span> @lngCounter
&lt;&gt; 0<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @lngCounter1
= 1<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @strName
= (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> strLogin <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> #tLogins <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> numID
= @lngCounter)<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHILE</span> @lngCounter1
&lt; 256<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">BEGIN</span><br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">UPDATE</span> #tLogins<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> lngPass
= (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> PWDCOMPARE
(<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CHAR</span>(@lngCounter1),(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> password <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> master.dbo.<span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">syslogins</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> name
= @strName))) 
<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> numID
= @lngCounter<br />
        <span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AND</span> lngPass
&lt;&gt; 1<br />
        <br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @lngCounter1
= @lngCounter1 + 1<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SET</span> @lngCounter
= @lngCounter - 1<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">END</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">PRINT</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'The
following logins have one character passwords'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SELECT</span> strLogin <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'Login
Name'</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> #tLogins <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">WHERE</span> lngPass
= 1<br />
GO<br /><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">--Test</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">EXEC</span> dbo.spAuditPasswords</span>
        </p>
        <p>
          <hr width="75%" color="#c0c0c0" size="1" />
        </p>
        <p>
        </p>
        <p>
And last but not least Bradley Morris has published an article about <a href="http://www.sql-server-performance.com/bm_object_permission_scripts.asp">"How
to Script User and Role Object Permissions in SQL Server"</a></p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=4f42c907-3e39-4283-a4fb-c3e536ce2ceb" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>some SQL Server scripts regarding security </title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,4f42c907-3e39-4283-a4fb-c3e536ce2ceb.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,4f42c907-3e39-4283-a4fb-c3e536ce2ceb.aspx</link>
      <pubDate>Fri, 25 Aug 2006 13:19:02 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.sql-server-performance.com/randy_dyess.asp" target=_blank&gt;Randy
Dyess&lt;/a&gt; has published an article called &lt;a href="http://www.sql-server-performance.com/rd_auditing2.asp" target=_blank&gt;"Auditing
Your SQL Server Environment: Part II (Reviewing Role Memberships)"&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The following content is intellectual property of Randy Dyess, the original posting
can be found &lt;a href="http://www.sql-server-performance.com/rd_auditing2.asp" target=_blank&gt;here&lt;/a&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#808080&gt;"Roles should be in foremost in your mind when planning the security
of your SQL Server environments. Auditing inherited SQL Server installations is a
relatively easy thing to accomplish, and all DBAs should audit their environment and
create documentation if they have not already done so. Once you can document the logins
assigned to each of your fixed and user-defined roles, you can start to remove any
duplication of permissions which can reduce the time needed to troubleshoot future
permission errors."&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Use
the master database&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;USE&lt;/span&gt; master&lt;br&gt;
go&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IF&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;OBJECT_ID&lt;/span&gt;(&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'dbo.spRoleMembers'&lt;/span&gt;) &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DROP&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PROCEDURE&lt;/span&gt; dbo.spRoleMembers&lt;br&gt;
GO&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PROCEDURE&lt;/span&gt; dbo.spRoleMembers&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;/************************************************************ 
&lt;br&gt;
Creation Date: 04/28/02 Created By: Randy Dyess&lt;br&gt;
Web Site: www.TransactSQL.Com&lt;br&gt;
Email: RandyDyess@TransactSQL.Com&lt;br&gt;
Purpose: Loops through all databases and obtains member&lt;br&gt;
for database roles as well as server role members.&lt;br&gt;
Location: master database&lt;br&gt;
Output Parameters: None&lt;br&gt;
Return Status: None&lt;br&gt;
Called By: None 
&lt;br&gt;
Calls: None&lt;br&gt;
Data Modifications: None&lt;br&gt;
Updates: 
&lt;br&gt;
None 
&lt;br&gt;
&lt;br&gt;
************************************************************/&lt;/span&gt; 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOCOUNT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ON&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Variables&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DECLARE&lt;/span&gt; @lngCounter
INTEGER&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DECLARE&lt;/span&gt; @strDBName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DECLARE&lt;/span&gt; @strSQL &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NVARCHAR&lt;/span&gt;(4000)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Temp
table to hold database and user-define role user names&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;TABLE&lt;/span&gt; #tRolemember&lt;br&gt;
(&lt;br&gt;
strServerName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50) &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DEFAULT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;@@SERVERNAME&lt;/span&gt;
&lt;br&gt;
,strDBName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50) 
&lt;br&gt;
,strRoleName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50)&lt;br&gt;
,strUserName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50)&lt;br&gt;
,strUserID &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(100)&lt;br&gt;
)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Temp
table to hold database names&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;TABLE&lt;/span&gt; #tDBNames&lt;br&gt;
(lngID INTEGER &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IDENTITY&lt;/span&gt;(1,1)&lt;br&gt;
,strDBName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50)&lt;br&gt;
)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Create
permanent table&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IF&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;OBJECT_ID&lt;/span&gt; (&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'dbo.tRolemember'&lt;/span&gt;) &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;TABLE&lt;/span&gt; dbo.tRolemember&lt;br&gt;
(&lt;br&gt;
strServerName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50) 
&lt;br&gt;
,strDBName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50) 
&lt;br&gt;
,strRoleName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50)&lt;br&gt;
,strUserName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(50)&lt;br&gt;
,strUserID &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(100)&lt;br&gt;
)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Obtain
members of each server role&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INSERT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INTO&lt;/span&gt; #tRolemember
(strRoleName, strUserName, strUserID)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;EXEC&lt;/span&gt; dbo.sp_helpsrvrolemember&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Obtain
database names&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INSERT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INTO&lt;/span&gt; #tDBNames
(strDBName)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; name &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; master.dbo.&lt;span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;sysdatabases&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @lngCounter
= &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;@@ROWCOUNT&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Loop
through databases to obtain members of database roles and user-defined roles&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHILE&lt;/span&gt; @lngCounter
&amp;gt; 0&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Get
database name from temp table&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @strDBName
= (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; strDBName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; #tDBNames &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; lngID
= @lngCounter)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Obtain
members of each database and user-defined role&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @strSQL
= &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'INSERT
INTO #tRolemember (strRoleName, strUserName, strUserID)&lt;br&gt;
EXEC '&lt;/span&gt; + @strDBName + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'.dbo.sp_helprolemember'&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;EXEC&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: brown; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;sp_executesql&lt;/span&gt; @strSQL&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Update
database name in temp table&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;UPDATE&lt;/span&gt; #tRolemember&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; strDBName
= @strDBName&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; strDBName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @lngCounter
= @lngCounter - 1&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Place
data into permanent table&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INSERT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INTO&lt;/span&gt; tRolemember&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; trm.* &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; #tRolemember
trm&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;LEFT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;JOIN&lt;/span&gt; tRoleMember
prm&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ON&lt;/span&gt; trm.strUserName
= prm.strUserName&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; trm.strDBName
= prm.strDBName&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; trm.strRoleName
= prm.strRoleName&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; trm.strServerName
= prm.strServerName&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; prm.strServerName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
GO&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Test
Stored Procedure&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;EXEC&lt;/span&gt; dbo.spRoleMembers&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PRINT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'Display
by User'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; strUserName,
strDBName, strRoleName, strServerName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; tRolemember&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; strUserName
&amp;lt;&amp;gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'dbo'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ORDER&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BY&lt;/span&gt; strUserName&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PRINT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'Display
by Role'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; strRoleName,
strDBName, strUserName,strServerName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; tRolemember&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; strUserName
&amp;lt;&amp;gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'dbo'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ORDER&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BY&lt;/span&gt; strRoleName&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PRINT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'Display
by Database'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; strDBName,
strRoleName,strUserName, strServerName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; tRolemember&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; strUserName
&amp;lt;&amp;gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'dbo'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ORDER&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BY&lt;/span&gt; strDBName&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;hr width="75%" color=#c0c0c0 size=1&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Randy also has published a script about auditing user's passwords
&lt;/p&gt;
&lt;p&gt;
The following content is intellectual property of Randy Dyess, the original posting
can be found &lt;a href="http://www.database-security.info/Tools/SQLServer/spAuditPasswords.txt" target=_blank&gt;here&lt;/a&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IF&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;OBJECT_ID&lt;/span&gt;(&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'dbo.spAuditPasswords'&lt;/span&gt;) &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DROP&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PROCEDURE&lt;/span&gt; dbo.spAuditPasswords&lt;br&gt;
GO&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PROCEDURE&lt;/span&gt; dbo.spAuditPasswords&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;/**************************************************************************** 
&lt;br&gt;
Creation Date: 03/22/02 Created By: Randy Dyess&lt;br&gt;
Web Site: www.TransactSQL.Com&lt;br&gt;
Email: RandyDyess@TransactSQL.Com&lt;br&gt;
Purpose: Perform a simple audit of user's passwords&lt;br&gt;
Location: master database&lt;br&gt;
Output Parameters: None&lt;br&gt;
Return Status: None&lt;br&gt;
Called By: None 
&lt;br&gt;
Calls: None&lt;br&gt;
Data Modifications: None&lt;br&gt;
Updates: None 
&lt;br&gt;
Date Author Purpose 
&lt;br&gt;
---------- -------------------------- --------------------------------- 
&lt;br&gt;
****************************************************************************/&lt;/span&gt; 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NOCOUNT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ON&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Variables&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DECLARE&lt;/span&gt; @lngCounter
INTEGER&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DECLARE&lt;/span&gt; @lngCounter1
INTEGER&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DECLARE&lt;/span&gt; @lngLogCount
INTEGER&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;DECLARE&lt;/span&gt; @strName &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;VARCHAR&lt;/span&gt;(256)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Create
table to hold SQL logins&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;TABLE&lt;/span&gt; #tLogins&lt;br&gt;
(&lt;br&gt;
numID INTEGER &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IDENTITY&lt;/span&gt;(1,1)&lt;br&gt;
,strLogin &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SYSNAME&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
,lngPass INTEGER &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Insert
non ntuser into temp table&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INSERT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;INTO&lt;/span&gt; #tLogins
(strLogin)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; name &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; master.dbo.&lt;span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;syslogins&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; isntname
= 0&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @lngLogCount
= &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;@@ROWCOUNT&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Determine
if password is null and user iis SQL Login&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PRINT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'The
following logins have blank passwords'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; name &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'Login
Name'&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; master.dbo.&lt;span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;syslogins&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; password &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;IS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;NULL&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; isntname
= 0&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Determine
if password and name are the ssame&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @lngCounter
= @lngLogCount&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHILE&lt;/span&gt; @lngCounter
&amp;lt;&amp;gt; 0&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @strName
= (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; strLogin &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; #tLogins &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; numID
= @lngCounter)&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;UPDATE&lt;/span&gt; #tLogins&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; lngPass
= (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; PWDCOMPARE
(@strName,(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; password &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; master.dbo.&lt;span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;syslogins&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; name
= @strName))) 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; numID
= @lngCounter&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @lngCounter
= @lngCounter - 1&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PRINT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'The
following logins have passwords the same as their login name'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; strLogin &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'Login
Name'&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; #tLogins &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; lngPass
= 1&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Reset
column for next password test&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;UPDATE&lt;/span&gt; #tLogins&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; lngPass
= 0&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Determine
if password is only one characcter long&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @lngCounter
= @lngLogCount&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHILE&lt;/span&gt; @lngCounter
&amp;lt;&amp;gt; 0&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @lngCounter1
= 1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @strName
= (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; strLogin &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; #tLogins &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; numID
= @lngCounter)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHILE&lt;/span&gt; @lngCounter1
&amp;lt; 256&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;BEGIN&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;UPDATE&lt;/span&gt; #tLogins&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; lngPass
= (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; PWDCOMPARE
(&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CHAR&lt;/span&gt;(@lngCounter1),(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; password &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; master.dbo.&lt;span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;syslogins&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; name
= @strName))) 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; numID
= @lngCounter&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AND&lt;/span&gt; lngPass
&amp;lt;&amp;gt; 1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @lngCounter1
= @lngCounter1 + 1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SET&lt;/span&gt; @lngCounter
= @lngCounter - 1&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;END&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;PRINT&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'The
following logins have one character passwords'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SELECT&lt;/span&gt; strLogin &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'Login
Name'&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; #tLogins &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;WHERE&lt;/span&gt; lngPass
= 1&lt;br&gt;
GO&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;--Test&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;EXEC&lt;/span&gt; dbo.spAuditPasswords&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;hr width="75%" color=#c0c0c0 size=1&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
And last but not least Bradley Morris has published an article about &lt;a href="http://www.sql-server-performance.com/bm_object_permission_scripts.asp"&gt;"How
to Script User and Role Object Permissions in SQL Server"&lt;/a&gt; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=4f42c907-3e39-4283-a4fb-c3e536ce2ceb" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,4f42c907-3e39-4283-a4fb-c3e536ce2ceb.aspx</comments>
      <category>Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS;Security</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=5c6fe08f-ba39-401b-9860-d8273f763a24</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,5c6fe08f-ba39-401b-9860-d8273f763a24.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,5c6fe08f-ba39-401b-9860-d8273f763a24.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=5c6fe08f-ba39-401b-9860-d8273f763a24</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The "Microsoft Architect Insight Conference" was held on 22 - 23 March 2006 and the
slides are now available for <a href="http://www.microsoft.com/uk/msdn/architecture/architectinsight/download.mspx" target="_blank">download</a>.
</p>
        <p>
I would highly recommend that you read the PPT about <a href="http://download.microsoft.com/documents/uk/msdn/architecture/architectinsight/Day%201/Solutions/QAd%20-%20Solutions/SOL0101%20Service%20Oriented%20Business%20Intelligence.ppt" target="_blank">Service-oriented
Business Intelligence (SoBI)</a> by Sean Gordon, Robert Grigg, Michael Horne,
and Simon Thurman, which brings up some really good new approaches.<br />
The authors also have published an article, which contains a more detailed descriptions
and is available <a href="http://www.architecturejournal.net/2006/issue6/Jour6SOBI/default.aspx" target="_blank">online</a>.
</p>
        <p>
And here are two additional links extracted from the article page:
</p>
        <ul>
          <li>
            <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/dataoutsideinside.asp" target="_blank">Data
on the Outside vs. Data on the Inside</a>
          </li>
          <li>
            <a href="http://www.zapthink.com/report.html?id=WP-0125" target="_blank">Information
as a Service: Service-Oriented Information Integration</a>
          </li>
        </ul>
        <p>
You also should have an eye for the <a href="http://download.microsoft.com/documents/uk/msdn/architecture/architectinsight/Day%201/Solutions/QAd%20-%20Solutions/SOL0104%20Impact%20of%20SQL%202005.ppt" target="_blank">slides</a> of Eric
Nelson, who tries to explain that there are seven new servers in the SQL world...
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=5c6fe08f-ba39-401b-9860-d8273f763a24" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>SoBI &amp; architectural thoughts on SQL Server</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,5c6fe08f-ba39-401b-9860-d8273f763a24.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,5c6fe08f-ba39-401b-9860-d8273f763a24.aspx</link>
      <pubDate>Tue, 11 Jul 2006 22:36:32 GMT</pubDate>
      <description>&lt;p&gt;
The "Microsoft Architect Insight Conference" was held on 22 - 23 March 2006 and the
slides are now available for &lt;a href="http://www.microsoft.com/uk/msdn/architecture/architectinsight/download.mspx" target=_blank&gt;download&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I would highly recommend that you read the PPT about &lt;a href="http://download.microsoft.com/documents/uk/msdn/architecture/architectinsight/Day%201/Solutions/QAd%20-%20Solutions/SOL0101%20Service%20Oriented%20Business%20Intelligence.ppt" target=_blank&gt;Service-oriented
Business Intelligence (SoBI)&lt;/a&gt;&amp;nbsp;by Sean Gordon, Robert Grigg, Michael Horne,
and Simon Thurman, which brings up some really good new approaches.&lt;br&gt;
The authors also have published an article, which contains a more detailed descriptions
and is available &lt;a href="http://www.architecturejournal.net/2006/issue6/Jour6SOBI/default.aspx" target=_blank&gt;online&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
And here are two additional links extracted from the article page:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/dataoutsideinside.asp" target=_blank&gt;Data
on the Outside vs. Data on the Inside&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.zapthink.com/report.html?id=WP-0125" target=_blank&gt;Information
as a Service: Service-Oriented Information Integration&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
You also should have an eye&amp;nbsp;for the &lt;a href="http://download.microsoft.com/documents/uk/msdn/architecture/architectinsight/Day%201/Solutions/QAd%20-%20Solutions/SOL0104%20Impact%20of%20SQL%202005.ppt" target=_blank&gt;slides&lt;/a&gt; of&amp;nbsp;Eric
Nelson, who tries to explain that there are seven new servers in the SQL world...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=5c6fe08f-ba39-401b-9860-d8273f763a24" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,5c6fe08f-ba39-401b-9860-d8273f763a24.aspx</comments>
      <category>BI;Development;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=d6c898d5-3b41-4d9f-a1a8-5e3e225f2b36</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,d6c898d5-3b41-4d9f-a1a8-5e3e225f2b36.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,d6c898d5-3b41-4d9f-a1a8-5e3e225f2b36.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d6c898d5-3b41-4d9f-a1a8-5e3e225f2b36</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img alt="" hspace="0" src="http://img.microsoft.com/library/media/1033/sql/media/lgo_project_real.gif" align="baseline" border="0" />
        <p>
You surely know <a href="http://www.microsoft.com/sql/solutions/bi/projectreal.mspx" target="_Blank">"Project
REAL"</a>, the SQL Server 2005 reference implementation at Barnes &amp; Noble. It
contains information on all upcoming topics in a BI project.
</p>
        <p>
And now...<br />
your are not only able to read about it - you are able to <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b61a37b6-5852-4018-bba9-795a34123ed0&amp;displaylang=en" target="_blank">download</a> a
whole subset of the project REAL data and the various parts of the implementation
</p>
        <p>
Extract from the website:<br /><font color="#808080"><em>"</em>The kit contains:<br /><br />
1. A set of instructions for setting up the environment 
<br />
2. Guidance on how to explore the implementation 
<br />
3. A sample relational data warehouse database (a subset of the Project REAL data
warehouse) 
<br />
4. A sample source database (from which we pull incremental updates) 
<br />
5. SSIS packages that implement the ETL operations 
<br />
6. An SSAS cube definition and scripts for processing the cube from the sample warehouse 
<br />
7. Sample SSRS reports 
<br />
8. Sample data mining models for predicting out-of-stock conditions in stores 
<br />
9. Sample client views in briefing books for the Proclarity and Panorama BI front-end
tools 
<br /><br />
This kit will guide you through the key points to observe in the Project REAL implementation.
Use it to learn and to get ideas for your own implementation. (While we believe it
represents a very good design and generally follows best practices, it should not
be regarded as the solution for every BI situation.) It will be helpful to see the
overview presentations about the BI tools in SQL Server, or read documentation, before
exploring the kit. One good source of information is to go through the tutorials that
ship with SQL Server (the tutorials are installed when you select “Workstation components,
Books Online and development tools” at installation time).<em>"</em></font></p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=d6c898d5-3b41-4d9f-a1a8-5e3e225f2b36" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>Project REAL—Business Intelligence in Practice</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,d6c898d5-3b41-4d9f-a1a8-5e3e225f2b36.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,d6c898d5-3b41-4d9f-a1a8-5e3e225f2b36.aspx</link>
      <pubDate>Tue, 11 Jul 2006 21:59:25 GMT</pubDate>
      <description>&lt;img alt="" hspace=0 src="http://img.microsoft.com/library/media/1033/sql/media/lgo_project_real.gif" align=baseline border=0&gt; 
&lt;p&gt;
You surely know &lt;a href="http://www.microsoft.com/sql/solutions/bi/projectreal.mspx" target=_Blank&gt;"Project
REAL"&lt;/a&gt;, the SQL Server 2005 reference implementation at Barnes &amp;amp; Noble. It
contains information on all upcoming topics in a BI project.
&lt;/p&gt;
&lt;p&gt;
And now...&lt;br&gt;
your are not only able to read about it - you are able to &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b61a37b6-5852-4018-bba9-795a34123ed0&amp;amp;displaylang=en" target=_blank&gt;download&lt;/a&gt; a
whole subset of the project REAL data and the various parts of the implementation
&lt;/p&gt;
&lt;p&gt;
Extract from the website:&lt;br&gt;
&lt;font color=#808080&gt;&lt;em&gt;"&lt;/em&gt;The kit contains:&lt;br&gt;
&lt;br&gt;
1. A set of instructions for setting up the environment 
&lt;br&gt;
2. Guidance on how to explore the implementation 
&lt;br&gt;
3. A sample relational data warehouse database (a subset of the Project REAL data
warehouse) 
&lt;br&gt;
4. A sample source database (from which we pull incremental updates) 
&lt;br&gt;
5. SSIS packages that implement the ETL operations 
&lt;br&gt;
6. An SSAS cube definition and scripts for processing the cube from the sample warehouse 
&lt;br&gt;
7. Sample SSRS reports 
&lt;br&gt;
8. Sample data mining models for predicting out-of-stock conditions in stores 
&lt;br&gt;
9. Sample client views in briefing books for the Proclarity and Panorama BI front-end
tools 
&lt;br&gt;
&lt;br&gt;
This kit will guide you through the key points to observe in the Project REAL implementation.
Use it to learn and to get ideas for your own implementation. (While we believe it
represents a very good design and generally follows best practices, it should not
be regarded as the solution for every BI situation.) It will be helpful to see the
overview presentations about the BI tools in SQL Server, or read documentation, before
exploring the kit. One good source of information is to go through the tutorials that
ship with SQL Server (the tutorials are installed when you select “Workstation components,
Books Online and development tools” at installation time).&lt;em&gt;"&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=d6c898d5-3b41-4d9f-a1a8-5e3e225f2b36" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,d6c898d5-3b41-4d9f-a1a8-5e3e225f2b36.aspx</comments>
      <category>BI;Development;Development/.Net;MS SQL Server;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=3573aa11-2981-4f19-9d3a-a2a68e2032aa</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,3573aa11-2981-4f19-9d3a-a2a68e2032aa.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,3573aa11-2981-4f19-9d3a-a2a68e2032aa.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=3573aa11-2981-4f19-9d3a-a2a68e2032aa</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://cwebbbi.spaces.msn.com/" target="_blank">Chris Webb</a> has blogged
about the "Business Intelligence Architecture and Design Guide" downloadable at <a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=00895184-067e-4183-b186-48d9f104aaaf" target="_blank">gotdotnet</a>.
</p>
        <p>
I agree with Chris, this is not really new stuff, but I personally think it is good
to have informations like this in a kind of "complete package".
</p>
        <p>
Extract from the website:<br /><font color="#808080"><em>"The patterns &amp; practices team is please to announce
the availability of Architecture and Design Guidelines for Business Intelligence Applications.
This exploratory community project provides prescriptive guidance on how to overcome
architectural challenges and design issues when building Business Intelligence solutions
using Microsoft platform. This guide is intended for software architects and developers
who are developing Business Intelligence applications on the Microsoft .NET Framework
using SQL Server 2005 - Integration Services and Analysis Services. Being an exploratory
community project - anticipate gaps and scope for improvement. For more information
see: <a href="http://codegallery.gotdotnet.com/biguide" target="_blank">http://codegallery.gotdotnet.com/biguide</a>."</em></font></p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=3573aa11-2981-4f19-9d3a-a2a68e2032aa" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>Business Intelligence Architecture and Design Guide</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,3573aa11-2981-4f19-9d3a-a2a68e2032aa.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,3573aa11-2981-4f19-9d3a-a2a68e2032aa.aspx</link>
      <pubDate>Tue, 11 Jul 2006 21:47:16 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://cwebbbi.spaces.msn.com/" target=_blank&gt;Chris Webb&lt;/a&gt;&amp;nbsp;has blogged
about the "Business Intelligence Architecture and Design Guide" downloadable at &lt;a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=00895184-067e-4183-b186-48d9f104aaaf" target=_blank&gt;gotdotnet&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I agree with Chris, this is not really new stuff, but I personally think it is good
to have&amp;nbsp;informations like this in a kind of "complete package".
&lt;/p&gt;
&lt;p&gt;
Extract from the website:&lt;br&gt;
&lt;font color=#808080&gt;&lt;em&gt;"The patterns &amp;amp; practices team is please to announce the
availability of Architecture and Design Guidelines for Business Intelligence Applications.
This exploratory community project provides prescriptive guidance on how to overcome
architectural challenges and design issues when building Business Intelligence solutions
using Microsoft platform. This guide is intended for software architects and developers
who are developing Business Intelligence applications on the Microsoft .NET Framework
using SQL Server 2005 - Integration Services and Analysis Services. Being an exploratory
community project - anticipate gaps and scope for improvement. For more information
see: &lt;a href="http://codegallery.gotdotnet.com/biguide" target=_blank&gt;http://codegallery.gotdotnet.com/biguide&lt;/a&gt;."&lt;/em&gt;&lt;/font&gt; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=3573aa11-2981-4f19-9d3a-a2a68e2032aa" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,3573aa11-2981-4f19-9d3a-a2a68e2032aa.aspx</comments>
      <category>BI;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=10259e27-75b2-4800-9b0b-0b526f556c10</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,10259e27-75b2-4800-9b0b-0b526f556c10.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,10259e27-75b2-4800-9b0b-0b526f556c10.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=10259e27-75b2-4800-9b0b-0b526f556c10</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If your users have used Excel 2000 and Pivot Table Services targeting SQL Server 2000
as data store, they probably will get the error message "User 'public' does not have
permission to run DBCC TRACEON" - even if you have migrated the whole set of security
settings.
</p>
        <p>
Regarding to this <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=322312&amp;SiteID=1" target="_blank">link</a> the
only way would be to grant execute permissions on DBCC, because:<br />
"[...] SQL Drivers send dbcc traceon(208) to server if client is MS Query for backwards
compatibility reasons (turns on support for old quoted identifiers) [...]"
</p>
        <p>
In SQL Server 2000, non-Sys Admins could execute DBCC Traceon (208) - SQL Server 2005
prevents non-Sys Admins from executing DBCC's. Administrators will not get aware of
this effect, because they are normally allowed to start a trace in SQL 2005....<br />
So even IF you have tested the whole bunch of Excel files in the company you would
not come across this error.
</p>
        <p>
What does this mean for "real life"?<br />
Just deleting your PTS-Excel files and building new ones?<br />
Then I would suggest Reporting Services... ;-)<br />
Screwing your security settings?<br />
Not exactly....<br />
:-)
</p>
        <p>
As mentioned in the forum post, Excel sends a kind of identifier within its query
string, which names the calling application and should look like this in the
files you are having troubles with:<br /><font face="Arial" color="#0000ff">"APP=Microsoft® Query;"</font><br />
But have you tried to change the query string in an Excel file afterwards?
It is nearly impossible...
</p>
        <p>
Luckily, you could also use this coding:
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Sub</span> PT_Connect_Change()<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Dim</span> sh <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span> Worksheet,
qy <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span> QueryTable<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Dim</span> pt <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span> PivotTable,
pc <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span> PivotCache<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Dim</span> OldPath <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">String</span>,
NewPath <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">String</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Dim</span> rng <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">As</span> Range<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">For</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Each</span> ws <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">In</span> ActiveWorkbook.Sheets<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   For</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Each</span> pt <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">In</span> ws.PivotTables<br />
      OldPath <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> pt.PivotCache.Connection<br />
      NewPath <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">replace</span>(OldPath, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"APP=Microsoft®
Query;"</span>, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">""</span>)<br />
      pt.PivotCache.Connection <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> Application.Substitute(pt.PivotCache.Connection,
OldPath, NewPath)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">      On</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Error</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Resume</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Next</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">      If</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Err</span>.<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Number</span> &lt;&gt;
0 <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Then</span><br /><span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">         'you
could write an entire log here...</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">         msgbox</span> ("Error")<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">      End</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">If</span><br />
      pt.PivotCache.Refresh<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   Next</span> pt<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Next</span> ws<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">End</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">Sub</span></span>
        </p>
        <p>
This coding loops through all Pivot Table Services Connections in your open Excel
Workbook and cuts of the string "APP=Microsoft® Query;" in the connection string and
after that refreshes the connection and the data.
</p>
        <p>
To be able to do this without evoking the above mentioned error message do NOT start
refreshing of the queries at the beginning and try to avoid any actions with data
extraction / connection. After that, start the VBA Editor, paste the coding and run
the Sub.<br />
Maybe you will have to wait some minutes because of the refreshing and depending on
the ammount of the data and the numbers of connection strings, but this is neccessary
- I encountered problems with the connection string change without doing it.
</p>
        <p>
But you could spend the time in getting a coffee, posting a comment and reading this
blog, for example...
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=10259e27-75b2-4800-9b0b-0b526f556c10" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>Error in Excel Pivot tables after moving to SQL 2005</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,10259e27-75b2-4800-9b0b-0b526f556c10.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,10259e27-75b2-4800-9b0b-0b526f556c10.aspx</link>
      <pubDate>Tue, 06 Jun 2006 13:37:01 GMT</pubDate>
      <description>&lt;p&gt;
If your users have used Excel 2000 and Pivot Table Services targeting SQL Server 2000
as data store, they probably will get the error message "User 'public' does not have
permission to run DBCC TRACEON" - even if you have migrated the whole set of security
settings.
&lt;/p&gt;
&lt;p&gt;
Regarding to this &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=322312&amp;amp;SiteID=1" target=_blank&gt;link&lt;/a&gt;&amp;nbsp;the
only way would be to grant execute permissions on DBCC, because:&lt;br&gt;
"[...] SQL Drivers send dbcc traceon(208) to server if client is MS Query for backwards
compatibility reasons (turns on support for old quoted identifiers) [...]"
&lt;/p&gt;
&lt;p&gt;
In SQL Server 2000, non-Sys Admins could execute DBCC Traceon (208) - SQL Server 2005
prevents non-Sys Admins from executing DBCC's. Administrators will not get aware of
this effect, because they are normally allowed to start a trace in SQL 2005....&lt;br&gt;
So even IF you have tested the whole bunch of Excel files in the company you would
not come across this error.
&lt;/p&gt;
&lt;p&gt;
What does this mean for "real life"?&lt;br&gt;
Just deleting your PTS-Excel files and building new ones?&lt;br&gt;
Then I would suggest Reporting Services... ;-)&lt;br&gt;
Screwing your security settings?&lt;br&gt;
Not exactly....&lt;br&gt;
:-)
&lt;/p&gt;
&lt;p&gt;
As mentioned in the forum post, Excel sends a kind of identifier within its query
string, which names the calling application and should look&amp;nbsp;like this in the
files you are having troubles with:&lt;br&gt;
&lt;font face=Arial color=#0000ff&gt;"APP=Microsoft® Query;"&lt;/font&gt;
&lt;br&gt;
But have you tried to change the query string in an&amp;nbsp;Excel file&amp;nbsp;afterwards?
It is nearly impossible...
&lt;/p&gt;
&lt;p&gt;
Luckily, you could also use this coding:
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Sub&lt;/span&gt; PT_Connect_Change()&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Dim&lt;/span&gt; sh &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;As&lt;/span&gt; Worksheet,
qy &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;As&lt;/span&gt; QueryTable&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Dim&lt;/span&gt; pt &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;As&lt;/span&gt; PivotTable,
pc &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;As&lt;/span&gt; PivotCache&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Dim&lt;/span&gt; OldPath &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;As&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;String&lt;/span&gt;,
NewPath &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;As&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;String&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Dim&lt;/span&gt; rng &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;As&lt;/span&gt; Range&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;For&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Each&lt;/span&gt; ws &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;In&lt;/span&gt; ActiveWorkbook.Sheets&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Each&lt;/span&gt; pt &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;In&lt;/span&gt; ws.PivotTables&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OldPath &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; pt.PivotCache.Connection&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NewPath &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;replace&lt;/span&gt;(OldPath, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"APP=Microsoft®
Query;"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;""&lt;/span&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pt.PivotCache.Connection &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; Application.Substitute(pt.PivotCache.Connection,
OldPath, NewPath)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Error&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Resume&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Next&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Err&lt;/span&gt;.&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Number&lt;/span&gt; &amp;lt;&amp;gt;
0 &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Then&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'you
could write an entire log here...&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgbox&lt;/span&gt; ("Error")&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;If&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pt.PivotCache.Refresh&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&lt;/span&gt; pt&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Next&lt;/span&gt; ws&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;End&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;Sub&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
This coding loops through all Pivot Table Services Connections in your open Excel
Workbook and cuts of the string "APP=Microsoft® Query;" in the connection string and
after that refreshes the connection and the data.
&lt;/p&gt;
&lt;p&gt;
To be able to do this without evoking the above mentioned error message do NOT start
refreshing of the queries at the beginning and try to avoid any actions with data
extraction / connection. After that, start the VBA Editor, paste the coding and run
the Sub.&lt;br&gt;
Maybe you will have to wait some minutes because of the refreshing and depending on
the ammount of the data and the numbers of connection strings, but this is neccessary
- I encountered problems with the connection string change without doing it.
&lt;/p&gt;
&lt;p&gt;
But you could spend the time in getting a coffee, posting a comment and reading this
blog, for example...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=10259e27-75b2-4800-9b0b-0b526f556c10" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,10259e27-75b2-4800-9b0b-0b526f556c10.aspx</comments>
      <category>Development;MS Office;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=f7f58e2d-9239-4eb4-b011-7a32bf6e0d04</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,f7f58e2d-9239-4eb4-b011-7a32bf6e0d04.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=f7f58e2d-9239-4eb4-b011-7a32bf6e0d04</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The SQL Server 2005 Service Pack 1 is available now, which updates your SQL Version
to Build 9.00.2047.
</p>
        <ul>
          <li>
            <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=cb6c71ea-d649-47ff-9176-e7cac58fd4bc" target="_blank">download
english version</a>
          </li>
          <li>
            <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=de&amp;FamilyID=cb6c71ea-d649-47ff-9176-e7cac58fd4bc" target="_blank">download
german version</a>
          </li>
          <li>
            <a href="http://support.microsoft.com/kb/913090">List of bugfixes</a>
          </li>
          <li>
            <a href="http://support.microsoft.com/kb/916940">List of new features</a>
          </li>
        </ul>
        <p>
Microsoft also now has published the "SQL Server 2005 Express Edition with Advanced
Services", which contains Reporting Services now, and the "Microsoft SQL Server 2005
Express Edition Toolkit", which contains the Business Intelligence Development Studio
and a Software Development Kit!<br />
SQL Server 2005 Express now really is worth a look and it is for free, you will be
able to download it here:<br /><a href="http://msdn.microsoft.com/vstudio/express/sql/download/">http://msdn.microsoft.com/vstudio/express/sql/download/</a></p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=f7f58e2d-9239-4eb4-b011-7a32bf6e0d04" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>SQL Server 2005 SP1 available NOW!</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,f7f58e2d-9239-4eb4-b011-7a32bf6e0d04.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,f7f58e2d-9239-4eb4-b011-7a32bf6e0d04.aspx</link>
      <pubDate>Wed, 19 Apr 2006 22:17:43 GMT</pubDate>
      <description>&lt;p&gt;
The SQL Server 2005 Service Pack 1 is available now, which updates your SQL Version
to Build 9.00.2047.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cb6c71ea-d649-47ff-9176-e7cac58fd4bc" target=_blank&gt;download
english version&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=de&amp;amp;FamilyID=cb6c71ea-d649-47ff-9176-e7cac58fd4bc" target=_blank&gt;download
german version&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://support.microsoft.com/kb/913090"&gt;List of bugfixes&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://support.microsoft.com/kb/916940"&gt;List of new features&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Microsoft also now has published the "SQL Server 2005 Express Edition with Advanced
Services", which contains Reporting Services now, and the "Microsoft SQL Server 2005
Express Edition Toolkit", which contains the Business Intelligence Development Studio
and a Software Development Kit!&lt;br&gt;
SQL Server 2005 Express now really is worth a look and it is for free, you will be
able to download it here:&lt;br&gt;
&lt;a href="http://msdn.microsoft.com/vstudio/express/sql/download/"&gt;http://msdn.microsoft.com/vstudio/express/sql/download/&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=f7f58e2d-9239-4eb4-b011-7a32bf6e0d04" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,f7f58e2d-9239-4eb4-b011-7a32bf6e0d04.aspx</comments>
      <category>MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/MSDB - Express;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=c8374b79-6657-440e-b409-f3595d86e840</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,c8374b79-6657-440e-b409-f3595d86e840.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,c8374b79-6657-440e-b409-f3595d86e840.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c8374b79-6657-440e-b409-f3595d86e840</wfw:commentRss>
      <title>Scriptio - Scripting Objects in SQL Server 2005 </title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,c8374b79-6657-440e-b409-f3595d86e840.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,c8374b79-6657-440e-b409-f3595d86e840.aspx</link>
      <pubDate>Mon, 06 Mar 2006 19:35:41 GMT</pubDate>
      <description>Bill Graziano has developed a tool called Scriptio which is available for download as ClickOnce-Application and as source code (version 0.5.1.0).&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=c8374b79-6657-440e-b409-f3595d86e840"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,c8374b79-6657-440e-b409-f3595d86e840.aspx</comments>
      <category>Development;Development/.Net;MS;MS SQL Server;MS SQL Server/RDBMS;Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=ea03ea02-bf6d-41b0-af11-4a098259be19</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,ea03ea02-bf6d-41b0-af11-4a098259be19.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,ea03ea02-bf6d-41b0-af11-4a098259be19.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ea03ea02-bf6d-41b0-af11-4a098259be19</wfw:commentRss>
      <title>Microsoft IT Showcase: Using SQL Server 2005 at Microsoft IT</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,ea03ea02-bf6d-41b0-af11-4a098259be19.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,ea03ea02-bf6d-41b0-af11-4a098259be19.aspx</link>
      <pubDate>Mon, 06 Mar 2006 06:09:07 GMT</pubDate>
      <description>This video highlights two mission-critical applications within Microsoft that take advantage of SQL Server 2005: MS Sales, a worldwide revenue reporting system, and SAP R/3, an enterprise resource planning system. &lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=ea03ea02-bf6d-41b0-af11-4a098259be19"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,ea03ea02-bf6d-41b0-af11-4a098259be19.aspx</comments>
      <category>BI;BI/Reporting;MS;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS;SAP</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=763c74c6-d514-4ccc-ad63-b15b01c799cb</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,763c74c6-d514-4ccc-ad63-b15b01c799cb.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,763c74c6-d514-4ccc-ad63-b15b01c799cb.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=763c74c6-d514-4ccc-ad63-b15b01c799cb</wfw:commentRss>
      <title>Microsoft IT Showcase: Using SQL Server 2005 to Improve Worldwide Revenue Reporting</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,763c74c6-d514-4ccc-ad63-b15b01c799cb.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,763c74c6-d514-4ccc-ad63-b15b01c799cb.aspx</link>
      <pubDate>Mon, 06 Mar 2006 06:06:52 GMT</pubDate>
      <description>Discussion on how Microsoft IT used SQL Server 2005 to deliver Microsoft Report Analytics, a robust, ad hoc reporting application and MS Sales Business Intelligence, a comprehensive business intelligence solution.&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=763c74c6-d514-4ccc-ad63-b15b01c799cb"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,763c74c6-d514-4ccc-ad63-b15b01c799cb.aspx</comments>
      <category>BI;BI/Reporting;MS;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=1e768aef-9ae5-4e60-9dad-2f2e73b00faa</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,1e768aef-9ae5-4e60-9dad-2f2e73b00faa.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,1e768aef-9ae5-4e60-9dad-2f2e73b00faa.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1e768aef-9ae5-4e60-9dad-2f2e73b00faa</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <title>SQL Server View of AD Users or Performing a SQL Distributed Query by Using ADSI</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,1e768aef-9ae5-4e60-9dad-2f2e73b00faa.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,1e768aef-9ae5-4e60-9dad-2f2e73b00faa.aspx</link>
      <pubDate>Mon, 06 Mar 2006 04:55:58 GMT</pubDate>
      <description>Being annoyed about the Reporting Services Execution Log just bringing up the domain users and having a customer without speaking usernames I searched for a solution to join Execution Log and the Active Directory to enrich the usernames to be able to identify the users.&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=1e768aef-9ae5-4e60-9dad-2f2e73b00faa"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,1e768aef-9ae5-4e60-9dad-2f2e73b00faa.aspx</comments>
      <category>Development;Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=746ff556-587b-4f8f-9459-bc53eee96c6f</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,746ff556-587b-4f8f-9459-bc53eee96c6f.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,746ff556-587b-4f8f-9459-bc53eee96c6f.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=746ff556-587b-4f8f-9459-bc53eee96c6f</wfw:commentRss>
      <title>SQL 2005 Service Manager</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,746ff556-587b-4f8f-9459-bc53eee96c6f.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,746ff556-587b-4f8f-9459-bc53eee96c6f.aspx</link>
      <pubDate>Mon, 06 Mar 2006 03:05:11 GMT</pubDate>
      <description>You are using SQL Server 2005 and are missing the SQL Server Service Manager which is included in the version 2000?

Jasper Smith helps you out and has published the "SQL 2005 Service Manager" for download.&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=746ff556-587b-4f8f-9459-bc53eee96c6f"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,746ff556-587b-4f8f-9459-bc53eee96c6f.aspx</comments>
      <category>MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=96f7b063-eac4-4ae2-8242-0b791feb87cc</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,96f7b063-eac4-4ae2-8242-0b791feb87cc.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,96f7b063-eac4-4ae2-8242-0b791feb87cc.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=96f7b063-eac4-4ae2-8242-0b791feb87cc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Sorry, German only...
</p>
        <p>
Auf den Seiten des <a href="http://www.sqlpass.de/" target="_blank">PASS Deutschland
e.V.</a> steht ein CommunityCast von <a href="http://blogs.msdn.com/sebweber" target="_blank">Sebastian
Weber</a> zum Thema <a href="http://www.sqlpass.de/Default.aspx?tabid=175" target="_blank">"SQL
Server 2005 - CLR Entwicklung"</a> zum Ansehen und zum Download zur Verfügung.
</p>
        <p>
Am 02.03.2006 ab 19.00 Uhr wird es ebenfalls unter dieser <a href="http://www.sqlpass.de/Default.aspx?tabid=175" target="_blank">Adresse</a> eine
Möglichkeit zum Chat mit Sebastian Weber geben, in dem entsprechende Fragen zum Thema
CLR Entwicklung gestellt werden können.
</p>
        <p>
Viel Spaß mit dem CommunityCast und herzlichen Dank an Sebastian Weber!
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=96f7b063-eac4-4ae2-8242-0b791feb87cc" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>CommunityCast: SQL Server 2005 - CLR Entwicklung</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,96f7b063-eac4-4ae2-8242-0b791feb87cc.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,96f7b063-eac4-4ae2-8242-0b791feb87cc.aspx</link>
      <pubDate>Thu, 23 Feb 2006 11:03:12 GMT</pubDate>
      <description>&lt;p&gt;
Sorry,&amp;nbsp;German only...
&lt;/p&gt;
&lt;p&gt;
Auf den Seiten des &lt;a href="http://www.sqlpass.de/" target=_blank&gt;PASS Deutschland
e.V.&lt;/a&gt;&amp;nbsp;steht&amp;nbsp;ein CommunityCast von &lt;a href="http://blogs.msdn.com/sebweber" target=_blank&gt;Sebastian
Weber&lt;/a&gt; zum Thema &lt;a href="http://www.sqlpass.de/Default.aspx?tabid=175" target=_blank&gt;"SQL
Server 2005 - CLR Entwicklung"&lt;/a&gt; zum Ansehen und zum Download zur Verfügung.
&lt;/p&gt;
&lt;p&gt;
Am 02.03.2006 ab 19.00 Uhr wird es ebenfalls unter dieser &lt;a href="http://www.sqlpass.de/Default.aspx?tabid=175" target=_blank&gt;Adresse&lt;/a&gt; eine
Möglichkeit zum Chat mit Sebastian Weber geben, in dem entsprechende Fragen zum Thema
CLR Entwicklung gestellt werden können.
&lt;/p&gt;
&lt;p&gt;
Viel Spaß mit dem CommunityCast und herzlichen Dank an Sebastian Weber!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=96f7b063-eac4-4ae2-8242-0b791feb87cc" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,96f7b063-eac4-4ae2-8242-0b791feb87cc.aspx</comments>
      <category>Development;Development/.Net;Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS;PASS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=3e0a21e7-7d36-421a-ad3e-95ffd8959d48</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,3e0a21e7-7d36-421a-ad3e-95ffd8959d48.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,3e0a21e7-7d36-421a-ad3e-95ffd8959d48.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=3e0a21e7-7d36-421a-ad3e-95ffd8959d48</wfw:commentRss>
      <title>Real World SQL Server Disaster Recovery: A Survival Toolkit for the DBA</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,3e0a21e7-7d36-421a-ad3e-95ffd8959d48.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,3e0a21e7-7d36-421a-ad3e-95ffd8959d48.aspx</link>
      <pubDate>Wed, 22 Feb 2006 18:25:41 GMT</pubDate>
      <description>Lumigent provides a free download of the "Real World SQL Server Disaster Recovery: A Survival Toolkit for the DBA",written by Brian Knight.

The only thing you have to do is to provide your personal informations in a web-form&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=3e0a21e7-7d36-421a-ad3e-95ffd8959d48"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,3e0a21e7-7d36-421a-ad3e-95ffd8959d48.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=2c91f3e3-15c9-4463-97f3-7bc02eca4266</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,2c91f3e3-15c9-4463-97f3-7bc02eca4266.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,2c91f3e3-15c9-4463-97f3-7bc02eca4266.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=2c91f3e3-15c9-4463-97f3-7bc02eca4266</wfw:commentRss>
      <title>Growth of the transaction log of a SQL Server database</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,2c91f3e3-15c9-4463-97f3-7bc02eca4266.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,2c91f3e3-15c9-4463-97f3-7bc02eca4266.aspx</link>
      <pubDate>Wed, 22 Feb 2006 17:43:57 GMT</pubDate>
      <description>One of the classics in newsgroups...

The english version of the MS Support article:
How to stop the transaction log of a SQL Server database from growing unexpectedly

The german version:
So verhindern Sie, dass das Transaktionsprotokoll einer SQL Server-Datenbank unerwarteterweise größer wird&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=2c91f3e3-15c9-4463-97f3-7bc02eca4266"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,2c91f3e3-15c9-4463-97f3-7bc02eca4266.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=c0d05155-230d-4fc9-851c-729c4ef84cef</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,c0d05155-230d-4fc9-851c-729c4ef84cef.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,c0d05155-230d-4fc9-851c-729c4ef84cef.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c0d05155-230d-4fc9-851c-729c4ef84cef</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.microsoft.com/sql/solutions/bi/projectreal.mspx" target="_blank">Project
REAL</a> is a cooperative effort between Microsoft and a number of technology partners
in the business intelligence (BI) industry to build on actual customer scenarios to
discover best practices for creating BI applications based on SQL Server 2005. The
term REAL in Project REAL is an acronym for Reference implementation, End-to-end,
At scale, and Lots of users.
</p>
        <p>
This page gives tons of informations and really is worth reading carefully and staying
for hours!
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=c0d05155-230d-4fc9-851c-729c4ef84cef" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>Project REAL—Business Intelligence in Practice</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,c0d05155-230d-4fc9-851c-729c4ef84cef.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,c0d05155-230d-4fc9-851c-729c4ef84cef.aspx</link>
      <pubDate>Wed, 22 Feb 2006 16:45:32 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.microsoft.com/sql/solutions/bi/projectreal.mspx" target=_blank&gt;Project
REAL&lt;/a&gt; is a cooperative effort between Microsoft and a number of technology partners
in the business intelligence (BI) industry to build on actual customer scenarios to
discover best practices for creating BI applications based on SQL Server 2005. The
term REAL in Project REAL is an acronym for Reference implementation, End-to-end,
At scale, and Lots of users.
&lt;/p&gt;
&lt;p&gt;
This page gives tons of informations and really is worth reading carefully and staying
for hours!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=c0d05155-230d-4fc9-851c-729c4ef84cef" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,c0d05155-230d-4fc9-851c-729c4ef84cef.aspx</comments>
      <category>BI;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=de165b9c-cecb-4843-8ed1-5068cf248699</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,de165b9c-cecb-4843-8ed1-5068cf248699.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,de165b9c-cecb-4843-8ed1-5068cf248699.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=de165b9c-cecb-4843-8ed1-5068cf248699</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <u>
            <font color="#8000ff">
              <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=86212D54-8488-481D-B46B-AF29BB18E1E5&amp;displaylang=en" target="_blank">SQL
Server 2000 Driver for JDBC
</a>
            </font>
          </u>
          <br />
this support article maybe usefull for the first steps: <a href="http://support.microsoft.com/default.aspx?scid=KB;en-us;313173&amp;" target="_blank">Sample
connection pool manager for use with Microsoft SQL Server 2000 Driver for JDBC</a></p>
        <p>
          <a href="http://msdn.microsoft.com/data/jdbc/" target="_blank">Microsoft SQL Server
2005 JDBC Driver</a>
        </p>
        <p>
Ever thought about connecting your SAP system to your SQL Server?<br />
Coming soon...
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=de165b9c-cecb-4843-8ed1-5068cf248699" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>JDBC Support for SQL Server</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,de165b9c-cecb-4843-8ed1-5068cf248699.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,de165b9c-cecb-4843-8ed1-5068cf248699.aspx</link>
      <pubDate>Wed, 22 Feb 2006 16:40:10 GMT</pubDate>
      <description>&lt;p&gt;
&lt;u&gt;&lt;font color=#8000ff&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=86212D54-8488-481D-B46B-AF29BB18E1E5&amp;amp;displaylang=en" target=_blank&gt;SQL
Server 2000 Driver for JDBC
&lt;/font&gt;&lt;/u&gt;&gt;
&lt;br&gt;
this support article maybe usefull for the first steps: &lt;a href="http://support.microsoft.com/default.aspx?scid=KB;en-us;313173&amp;amp;" target=_blank&gt;Sample
connection pool manager for use with Microsoft SQL Server 2000 Driver for JDBC&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/data/jdbc/" target=_blank&gt;Microsoft SQL Server
2005 JDBC Driver&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Ever thought about connecting your SAP system to your SQL Server?&lt;br&gt;
Coming soon...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=de165b9c-cecb-4843-8ed1-5068cf248699" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,de165b9c-cecb-4843-8ed1-5068cf248699.aspx</comments>
      <category>Development;MS SQL Server;MS SQL Server/RDBMS;SAP</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=a3cfb5be-c2cd-432a-a782-df75d5fbf9b1</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,a3cfb5be-c2cd-432a-a782-df75d5fbf9b1.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,a3cfb5be-c2cd-432a-a782-df75d5fbf9b1.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a3cfb5be-c2cd-432a-a782-df75d5fbf9b1</wfw:commentRss>
      <title>Business Intelligence Portal Sample Application for Microsoft Office 2003</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,a3cfb5be-c2cd-432a-a782-df75d5fbf9b1.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,a3cfb5be-c2cd-432a-a782-df75d5fbf9b1.aspx</link>
      <pubDate>Wed, 22 Feb 2006 15:12:49 GMT</pubDate>
      <description>Without Office 2007 (Office 12) having hit the market you could use this for BI...
But please regard that this download is available at a Microsoft website but is not a supported product, it is just a demonstration - but it is a really good one!&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=a3cfb5be-c2cd-432a-a782-df75d5fbf9b1"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,a3cfb5be-c2cd-432a-a782-df75d5fbf9b1.aspx</comments>
      <category>BI;BI/Reporting;MS Office;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS;MS WSS SPS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=e7bd0a92-9b3a-4497-804c-7e51bfd27fd9</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,e7bd0a92-9b3a-4497-804c-7e51bfd27fd9.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,e7bd0a92-9b3a-4497-804c-7e51bfd27fd9.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e7bd0a92-9b3a-4497-804c-7e51bfd27fd9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p>
Scott Lowe privides some interesting informations about pitfalls in his <a href="http://www.builderau.com.au/architect/soa/Avoiding_Microsoft_SQL_Server_2005_deployment_pitfalls/0,39024564,39229543,00.htm" target="_blank">article</a></p>
        <p>
This tutorial shows you how to properly install Microsoft's SQL Server 2005, avoiding
the pitfalls of an unsuccessful deployment.
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=e7bd0a92-9b3a-4497-804c-7e51bfd27fd9" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>Avoiding Microsoft SQL Server 2005 deployment pitfalls</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,e7bd0a92-9b3a-4497-804c-7e51bfd27fd9.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,e7bd0a92-9b3a-4497-804c-7e51bfd27fd9.aspx</link>
      <pubDate>Thu, 02 Feb 2006 22:19:02 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Scott Lowe privides some interesting informations about pitfalls in his &lt;a href="http://www.builderau.com.au/architect/soa/Avoiding_Microsoft_SQL_Server_2005_deployment_pitfalls/0,39024564,39229543,00.htm" target=_blank&gt;article&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This tutorial shows you how to properly install Microsoft's SQL Server 2005, avoiding
the pitfalls of an unsuccessful deployment.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=e7bd0a92-9b3a-4497-804c-7e51bfd27fd9" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,e7bd0a92-9b3a-4497-804c-7e51bfd27fd9.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=a406406b-f6cc-4922-8db1-0682918fb0e8</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,a406406b-f6cc-4922-8db1-0682918fb0e8.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,a406406b-f6cc-4922-8db1-0682918fb0e8.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a406406b-f6cc-4922-8db1-0682918fb0e8</wfw:commentRss>
      <title>SQL Writer</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,a406406b-f6cc-4922-8db1-0682918fb0e8.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,a406406b-f6cc-4922-8db1-0682918fb0e8.aspx</link>
      <pubDate>Thu, 12 Jan 2006 17:29:26 GMT</pubDate>
      <description>It seems almost incredible that&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=a406406b-f6cc-4922-8db1-0682918fb0e8"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,a406406b-f6cc-4922-8db1-0682918fb0e8.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=756db290-96ff-49ac-8205-3b5f93f4b565</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,756db290-96ff-49ac-8205-3b5f93f4b565.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,756db290-96ff-49ac-8205-3b5f93f4b565.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=756db290-96ff-49ac-8205-3b5f93f4b565</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Have you also moaned about setting security for your stored proc´s?<br />
I am shure, you have!<br />
;-)
</p>
        <p>
The following script should help you to set security - if you are using namespaces
für your sproc´s....
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span>
            <span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">exists</span> (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">select</span> * <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">from</span> dbo.<span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">sysobjects</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">where</span> id
=<br /><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object_id</span>(N<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'[dbo].[spr_grantproc]'</span>) <span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">and</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">OBJECTPROPERTY</span>(id,<br />
N<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'IsProcedure'</span>)
= 1)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">drop</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">procedure</span> [dbo].[spr_grantproc]<br />
GO<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CREATE</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">procedure</span> spr_grantproc<br />
@login <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">varchar</span>(50),<br />
@prefix <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">varchar</span>(50),<br />
@<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">grant</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">bit</span><br /><span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">/*
allocates the security settings to all SP´s beginning with the defined prefix
(without itself)<br />
@grant=1 grant access<br /></span></span>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">@grant=0
revoke access<br />
@login User-Login */</span>
            <br />
            <br />
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">AS<br /></span>
          </span>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <br />
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">declare</span> @grantsql <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">as</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">sysname</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">declare</span> @action <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">as</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">varchar</span>(6)<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (@<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">grant</span>=1)<br /></span>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   set</span> @action=<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'GRANT'<br /></span></span>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">else<br /></span>
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   set</span> @action=<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'REVOKE'</span><br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (@login <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">is</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">not</span><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">begin</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   SELECT<br />
      </span>@Action+<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'
EXECUTE ON '</span> + [NAME] + <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'
TO '</span> + @login <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">as</span> sel<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   into<br />
      </span>#granttbl<br />
   <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">from<br />
      </span><span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SYSOBJECTS</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   WHERE<br />
      </span>TYPE = <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'P'</span><br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">      AND</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">LEFT</span>(NAME,<span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">LEN</span>(@prefix))
= @prefix<br /><span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">      AND</span> [NAME]&lt;&gt;<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">'spr_grantproc'</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   DECLARE</span> Cur <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">CURSOR</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FOR</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   SELECT</span> sel <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> #granttbl<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   OPEN</span> Cur<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   FETCH</span> NEXT <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> Cur <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">into</span> @grantsql<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">      WHILE</span><span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">@@FETCH_STATUS</span> =
0<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">         BEGIN</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">            exec</span>(@grantsql)<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">            FETCH</span> NEXT <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">FROM</span> Cur <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">into</span> @grantsql<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">         END</span><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   CLOSE</span> Cur<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   DEALLOCATE</span> Cur<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   drop</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">table</span> #granttbl<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">end</span><br /><br />
GO<br /></span>
        </p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=756db290-96ff-49ac-8205-3b5f93f4b565" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>Stored Procedure for granting authorization</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,756db290-96ff-49ac-8205-3b5f93f4b565.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,756db290-96ff-49ac-8205-3b5f93f4b565.aspx</link>
      <pubDate>Wed, 04 Jan 2006 04:36:13 GMT</pubDate>
      <description>&lt;p&gt;
Have you also moaned about setting security for your stored proc´s?&lt;br&gt;
I am shure, you have!&lt;br&gt;
;-)
&lt;/p&gt;
&lt;p&gt;
The following script should help you to set security - if you are using namespaces
für your sproc´s....
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;exists&lt;/span&gt; (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;select&lt;/span&gt; * &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;from&lt;/span&gt; dbo.&lt;span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;sysobjects&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;where&lt;/span&gt; id
=&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object_id&lt;/span&gt;(N&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'[dbo].[spr_grantproc]'&lt;/span&gt;) &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;and&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;OBJECTPROPERTY&lt;/span&gt;(id,&lt;br&gt;
N&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'IsProcedure'&lt;/span&gt;)
= 1)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;drop&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;procedure&lt;/span&gt; [dbo].[spr_grantproc]&lt;br&gt;
GO&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CREATE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;procedure&lt;/span&gt; spr_grantproc&lt;br&gt;
@login &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;varchar&lt;/span&gt;(50),&lt;br&gt;
@prefix &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;varchar&lt;/span&gt;(50),&lt;br&gt;
@&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;grant&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;bit&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;/*
allocates the security settings to all SP´s&amp;nbsp;beginning with the defined prefix
(without itself)&lt;br&gt;
@grant=1 grant access&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: teal; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;@grant=0
revoke access&lt;br&gt;
@login User-Login */&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;AS&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;declare&lt;/span&gt; @grantsql &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;as&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;sysname&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;declare&lt;/span&gt; @action &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;as&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;varchar&lt;/span&gt;(6)&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (@&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;grant&lt;/span&gt;=1)&lt;br&gt;
&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&lt;/span&gt; @action=&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'GRANT'&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;else&lt;br&gt;
&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&lt;/span&gt; @action=&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'REVOKE'&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (@login &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;is&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;not&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;begin&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;@Action+&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'
EXECUTE ON '&lt;/span&gt; + [NAME] + &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'
TO '&lt;/span&gt; + @login &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;as&lt;/span&gt; sel&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;into&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;#granttbl&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;from&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: lawngreen; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SYSOBJECTS&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;TYPE = &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'P'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;LEFT&lt;/span&gt;(NAME,&lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;LEN&lt;/span&gt;(@prefix))
= @prefix&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: silver; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AND&lt;/span&gt; [NAME]&amp;lt;&amp;gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;'spr_grantproc'&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DECLARE&lt;/span&gt; Cur &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;CURSOR&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FOR&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&lt;/span&gt; sel &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; #granttbl&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OPEN&lt;/span&gt; Cur&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FETCH&lt;/span&gt; NEXT &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; Cur &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;into&lt;/span&gt; @grantsql&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHILE&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: fuchsia; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;@@FETCH_STATUS&lt;/span&gt; =
0&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BEGIN&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exec&lt;/span&gt;(@grantsql)&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FETCH&lt;/span&gt; NEXT &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;FROM&lt;/span&gt; Cur &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;into&lt;/span&gt; @grantsql&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;END&lt;/span&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CLOSE&lt;/span&gt; Cur&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEALLOCATE&lt;/span&gt; Cur&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;drop&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;table&lt;/span&gt; #granttbl&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;end&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
GO&lt;br&gt;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=756db290-96ff-49ac-8205-3b5f93f4b565" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,756db290-96ff-49ac-8205-3b5f93f4b565.aspx</comments>
      <category>Development;Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=67cd7fe9-83d8-425b-a907-3c4f9e8a832a</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,67cd7fe9-83d8-425b-a907-3c4f9e8a832a.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,67cd7fe9-83d8-425b-a907-3c4f9e8a832a.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=67cd7fe9-83d8-425b-a907-3c4f9e8a832a</wfw:commentRss>
      <title>Convert MySQL into MS SQL</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,67cd7fe9-83d8-425b-a907-3c4f9e8a832a.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,67cd7fe9-83d8-425b-a907-3c4f9e8a832a.aspx</link>
      <pubDate>Wed, 04 Jan 2006 04:02:00 GMT</pubDate>
      <description>MySQL-to-MSSQL&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=67cd7fe9-83d8-425b-a907-3c4f9e8a832a"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,67cd7fe9-83d8-425b-a907-3c4f9e8a832a.aspx</comments>
      <category>Development;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=580b5d5f-4022-4b31-a508-aceb6db1e690</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,580b5d5f-4022-4b31-a508-aceb6db1e690.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,580b5d5f-4022-4b31-a508-aceb6db1e690.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=580b5d5f-4022-4b31-a508-aceb6db1e690</wfw:commentRss>
      <title>Generic Paging solved with a Stored Procedure</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,580b5d5f-4022-4b31-a508-aceb6db1e690.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,580b5d5f-4022-4b31-a508-aceb6db1e690.aspx</link>
      <pubDate>Wed, 04 Jan 2006 02:22:20 GMT</pubDate>
      <description>I found the following code somewhere in the internet sometimes ago, but did not store the link, if someone wants to be honoreed for creation - please mail to me!&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=580b5d5f-4022-4b31-a508-aceb6db1e690"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,580b5d5f-4022-4b31-a508-aceb6db1e690.aspx</comments>
      <category>Development;Development/T-SQL;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=199cf29f-f632-4965-a0be-24b9102e8a7c</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,199cf29f-f632-4965-a0be-24b9102e8a7c.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,199cf29f-f632-4965-a0be-24b9102e8a7c.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=199cf29f-f632-4965-a0be-24b9102e8a7c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Eric Bracke provides a cool tool named <a href="http://sqldigger.bdsweb.be/" target="_blank">SQL
Digger</a> which enables searching in Stored Procedures, UDF´s, Views and
Triggers.
</p>
        <p>
He also provides guides to add it into <a href="http://sqldigger.bdsweb.be/SQLDiggerHelpENT.htm" target="_blank">SQL
Enterprise Manager</a> or in the <a href="http://sqldigger.bdsweb.be/SQLDiggerHelpIDE.htm" target="_blank">.NET
IDE</a>.
</p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=199cf29f-f632-4965-a0be-24b9102e8a7c" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>Search through Stored Procedures and other objects?</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,199cf29f-f632-4965-a0be-24b9102e8a7c.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,199cf29f-f632-4965-a0be-24b9102e8a7c.aspx</link>
      <pubDate>Wed, 04 Jan 2006 01:52:10 GMT</pubDate>
      <description>&lt;p&gt;
Eric Bracke provides a cool tool named &lt;a href="http://sqldigger.bdsweb.be/" target=_blank&gt;SQL
Digger&lt;/a&gt;&amp;nbsp;which enables searching in Stored&amp;nbsp;Procedures, UDF´s, Views and
Triggers.
&lt;/p&gt;
&lt;p&gt;
He also provides guides to add it into &lt;a href="http://sqldigger.bdsweb.be/SQLDiggerHelpENT.htm" target=_blank&gt;SQL
Enterprise Manager&lt;/a&gt;&amp;nbsp;or in the&amp;nbsp;&lt;a href="http://sqldigger.bdsweb.be/SQLDiggerHelpIDE.htm" target=_blank&gt;.NET
IDE&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=199cf29f-f632-4965-a0be-24b9102e8a7c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,199cf29f-f632-4965-a0be-24b9102e8a7c.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS;Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=7adb1b5c-e92b-47c6-974b-fc5fb631cadc</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,7adb1b5c-e92b-47c6-974b-fc5fb631cadc.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,7adb1b5c-e92b-47c6-974b-fc5fb631cadc.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7adb1b5c-e92b-47c6-974b-fc5fb631cadc</wfw:commentRss>
      <title>msbicentral.com</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,7adb1b5c-e92b-47c6-974b-fc5fb631cadc.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,7adb1b5c-e92b-47c6-974b-fc5fb631cadc.aspx</link>
      <pubDate>Mon, 02 Jan 2006 02:11:34 GMT</pubDate>
      <description>I just came across this post from Bayer White who is a co-blogger of Brian Knight - they are sharing this Community Server.

There is a website available called msbicentral.com, regarding to the post, this should be a "pilot community" and the "the "GOTO", place for Business Intelligence knowledge".&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=7adb1b5c-e92b-47c6-974b-fc5fb631cadc"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,7adb1b5c-e92b-47c6-974b-fc5fb631cadc.aspx</comments>
      <category>BI;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=d7bd8458-1463-437d-8cce-8eeb7b3898fc</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,d7bd8458-1463-437d-8cce-8eeb7b3898fc.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,d7bd8458-1463-437d-8cce-8eeb7b3898fc.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d7bd8458-1463-437d-8cce-8eeb7b3898fc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As Chris Webb posted <a href="http://spaces.msn.com/members/cwebbbi/Blog/cns!1pi7ETChsJ1un_2s41jm9Iyg!444.entry" target="_blank">here</a>,
there is a "SQL Server 2005 Business Intelligence Metadata Samples Toolkit", which
brings up "Tools and Sample reports for Metadata Dependency Analysis of SSIS, SSAS",
available for <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=11DAA4D1-196D-4F2A-B18F-891579C364F4&amp;displaylang=en" target="_blank">download</a> for
free.
</p>
        <p>
Extract from the website:<br /><em><font color="#808080">"</font></em><em><font color="#808080"><span>Microsoft SQL
Server 2005 BI Metadata Samples provides tools and samples for analysing dependencies
within and across SSIS and SSAS. The source code for the tools is provided. 
<br />
The following are the components of this pack:<br />
DependencyAnalyzer: a utility that scans SSIS packages and SSAS databases for enumerating
metadata (objects, properties and dependencies).<br />
DependencyViewer: a utility to view metadata organization &amp; inter-dependencies
(lineage/impact analysis).<br />
Analysis Services Samples : sample SSAS packages that can be analyzed<br />
Integration Services Samples: sample SSIS packages that can be analyzed<br />
Report Model Samples (Report Builder): report builder model<br />
Reports: sample reports built from metadata store<br />
SQL: SQL script for creating metadata store</span>"</font></em></p>
        <p>
          <hr style="WIDTH: 700px" size="1" />
You will also be able to download a whitepaper called <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=182BD330-0189-450C-A2FE-DF5C132D9DA9&amp;displaylang=en" target="_blank">"SQL
Server 2005 Business Intelligence Metadata Whitepaper"</a>. 
</p>
        <p>
        </p>
        <p>
          <span>Extract from the website:<br /><em><font color="#808080">"This white paper covers several interesting and unique
methods for managing metadata in SQL Server Integration Services, Analysis Services
and Reporting Services using built-in features including data lineage, business and
technical metadata and impact analysis."</font></em></span>
        </p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=d7bd8458-1463-437d-8cce-8eeb7b3898fc" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>SQL Server 2005 Business Intelligence Metadata Samples Toolkit</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,d7bd8458-1463-437d-8cce-8eeb7b3898fc.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,d7bd8458-1463-437d-8cce-8eeb7b3898fc.aspx</link>
      <pubDate>Mon, 02 Jan 2006 01:32:07 GMT</pubDate>
      <description>&lt;p&gt;
As Chris Webb posted &lt;a href="http://spaces.msn.com/members/cwebbbi/Blog/cns!1pi7ETChsJ1un_2s41jm9Iyg!444.entry" target=_blank&gt;here&lt;/a&gt;,
there is a "SQL Server 2005 Business Intelligence Metadata Samples Toolkit", which
brings up "Tools and Sample reports for Metadata Dependency Analysis of SSIS, SSAS",
available for &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=11DAA4D1-196D-4F2A-B18F-891579C364F4&amp;amp;displaylang=en" target=_blank&gt;download&lt;/a&gt; for
free.
&lt;/p&gt;
&lt;p&gt;
Extract from the website:&lt;br&gt;
&lt;em&gt;&lt;font color=#808080&gt;"&lt;/font&gt;&lt;/em&gt;&lt;em&gt;&lt;font color=#808080&gt;&lt;span&gt;Microsoft SQL Server
2005 BI Metadata Samples provides tools and samples for analysing dependencies within
and across SSIS and SSAS. The source code for the tools is provided. 
&lt;br&gt;
The following are the components of this pack:&lt;br&gt;
DependencyAnalyzer: a utility that scans SSIS packages and SSAS databases for enumerating
metadata (objects, properties and dependencies).&lt;br&gt;
DependencyViewer: a utility to view metadata organization &amp;amp; inter-dependencies
(lineage/impact analysis).&lt;br&gt;
Analysis Services Samples : sample SSAS packages that can be analyzed&lt;br&gt;
Integration Services Samples: sample SSIS packages that can be analyzed&lt;br&gt;
Report Model Samples (Report Builder): report builder model&lt;br&gt;
Reports: sample reports built from metadata store&lt;br&gt;
SQL: SQL script for creating metadata store&lt;/span&gt;"&lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;hr style="WIDTH: 700px" size=1&gt;
You will also be able to download a whitepaper called &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=182BD330-0189-450C-A2FE-DF5C132D9DA9&amp;amp;displaylang=en" target=_blank&gt;"SQL
Server 2005 Business Intelligence Metadata Whitepaper"&lt;/a&gt;. 
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;Extract from the website:&lt;br&gt;
&lt;em&gt;&lt;font color=#808080&gt;"This white paper covers several interesting and unique methods
for managing metadata in SQL Server Integration Services, Analysis Services and Reporting
Services using built-in features including data lineage, business and technical metadata
and impact analysis."&lt;/font&gt;&lt;/em&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=d7bd8458-1463-437d-8cce-8eeb7b3898fc" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,d7bd8458-1463-437d-8cce-8eeb7b3898fc.aspx</comments>
      <category>BI;BI/Metadata;MS SQL Server;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=f5457c56-7764-48f1-b9f6-0236c18ab0a0</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,f5457c56-7764-48f1-b9f6-0236c18ab0a0.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,f5457c56-7764-48f1-b9f6-0236c18ab0a0.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=f5457c56-7764-48f1-b9f6-0236c18ab0a0</wfw:commentRss>
      <title>SQL Server 2005 Documentation and Samples (December 2005)</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,f5457c56-7764-48f1-b9f6-0236c18ab0a0.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,f5457c56-7764-48f1-b9f6-0236c18ab0a0.aspx</link>
      <pubDate>Mon, 02 Jan 2006 01:13:57 GMT</pubDate>
      <description>SQL Server 2005 Documentation and Samples (December 2005)&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=f5457c56-7764-48f1-b9f6-0236c18ab0a0"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,f5457c56-7764-48f1-b9f6-0236c18ab0a0.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS;MS SQL Server/AS - SSAS;MS SQL Server/DTS - SSIS;MS SQL Server/RS - SSRS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=fce6737f-72ab-4596-a122-1e61b981264b</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,fce6737f-72ab-4596-a122-1e61b981264b.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,fce6737f-72ab-4596-a122-1e61b981264b.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=fce6737f-72ab-4596-a122-1e61b981264b</wfw:commentRss>
      <title>SQL Server 2005 System View Map</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,fce6737f-72ab-4596-a122-1e61b981264b.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,fce6737f-72ab-4596-a122-1e61b981264b.aspx</link>
      <pubDate>Mon, 02 Jan 2006 00:59:37 GMT</pubDate>
      <description>The Microsoft SQL Server 2005 System View Map shows the key system views included in SQL Server 2005, and the relationships between them.&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=fce6737f-72ab-4596-a122-1e61b981264b"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,fce6737f-72ab-4596-a122-1e61b981264b.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=c9855219-2305-4568-b229-88a9fef704c9</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,c9855219-2305-4568-b229-88a9fef704c9.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,c9855219-2305-4568-b229-88a9fef704c9.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c9855219-2305-4568-b229-88a9fef704c9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c039a798-c57a-419e-acbc-2a332cb7f959&amp;displaylang=en" target="_blank">link</a> provides
the downloadable bits for the SQL Server Web Data Administrator and some hints.
</p>
        <p>
Especially you will be interested in the following:<br /><font color="#808080"><em>"Note: The SQL Web Data Administrator is not officially
supported by Microsoft Product Support Services (PSS). If you require support for
this tool, post your question in the SQL Web Data Administrator forum on the SQLJunkies
site at </em></font><a href="http://www.sqljunkies.com/forums/"><font color="#808080"><em>http://www.sqljunkies.com/forums/</em></font></a><font color="#808080"><em>.</em></font></p>
        <p>
          <font color="#808080">
            <em>The SQL Server Web Data Administrator enables you to easily
manage your SQL Server data, wherever you are. Using its built-in features, you can
do the following from Microsoft Internet Explorer or your favorite Web browser:<br /></em>
          </font>
        </p>
        <ul>
          <li>
            <font color="#808080">
              <em>Create and edit databases in SQL Server 2000 or Microsoft
SQL Server 2000 Desktop Engine (MSDE 2000) </em>
            </font>
          </li>
          <li>
            <font color="#808080">
              <em>Perform ad-hoc queries against databases and save them to
your file system </em>
            </font>
          </li>
          <li>
            <font color="#808080">
              <em>Export and import database schema and data </em>
            </font>
          </li>
          <li>
            <font color="#808080">
              <em>Manage users and roles </em>
            </font>
          </li>
          <li>
            <font color="#808080">
              <em>View, create and edit stored procedures </em>
            </font>
          </li>
        </ul>
        <p>
          <font color="#808080">
            <em>Whether you are doing Microsoft Windows or Web development,
or just need remote access to data for yourself or your clients, the Web Data Administrator
is the perfect complement to your toolbox."</em>
          </font>
        </p>
        <img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=c9855219-2305-4568-b229-88a9fef704c9" />
        <br />
        <hr />
        <p>
This weblog is sponsored by <a href="http://www.fits-consulting.de">FITS</a>. 
<br />
We support <a href="http://www.sqlpass.de">PASS Germany</a>!
</p>
      </body>
      <title>SQL Server Web Data Administrator</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,c9855219-2305-4568-b229-88a9fef704c9.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,c9855219-2305-4568-b229-88a9fef704c9.aspx</link>
      <pubDate>Tue, 27 Dec 2005 18:48:51 GMT</pubDate>
      <description>&lt;p&gt;
This &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c039a798-c57a-419e-acbc-2a332cb7f959&amp;amp;displaylang=en" target=_blank&gt;link&lt;/a&gt; provides
the downloadable bits for the SQL Server Web Data Administrator and some hints.
&lt;/p&gt;
&lt;p&gt;
Especially you will be interested in the following:&lt;br&gt;
&lt;font color=#808080&gt;&lt;em&gt;"Note: The SQL Web Data Administrator is not officially supported
by Microsoft Product Support Services (PSS). If you require support for this tool,
post your question in the SQL Web Data Administrator forum on the SQLJunkies site
at &lt;/em&gt;&lt;/font&gt;&lt;a href="http://www.sqljunkies.com/forums/"&gt;&lt;font color=#808080&gt;&lt;em&gt;http://www.sqljunkies.com/forums/&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color=#808080&gt;&lt;em&gt;.&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#808080&gt;&lt;em&gt;The SQL Server Web Data Administrator enables you to easily
manage your SQL Server data, wherever you are. Using its built-in features, you can
do the following from Microsoft Internet Explorer or your favorite Web browser:&lt;br&gt;
&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;font color=#808080&gt;&lt;em&gt;Create and edit databases in SQL Server 2000 or Microsoft
SQL Server 2000 Desktop Engine (MSDE 2000) &lt;/em&gt;&lt;/font&gt; 
&lt;li&gt;
&lt;font color=#808080&gt;&lt;em&gt;Perform ad-hoc queries against databases and save them to
your file system &lt;/em&gt;&lt;/font&gt; 
&lt;li&gt;
&lt;font color=#808080&gt;&lt;em&gt;Export and import database schema and data &lt;/em&gt;&lt;/font&gt; 
&lt;li&gt;
&lt;font color=#808080&gt;&lt;em&gt;Manage users and roles &lt;/em&gt;&lt;/font&gt; 
&lt;li&gt;
&lt;font color=#808080&gt;&lt;em&gt;View, create and edit stored procedures &lt;/em&gt;&lt;/font&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;font color=#808080&gt;&lt;em&gt;Whether you are doing Microsoft Windows or Web development,
or just need remote access to data for yourself or your clients, the Web Data Administrator
is the perfect complement to your toolbox."&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=c9855219-2305-4568-b229-88a9fef704c9" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. 
&lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,c9855219-2305-4568-b229-88a9fef704c9.aspx</comments>
      <category>MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=afc5e740-1617-4b80-99bc-edc90c218e6d</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,afc5e740-1617-4b80-99bc-edc90c218e6d.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,afc5e740-1617-4b80-99bc-edc90c218e6d.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=afc5e740-1617-4b80-99bc-edc90c218e6d</wfw:commentRss>
      <title>SQL Server Objekte scripten</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,afc5e740-1617-4b80-99bc-edc90c218e6d.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,afc5e740-1617-4b80-99bc-edc90c218e6d.aspx</link>
      <pubDate>Tue, 27 Dec 2005 17:46:43 GMT</pubDate>
      <description>SQL Server Objekte scripten&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=afc5e740-1617-4b80-99bc-edc90c218e6d"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,afc5e740-1617-4b80-99bc-edc90c218e6d.aspx</comments>
      <category>Development/ASP;MS SQL Server;MS SQL Server/RDBMS</category>
    </item>
    <item>
      <trackback:ping>http://www.fits-consulting.de/blog/Trackback.aspx?guid=48fb7e85-bbea-48c6-a67d-3109f30924e6</trackback:ping>
      <pingback:server>http://www.fits-consulting.de/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fits-consulting.de/blog/PermaLink,guid,48fb7e85-bbea-48c6-a67d-3109f30924e6.aspx</pingback:target>
      <dc:creator>Markus Fischer</dc:creator>
      <wfw:comment>http://www.fits-consulting.de/blog/CommentView,guid,48fb7e85-bbea-48c6-a67d-3109f30924e6.aspx</wfw:comment>
      <wfw:commentRss>http://www.fits-consulting.de/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=48fb7e85-bbea-48c6-a67d-3109f30924e6</wfw:commentRss>
      <title>Deployment of a SQL Server database - How to script data</title>
      <guid isPermaLink="false">http://www.fits-consulting.de/blog/PermaLink,guid,48fb7e85-bbea-48c6-a67d-3109f30924e6.aspx</guid>
      <link>http://www.fits-consulting.de/blog/PermaLink,guid,48fb7e85-bbea-48c6-a67d-3109f30924e6.aspx</link>
      <pubDate>Tue, 27 Dec 2005 17:02:28 GMT</pubDate>
      <description>Deployment of a SQL Server database&lt;img width="0" height="0" src="http://www.fits-consulting.de/blog/aggbug.ashx?id=48fb7e85-bbea-48c6-a67d-3109f30924e6"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;This weblog is sponsored by &lt;a href="http://www.fits-consulting.de"&gt;FITS&lt;/a&gt;. &lt;br&gt;
We support &lt;a href="http://www.sqlpass.de"&gt;PASS Germany&lt;/a&gt;!&lt;/p&gt;</description>
      <comments>http://www.fits-consulting.de/blog/CommentView,guid,48fb7e85-bbea-48c6-a67d-3109f30924e6.aspx</comments>
      <category>MS SQL Server;MS SQL Server/DTS - SSIS;MS SQL Server/RDBMS</category>
    </item>
  </channel>
</rss>