<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Roy Ashbrook</title>
        <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/Default.aspx</link>
        <description>i kill the darlings</description>
        <language>en-US</language>
        <copyright>Roy Ashbrook</copyright>
        <managingEditor>royashbrook@yahoo.com</managingEditor>
        <generator>Subtext Version 2.1.2.2</generator>
        <image>
            <title>Roy Ashbrook</title>
            <url>http://www.drowningintechnicaldebt.com/images/RSS2Image.gif</url>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>How to make a laptop stand out of crap for your treadmill for almost free =)</title>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2011/01/17/how-to-make-a-laptop-stand-out-of-crap-for.aspx</link>
            <description>&lt;p&gt;So I work from home. I also have a running machine. I haven't been running in a while because a) running is hard and b) everything has been packed away from moving around last year.
&lt;/p&gt;&lt;p&gt;Well, the moves are over, everything is long since done and it's a holiday today (MLK) so the banks (one of which I work for) is closed. So today I got my gym room all fixed up. Setup the weights, positioned the treadmill so it's usable, etc etc. Now I need to be able to use my laptop while I am on it during the day. My first instinct was to look for a stand online. However, I had just got done actually using the machine and while on it I was listening to a TED talk about building houses (among other things) out of recycled materials. I did this with my laptop pedestal so it seemed like a logical fit. And why not?
&lt;/p&gt;&lt;p&gt;So I used to use my laptop on here, but there was nowhere for the mouse, and you could prop the laptop on a groove on the machine control area. This works, but typing is at an angle. So that sucks. I was prepared to go to home depot and just buy some piping and maybe some other stuff to make something to kinda attach to the arms where you can hold on. I won't need to hold on for working because I will just have it at a very mild walk to get some movement during the day. Since I saw the TED talk I thought to myself "ha, I bet I can make something if I just look around." 
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Here's what I found and what I used (and the order I needed them):
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;2 x Old Soda carrying plastic crates
&lt;/li&gt;&lt;li&gt;2 x Old Boards (about 45" long)
&lt;/li&gt;&lt;li&gt;Duct Tape
&lt;/li&gt;&lt;li&gt;Velcro
&lt;/li&gt;&lt;li&gt;Old notebook
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;That's it. Here's how I made it:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Cut up the old crates because they had little Y grooves which helped them slide together, and also helped them slide right onto the place where you could hold on. Found my base yay! I cut these up so that I could slide all the Y portions together but since the hand rails sloped a little, I needed to be able to raise the front a little so it would be flat(ish). Problem solved, I just used an extra stack in the front and it all worked great.
&lt;/li&gt;&lt;li&gt;Now I had the base, I just needed something to put it on. I was thinking about going to the store and just buying a board, but then I noticed I had two smaller 1x4 boards left over from some work doing trim on the outside of the house. Perfect! So I set them on top of the crates once they were positioned, and cut the ends off some. The ends I then I put between them and I just duct taped them together. I sat around and pondered some better ways to lash them together, but then I realized that the simplest way was to just duct tape them really tightly. It worked like a champ. Now I had my board
&lt;/li&gt;&lt;li&gt;So now I needed a way to attach my board to the arms. I had originally thought maybe I would get a long threaded piece of metal and cut it to fit and use some nuts and washers and a hole in the board to bold the whole thing together. But that just seemed like overkill and would require a trip to the store. I had some bolts so I could bolt to the top, but that seemed like a little bit of overkill too for something so cheap and simple. Then I spied the magic solution sitting over with some old wires. Velcro! So I had one old piece of industrial strength Velcro. I dunno what that means, but I think it cost me like 10 bucks for the pack back when I got it. This was just a scrap. So I split the rough part in half just by making a small cut and tearing it down the middle. Then I put duct tape over the tops of old crates because they were full of holes. This would give something for the Velcro to stick to. Then I put on a strip for each side. After that I put a small piece of the soft stuff up towards the machine. This gave me more leverage to just pick it up when I wanted to take it apart and seemed to work well. You could add more if you wanted it to *really* stay put, but I just needed it not to move for the most part and this did the trick.
&lt;/li&gt;&lt;li&gt;Now it was all assembled. My victory was almost complete. I needed a place for the mouse. I toyed with the idea of stapling some old cardboard to the top (there are spaces between the boards after all. Or maybe going to the store again. Not sure why I hadn't learned to not think of that yet. =P Finally I came up with the idea of just using an old notebook I got from a trade conference years ago. It's got really thick top and bottoms so it works great. I just sit it there, but you could fasten it down if you wanted it more permanent.
&lt;/li&gt;&lt;li&gt;Profit! 
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;That's it. Total cost was really just the price of using old stuff and about an hour of my time. If you had to buy stuff, then not free, but you could make something identical with just some pipe and some Y screws for walls and a board and some screws to screw that in really easily. But free is better. Here are some pictures. =)
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;Here are the old crates. Some of them cut up.
&lt;/div&gt;&lt;p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/royashbrook/011711_2343_Howtomakeal1.png" alt="" /&gt;
			&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Here is the assembled board being placed down. You can see the duct tape holding the two boards and a block from the end of each to expand the width of the board. You can see the long strip of Velcro and the little strip in the back to keep everything in place. You can also see the crates simply wedged onto the bars.
&lt;/div&gt;&lt;p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/royashbrook/011711_2343_Howtomakeal2.png" alt="" /&gt;
			&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Here you can see it with the top down and the machine visible. The old notebook is also on there for the mouse.
&lt;/div&gt;&lt;p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/royashbrook/011711_2343_Howtomakeal3.png" alt="" /&gt;
			&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;And finally here are two photos of the final assembly. It works great. =) sides look a little weird because I didn't cut the crates straight, but that's easily fixable if I ever need to. I don't foresee it being an issue. Best part is it's really easy to just pick up and move if needed for actual running in the morning/evening.
&lt;/div&gt;&lt;p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/royashbrook/011711_2343_Howtomakeal4.png" alt="" /&gt;&lt;img src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/royashbrook/011711_2343_Howtomakeal5.png" alt="" /&gt;
			&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Also, as a bonus, here is a picture of my super cheap pedestal I stand at to work during the day in the other room. It's just three 5 gallon paint buckets and one of those metal desk protectors. I think from IKEA.
&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/royashbrook/011711_2343_Howtomakeal6.png" alt="" /&gt;
			&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/834.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2011/01/17/how-to-make-a-laptop-stand-out-of-crap-for.aspx</guid>
            <pubDate>Mon, 17 Jan 2011 23:55:44 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/834.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2011/01/17/how-to-make-a-laptop-stand-out-of-crap-for.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/834.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/834.aspx</trackback:ping>
        </item>
        <item>
            <title>Setting the File DateTime properties</title>
            <category>.NET</category>
            <category>C#</category>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2011/01/13/setting-the-file-datetime-properties.aspx</link>
            <description>&lt;p&gt;
This is pretty much a no brainer for code. However I went and looked and everything I found was either overkill, or i wasn't certain of the internals so i had to say run it, look at the properties etc.
&lt;/p&gt;
&lt;p&gt;
So I wrote a simple app to do it and put it on codeplex at:&lt;br /&gt;
&lt;a href="http://setfiledate.codeplex.com/"&gt;http://setfiledate.codeplex.com/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This problem stemmed from the fact that I got this weird DVD player and I needed it to play some files from a USB stick in a loop. It loops fine, the problem was ordering. No clue how the ordering was. I thought it might be one of the dates so I tried setting them all manually, no dice. It's not the end of the world as I'll just make a looping DVD or a single media file which will loop, but I tried this first. =)
&lt;/p&gt;

&lt;p&gt;
Here's the set code if you actually came to this post looking for that =P&lt;br /&gt;
&lt;br /&gt;
File.SetCreationTime(f, dt);&lt;br /&gt;
File.SetLastAccessTime(f, dt);&lt;br /&gt;
File.SetLastWriteTime(f, dt);&lt;br /&gt;
&lt;br /&gt;
Where f is a string file path and dt is a DateTime value.&lt;br /&gt;
&lt;/p&gt;&lt;p /&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/833.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2011/01/13/setting-the-file-datetime-properties.aspx</guid>
            <pubDate>Fri, 14 Jan 2011 03:54:06 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/833.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2011/01/13/setting-the-file-datetime-properties.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/833.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/833.aspx</trackback:ping>
        </item>
        <item>
            <title>which pid is which in iis and how much memory are they using</title>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/09/14/which-pid-is-which-in-iis-and-how-much-memory.aspx</link>
            <description>&lt;p&gt;You can do this lots of ways. Here's a quick way from the command line:
&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:MS Shell Dlg 2; font-size:9pt"&gt;iisapp
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:MS Shell Dlg 2; font-size:9pt"&gt;tasklist /FI "IMAGENAME eq w3wp.exe"
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;then just line up the PID numbers.&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/798.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/09/14/which-pid-is-which-in-iis-and-how-much-memory.aspx</guid>
            <pubDate>Tue, 14 Sep 2010 21:40:06 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/798.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/09/14/which-pid-is-which-in-iis-and-how-much-memory.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/798.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/798.aspx</trackback:ping>
        </item>
        <item>
            <title>Normal and abnormal ways to display the logical scan fragmentation in sql database</title>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/09/13/normal-and-abnormal-ways-to-display-the-logical-scan-fragmentation.aspx</link>
            <description>&lt;p&gt;So the way I am getting this data is just normal dbcc showcontig in a db. But for some reason, when I saw the output of dbcc showcontig today, I just decided I *had* to parse it with the command line. /sigh I just wanted the logical scan fragmentation. So this is, in part, the output.
&lt;/p&gt;&lt;p&gt;Profile_Lookup 99
&lt;/p&gt;&lt;p&gt;MSSCrawledProperties 96
&lt;/p&gt;&lt;p&gt;MSSManagedProperties 66
&lt;/p&gt;&lt;p&gt;UserProfileEventLog 50
&lt;/p&gt;&lt;p&gt;UserColleagues 40
&lt;/p&gt;&lt;p&gt;UserMemberships 85
&lt;/p&gt;&lt;p&gt;UserSites 66
&lt;/p&gt;&lt;p&gt;MembershipRecursive 73
&lt;/p&gt;&lt;p&gt;MembershipNonRecursive 1
&lt;/p&gt;&lt;p&gt;Etc etc etc etc
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;To do this I just did a simple for loop with a call out to a …. I forget what these things are even called since no one uses them anymore or cares. I thought about trying to convert it to one command (that's what I started with) but there were scoping issues remember what the last hit was on the table name and it really just seemed silly about 15 minutes into playing with it so I just got it here and left it. =P
&lt;/p&gt;&lt;p&gt;set tablename=
&lt;/p&gt;&lt;p&gt;for /f "tokens=1,2,3,4,5 delims=:'-. " %%i in ('sqlcmd -E -S a_server -d a_sharepoint_admin_db -Q "DBCC SHOWCONTIG"') do @call :check %%i %%j %%k %%l %%m
&lt;/p&gt;&lt;p&gt;set tablename=
&lt;/p&gt;&lt;p&gt;goto :end
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;:check
&lt;/p&gt;&lt;p&gt;@if %1 EQU Table set tablename=%2
&lt;/p&gt;&lt;p&gt;@if %1 EQU Logical if 0 NEQ %4 @echo %tablename% %4
&lt;/p&gt;&lt;p&gt;::@echo "%aa%" %1 %2 %3 %4 %5
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;:end
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Here is some sample output from dbcc showcontig if you don't know what it looks like:
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;DBCC SHOWCONTIG scanning 'MSSQLogTemp' table...
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;Table: 'MSSQLogTemp' (2062630391); index ID: 0, database ID: 32
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;TABLE level scan performed.
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Pages Scanned................................: 0
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Extents Scanned..............................: 0
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Extent Switches..............................: 0
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Avg. Pages per Extent........................: 0.0
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Scan Density [Best Count:Actual Count].......: 100.00% [0:0]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Extent Scan Fragmentation ...................: 0.00%
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Avg. Bytes Free per Page.....................: 0.0
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Avg. Page Density (full).....................: 0.00%
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;DBCC SHOWCONTIG scanning 'Versions' table...
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;Table: 'Versions' (2073058421); index ID: 1, database ID: 32
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;TABLE level scan performed.
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Pages Scanned................................: 1
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Extents Scanned..............................: 1
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Extent Switches..............................: 0
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Avg. Pages per Extent........................: 1.0
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Scan Density [Best Count:Actual Count].......: 100.00% [1:1]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Logical Scan Fragmentation ..................: 0.00%
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Extent Scan Fragmentation ...................: 0.00%
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Avg. Bytes Free per Page.....................: 7562.0
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;- Avg. Page Density (full).....................: 6.57%&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;This actually becomes much sillier if you consider how easy it is to parse text with LINQ or if you just simply resort to using a DM to get this data. The following works fine and will break it out by each index. =P
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:blue; font-family:Courier New; font-size:10pt"&gt;select
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:fuchsia"&gt;object_name&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;a&lt;span style="color:gray"&gt;.&lt;/span&gt;&lt;span style="color:fuchsia"&gt;object_id&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt; [table] 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:gray"&gt;,&lt;/span&gt; b&lt;span style="color:gray"&gt;.&lt;/span&gt;name [index]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:gray"&gt;,&lt;/span&gt; avg_fragmentation_in_percent [fragmentation]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue; font-family:Courier New; font-size:10pt"&gt;from
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:green"&gt;sys&lt;/span&gt;&lt;span style="color:gray"&gt;.&lt;/span&gt;&lt;span style="color:green"&gt;dm_db_index_physical_stats&lt;/span&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:fuchsia"&gt;db_id&lt;/span&gt;&lt;span style="color:gray"&gt;(),&lt;/span&gt;
			&lt;span style="color:gray"&gt;null,&lt;/span&gt;    &lt;span style="color:gray"&gt;null,&lt;/span&gt;
			&lt;span style="color:gray"&gt;null,&lt;/span&gt;
			&lt;span style="color:gray"&gt;null)&lt;/span&gt; a
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:gray"&gt;join&lt;/span&gt;
			&lt;span style="color:green"&gt;sys&lt;/span&gt;&lt;span style="color:gray"&gt;.&lt;/span&gt;&lt;span style="color:green"&gt;indexes&lt;/span&gt; b &lt;span style="color:blue"&gt;on
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        a&lt;span style="color:gray"&gt;.&lt;/span&gt;index_id &lt;span style="color:gray"&gt;=&lt;/span&gt; b&lt;span style="color:gray"&gt;.&lt;/span&gt;index_id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:gray"&gt;and&lt;/span&gt; a&lt;span style="color:gray"&gt;.&lt;/span&gt;&lt;span style="color:fuchsia"&gt;object_id&lt;/span&gt;
			&lt;span style="color:gray"&gt;=&lt;/span&gt; b&lt;span style="color:gray"&gt;.&lt;/span&gt;&lt;span style="color:fuchsia"&gt;object_id
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue; font-family:Courier New; font-size:10pt"&gt;where
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    avg_fragmentation_in_percent &lt;span style="color:gray"&gt;&amp;gt;&lt;/span&gt; 0&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Links for those of you who hate yourselves =P
&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms188917.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms188917.aspx&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms188917.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms188917.aspx&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc966523.aspx"&gt;http://technet.microsoft.com/en-us/library/cc966523.aspx&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.mssqltips.com/tip.asp?tip=1014"&gt;http://www.mssqltips.com/tip.asp?tip=1014&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc917679.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc917679.aspx&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sqlhacks.com/Optimize/Fragmented-Data-2005"&gt;http://www.sqlhacks.com/Optimize/Fragmented-Data-2005&lt;/a&gt;
	&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/797.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/09/13/normal-and-abnormal-ways-to-display-the-logical-scan-fragmentation.aspx</guid>
            <pubDate>Mon, 13 Sep 2010 23:17:53 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/797.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/09/13/normal-and-abnormal-ways-to-display-the-logical-scan-fragmentation.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/797.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/797.aspx</trackback:ping>
        </item>
        <item>
            <title>Search all of the text fields in a sql server database for a particular value… with LINQ (Pad)</title>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/30/search-all-of-the-text-fields-in-a-sql-server.aspx</link>
            <description>&lt;p&gt;So, the question was posed on how to do this with LINQPad, and thus with LINQ. Here is one way. This is basically the same thing I did in my last post about searching for this kind of value. This also shows how to return an arbitrary result from a linq query to a very generic class object for later processing. Note that I was not able to use params because the table name couldn't be a param. I'm sure there is probably some more elegant way to do this, but this works fine and hopefully this is one of those scripts/snippets of code that you never have to use. Since you can just do something like this with SQL, I'm not sure of the usefulness of this code in a realistic setting, but I suppose if you needed to throw up a utility page and you already had a LINQ data context in your app for other stuff, you could do something in a pinch using executequery. I'm personally not a big fan of using executequery as it stands today. I generally just take it as a sign I need to switch to sql, but for something like this (I mean, I could be joining on a file with a list of text to look for right?), the versatility is nice to have. =)
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:blue"&gt;void&lt;/span&gt;&lt;span style="color:black"&gt; Main()
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:Consolas"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;&lt;span style="color:black"&gt;.ExecuteCommand(&lt;/span&gt;&lt;span style="color:#dc1414"&gt;"set transaction isolation level read uncommitted"&lt;/span&gt;&lt;span style="color:black"&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;string&lt;/span&gt;&lt;span style="color:black"&gt; FindThis = &lt;/span&gt;&lt;span style="color:#dc1414"&gt;"some text to find"&lt;/span&gt;&lt;span style="color:black"&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;string&lt;/span&gt;&lt;span style="color:black"&gt; q = &lt;/span&gt;&lt;span style="color:#dc1414"&gt;@"select
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#dc1414; font-family:Consolas"&gt;        '[' + table_catalog + '].[' + table_schema + '].[' + table_name + ']' [t]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#dc1414; font-family:Consolas"&gt;        , '[' + column_name    + ']' [c]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#dc1414; font-family:Consolas"&gt;    from
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#dc1414; font-family:Consolas"&gt;        INFORMATION_SCHEMA.COLUMNS
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#dc1414; font-family:Consolas"&gt;    where
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#dc1414; font-family:Consolas"&gt;        data_type in ('nvarchar','nchar','varchar','char')
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:#dc1414"&gt;        and character_maximum_length &amp;gt;= len({0})"&lt;/span&gt;&lt;span style="color:black"&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;string&lt;/span&gt;&lt;span style="color:black"&gt; e = &lt;/span&gt;&lt;span style="color:#dc1414"&gt;@"select case when exists(select * from {0} with (nolock) where {1} like '%{2}%') then 1 else 0 end"&lt;/span&gt;&lt;span style="color:black"&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:Consolas"&gt;        
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;var&lt;/span&gt;&lt;span style="color:black"&gt; matches = &lt;/span&gt;&lt;span style="color:blue"&gt;from&lt;/span&gt;&lt;span style="color:black"&gt; a &lt;/span&gt;&lt;span style="color:blue"&gt;in&lt;/span&gt;&lt;span style="color:black"&gt;
			&lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;&lt;span style="color:black"&gt;.ExecuteQuery&amp;lt;tc&amp;gt;(q,FindThis).Where (t =&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;&lt;span style="color:black"&gt;.ExecuteQuery&amp;lt;&lt;/span&gt;&lt;span style="color:blue"&gt;int&lt;/span&gt;&lt;span style="color:black"&gt;&amp;gt;(e.Replace(&lt;/span&gt;&lt;span style="color:#dc1414"&gt;"{0}"&lt;/span&gt;&lt;span style="color:black"&gt;,t.t).Replace(&lt;/span&gt;&lt;span style="color:#dc1414"&gt;"{1}"&lt;/span&gt;&lt;span style="color:black"&gt;,t.c).Replace(&lt;/span&gt;&lt;span style="color:#dc1414"&gt;"{2}"&lt;/span&gt;&lt;span style="color:black"&gt;,FindThis)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;            ).Single().Equals(&lt;/span&gt;&lt;span style="color:#c81efa"&gt;1&lt;/span&gt;&lt;span style="color:black"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;        ) &lt;/span&gt;&lt;span style="color:blue"&gt;select&lt;/span&gt;&lt;span style="color:black"&gt; a;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:Consolas"&gt;            
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:Consolas"&gt;    matches.Dump();
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:Consolas"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:blue"&gt;class&lt;/span&gt;&lt;span style="color:black"&gt; tc
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:Consolas"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;&lt;span style="color:black"&gt;
			&lt;/span&gt;&lt;span style="color:blue"&gt;string&lt;/span&gt;&lt;span style="color:black"&gt; t{&lt;/span&gt;&lt;span style="color:blue"&gt;get&lt;/span&gt;&lt;span style="color:black"&gt;;&lt;/span&gt;&lt;span style="color:blue"&gt;set&lt;/span&gt;&lt;span style="color:black"&gt;;}
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;&lt;span style="color:black"&gt;
			&lt;/span&gt;&lt;span style="color:blue"&gt;string&lt;/span&gt;&lt;span style="color:black"&gt; c{&lt;/span&gt;&lt;span style="color:blue"&gt;get&lt;/span&gt;&lt;span style="color:black"&gt;;&lt;/span&gt;&lt;span style="color:blue"&gt;set&lt;/span&gt;&lt;span style="color:black"&gt;;}
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:Consolas"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:Consolas"&gt;
		&lt;/span&gt; &lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/789.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/30/search-all-of-the-text-fields-in-a-sql-server.aspx</guid>
            <pubDate>Mon, 30 Aug 2010 22:32:26 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/789.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/30/search-all-of-the-text-fields-in-a-sql-server.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/789.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/789.aspx</trackback:ping>
        </item>
        <item>
            <title>Search all of the text fields in sql server database for a particular value</title>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/30/search-all-of-the-text-fields-in-sql-server-database.aspx</link>
            <description>&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- try and do dirty reads, and turn off the record counting unless you want
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;--   spam in the middle of your prints below. you can also just do a select
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;--   instead of a print.
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;set&lt;/span&gt;
			&lt;span style="color:blue"&gt;transaction&lt;/span&gt;
			&lt;span style="color:blue"&gt;isolation&lt;/span&gt;
			&lt;span style="color:blue"&gt;level&lt;/span&gt;
			&lt;span style="color:blue"&gt;read&lt;/span&gt;
			&lt;span style="color:blue"&gt;uncommitted
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;set&lt;/span&gt;
			&lt;span style="color:blue"&gt;nocount&lt;/span&gt;
			&lt;span style="color:blue"&gt;on
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- vars to hold the commands to queue up and the command var for the one we'll run
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;--   identity is used to preserve order in case we decide to have a particular order
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;--   otherwise it will just run in the order we create the commands
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;declare&lt;/span&gt; @command &lt;span style="color:blue"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:fuchsia"&gt;max&lt;/span&gt;&lt;span style="color:gray"&gt;),&lt;/span&gt; @id &lt;span style="color:blue"&gt;int
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;declare&lt;/span&gt; @commands &lt;span style="color:blue"&gt;table&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;id &lt;span style="color:blue"&gt;int&lt;/span&gt;
			&lt;span style="color:blue"&gt;IDENTITY&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;1&lt;span style="color:gray"&gt;,&lt;/span&gt;1&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:blue"&gt;PRIMARY&lt;/span&gt;
			&lt;span style="color:blue"&gt;KEY&lt;/span&gt;
			&lt;span style="color:blue"&gt;CLUSTERED&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; command &lt;span style="color:blue"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:fuchsia"&gt;max&lt;/span&gt;&lt;span style="color:gray"&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- strint to look for
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;declare&lt;/span&gt; @StringToFind &lt;span style="color:blue"&gt;varchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;select&lt;/span&gt; @StringToFind &lt;span style="color:gray"&gt;=&lt;/span&gt;
			&lt;span style="color:red"&gt;'some text you want to find'
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- just using a CTE here to make it a bit more readable, this could
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;--   simply be a select statement. this will build the commands to execute
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;with&lt;/span&gt; a&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;t&lt;span style="color:gray"&gt;,&lt;/span&gt; c&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:blue"&gt;as
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:gray; font-family:Courier New; font-size:10pt"&gt;(
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;select
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:red"&gt;'['&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt; table_catalog &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;'].['&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt; table_schema &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;'].['&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt; table_name &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;']'&lt;/span&gt; [t]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:gray"&gt;,&lt;/span&gt;
			&lt;span style="color:red"&gt;'['&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt; column_name    &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;']'&lt;/span&gt; [c]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;from
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:green"&gt;INFORMATION_SCHEMA&lt;/span&gt;&lt;span style="color:gray"&gt;.&lt;/span&gt;&lt;span style="color:green"&gt;COLUMNS
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;where
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        data_type &lt;span style="color:gray"&gt;in&lt;/span&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:red"&gt;'nvarchar'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'nchar'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'varchar'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'char'&lt;/span&gt;&lt;span style="color:gray"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:gray"&gt;and&lt;/span&gt; character_maximum_length &lt;span style="color:gray"&gt;&amp;gt;=&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;len&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;@StringToFind&lt;span style="color:gray"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:gray; font-family:Courier New; font-size:10pt"&gt;)
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;insert&lt;/span&gt; @commands&lt;span style="color:gray"&gt;(&lt;/span&gt;command&lt;span style="color:gray"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue; font-family:Courier New; font-size:10pt"&gt;select
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:red"&gt;'if exists(select * from '&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt; t &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;' with (nolock ) where '&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt; c &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;' like ''%'&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt; @StringToFind &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;'%'')'
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;' print ''found '&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt; @StringToFind &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;' in '&lt;/span&gt;&lt;span style="color:gray"&gt;+&lt;/span&gt; t &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;' in column '&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt; c &lt;span style="color:gray"&gt;+&lt;/span&gt;
			&lt;span style="color:red"&gt;''''
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;from&lt;/span&gt; a
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- if you just want to see the commands you can run the following
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;--    select * from @commands
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- if you don't want to run the commands, comment out the following.
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- run commands
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;while &lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:blue"&gt;select&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;count&lt;/span&gt;&lt;span style="color:gray"&gt;(*)&lt;/span&gt;
			&lt;span style="color:blue"&gt;from&lt;/span&gt; @commands&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;!=&lt;/span&gt; 0
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;begin
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:blue"&gt;select&lt;/span&gt;
			&lt;span style="color:blue"&gt;top&lt;/span&gt; 1 @id&lt;span style="color:gray"&gt;=&lt;/span&gt;id&lt;span style="color:gray"&gt;,&lt;/span&gt;@command&lt;span style="color:gray"&gt;=&lt;/span&gt;command &lt;span style="color:blue"&gt;from&lt;/span&gt; @commands &lt;span style="color:blue"&gt;order&lt;/span&gt;
			&lt;span style="color:blue"&gt;by&lt;/span&gt; id &lt;span style="color:blue"&gt;asc
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:blue"&gt;exec&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt; @command &lt;span style="color:gray"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:blue"&gt;delete&lt;/span&gt;
			&lt;span style="color:blue"&gt;from&lt;/span&gt; @commands &lt;span style="color:blue"&gt;where&lt;/span&gt; id&lt;span style="color:gray"&gt;=&lt;/span&gt;@id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;end
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Obviously you can adjust this to taste for different fields, types, outputs, etc. Originally I simply used a select statement and just copy/pasted the gen'd code, but since I was asked for something that would 'do' this, I figured I would go ahead and queue up and exec the commands. I also switched to a CTE just to provide a little separation between 'get the list of tables/columns' and 'produce the list of commands' in case that was needed. The set trans up at the top should remove the need for the with nolocks, but I figured just in case someone snipped that code, they would think twice before issuing broader locking selects in a scope like this so I dropped some nolock hints in. Of course, if you *must* have clean reads, you would have to remove that. This should, according to docs issue and honor no locks during its life but as always, beware when running something like this in prod.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/788.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/30/search-all-of-the-text-fields-in-sql-server-database.aspx</guid>
            <pubDate>Mon, 30 Aug 2010 19:23:59 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/788.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/30/search-all-of-the-text-fields-in-sql-server-database.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/788.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/788.aspx</trackback:ping>
        </item>
        <item>
            <title>LINQPad and Active Directory</title>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/20/linqpad-and-active-directory.aspx</link>
            <description>&lt;p&gt;I am a huge fan of &lt;a href="http://linqpad.net/"&gt;LINQPad&lt;/a&gt;. Something on my wish-list, as far as my own personal knowledge, for a longtime with it was how to query Active Directory information when I needed it. This was more for convenience because quite often I need to look up some AD info when I am looking at a scrub for some data regarding a user. Normally I just net use or dsquery/dsget etc. The key is &lt;a href="http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx"&gt;System.DirectoryServices.AccountManagement&lt;/a&gt;. Note this is a .NET 3.5 and 4.0 only library so earlier than that, sorry. You aren't out of luck, but the other ways seem to be less cumbersome to me than this very easy way. Be mindful of the fact that performing a .Dump() on one of these objects will produce a TON of stuff. So doing something like User.GetGroups().Dump() is probably a Very Bad Idea&lt;sup&gt;TM&lt;/sup&gt;. Also, don't forget that since we're using LINQ to Objects, you will have case sensitivity issues unless you deal with it yourself.
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;Edit the Query Properties in LINQPad:
&lt;/div&gt;&lt;p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/royashbrook/082010_2006_LINQPadandA1.png" alt="" /&gt;
			&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Add a reference to System.DirectoryServices.AccountManagement.dll:
&lt;/div&gt;&lt;p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/royashbrook/082010_2006_LINQPadandA2.png" alt="" /&gt;
			&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Update the Additional Namespace Imports tab to reflect the namespace you want to import:
&lt;/div&gt;&lt;p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/royashbrook/082010_2006_LINQPadandA3.png" alt="" /&gt;
			&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;/li&gt;&lt;li&gt;PROFIT!! =P
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;using&lt;/span&gt;&lt;span style="color:black"&gt;(PrincipalContext ctx = &lt;/span&gt;&lt;span style="color:blue"&gt;new&lt;/span&gt;&lt;span style="color:black"&gt; PrincipalContext(ContextType.Domain, &lt;/span&gt;&lt;span style="color:#dc1414"&gt;"MyDomain))&lt;/span&gt;&lt;span style="color:black"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;&lt;span style="color:black"&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;using&lt;/span&gt;&lt;span style="color:black"&gt;(UserPrincipal usr = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, &lt;/span&gt;&lt;span style="color:#dc1414"&gt;"MyUserID"&lt;/span&gt;&lt;span style="color:black"&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="color:black; font-family:Consolas"&gt;            usr.Dump();&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/761.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/20/linqpad-and-active-directory.aspx</guid>
            <pubDate>Fri, 20 Aug 2010 20:13:27 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/761.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/20/linqpad-and-active-directory.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/761.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/761.aspx</trackback:ping>
        </item>
        <item>
            <title>set transaction isolation level read only uncommitted in LINQ</title>
            <category>.NET</category>
            <category>C#</category>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/13/set-transaction-isolation-level-read-only-uncommitted-in-linq.aspx</link>
            <description>&lt;p&gt;apparently you can use a transaction scope for this and just wrap everything that way. but to me that seems more complicated than just enabling it with execute command.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;some LINQ code like (note that ‘this’ is a data context):&lt;/p&gt;  &lt;p&gt;this.ExecuteCommand("set transaction isolation level read uncommitted");   &lt;br /&gt;MyTable.Take(5).Dump();&lt;/p&gt;  &lt;p&gt;Produces this sql code:&lt;/p&gt;  &lt;p&gt;set transaction isolation level read uncommitted   &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;SELECT TOP 5 &amp;lt;fieldnames…&amp;gt; FROM [MyTable] AS [t0]   &lt;br /&gt;GO&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;That’s what I want to see, so yay. =)&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;some links:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://madprops.org/blog/linq-to-sql-and-nolock-hints/" href="http://madprops.org/blog/linq-to-sql-and-nolock-hints/"&gt;http://madprops.org/blog/linq-to-sql-and-nolock-hints/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.hanselman.com/blog/GettingLINQToSQLAndLINQToEntitiesToUseNOLOCK.aspx" href="http://www.hanselman.com/blog/GettingLINQToSQLAndLINQToEntitiesToUseNOLOCK.aspx"&gt;http://www.hanselman.com/blog/GettingLINQToSQLAndLINQToEntitiesToUseNOLOCK.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;ps. trying to use livewriter today. so far, not excited about it and still like word more =P hopefully i’ll get elightened.&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/758.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/13/set-transaction-isolation-level-read-only-uncommitted-in-linq.aspx</guid>
            <pubDate>Fri, 13 Aug 2010 14:43:56 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/758.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/13/set-transaction-isolation-level-read-only-uncommitted-in-linq.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/758.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/758.aspx</trackback:ping>
        </item>
        <item>
            <title>Space used by tables, long form</title>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/03/space-used-by-tables-long-form.aspx</link>
            <description>&lt;p&gt;After my &lt;a href="http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/07/29/sp_spaceused-for-all-the-tables-in-your-database-in-one.aspx"&gt;recent post&lt;/a&gt;, I had a couple of conversations and an email exchange with a colleague of mine and I was reminded of the fact that I went originally out to search for my 'original' table space used script. I couldn't find it online (even though I found it on my hdd) and that prompted me to put together the &lt;a href="http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/07/29/sp_spaceused-for-all-the-tables-in-your-database-in-one.aspx"&gt;newer method&lt;/a&gt;. Which is considerably shorter. But here is my original script which essentially I wrote by looking at what was in sp_spaceused and just formatting it more to my liking.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- view all table sizes
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- author: royashbrook - royashbrook@yahoo.com
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:green; font-family:Courier New; font-size:10pt"&gt;-- april 2005
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:blue; font-family:Courier New; font-size:10pt"&gt;select
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;      so&lt;span style="color:gray"&gt;.&lt;/span&gt;id &lt;span style="color:blue"&gt;as&lt;/span&gt; [OBJECT_ID]&lt;span style="color:gray"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;      so&lt;span style="color:gray"&gt;.&lt;/span&gt;name &lt;span style="color:blue"&gt;as&lt;/span&gt; [OBJECT_NAME]&lt;span style="color:gray"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:fuchsia"&gt;coalesce&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;j_rows&lt;span style="color:gray"&gt;.&lt;/span&gt;&lt;span style="color:blue"&gt;rows&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;0&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:blue"&gt;as&lt;/span&gt; [ROWCOUNT]&lt;span style="color:gray"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:fuchsia"&gt;coalesce&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;j_ru&lt;span style="color:gray"&gt;.&lt;/span&gt;sum_reserved&lt;span style="color:gray"&gt;,&lt;/span&gt;0&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;*&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;cast&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;m&lt;span style="color:gray"&gt;.&lt;/span&gt;low &lt;span style="color:blue"&gt;as&lt;/span&gt;
			&lt;span style="color:blue"&gt;dec&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;/&lt;/span&gt; 1024 &lt;span style="color:blue"&gt;as&lt;/span&gt; [RESERVED (KB)]&lt;span style="color:gray"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;      d&lt;span style="color:gray"&gt;.&lt;/span&gt;data &lt;span style="color:gray"&gt;*&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;cast&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;m&lt;span style="color:gray"&gt;.&lt;/span&gt;low &lt;span style="color:blue"&gt;as&lt;/span&gt;
			&lt;span style="color:blue"&gt;dec&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;/&lt;/span&gt; 1024 &lt;span style="color:blue"&gt;as&lt;/span&gt; [DATA (KB)]&lt;span style="color:gray"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:fuchsia"&gt;coalesce&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;j_ru&lt;span style="color:gray"&gt;.&lt;/span&gt;sum_used&lt;span style="color:gray"&gt;,&lt;/span&gt;0&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;-&lt;/span&gt; d&lt;span style="color:gray"&gt;.&lt;/span&gt;data&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;*&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;cast&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;m&lt;span style="color:gray"&gt;.&lt;/span&gt;low &lt;span style="color:blue"&gt;as&lt;/span&gt;
			&lt;span style="color:blue"&gt;dec&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;/&lt;/span&gt; 1024 &lt;span style="color:blue"&gt;as&lt;/span&gt; [INDEX (KB)]&lt;span style="color:gray"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:fuchsia"&gt;coalesce&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;j_ru&lt;span style="color:gray"&gt;.&lt;/span&gt;sum_reserved&lt;span style="color:gray"&gt;,&lt;/span&gt;0&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;-&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;coalesce&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;j_ru&lt;span style="color:gray"&gt;.&lt;/span&gt;sum_used&lt;span style="color:gray"&gt;,&lt;/span&gt;0&lt;span style="color:gray"&gt;))&lt;/span&gt;
			&lt;span style="color:gray"&gt;*&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;cast&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;m&lt;span style="color:gray"&gt;.&lt;/span&gt;low &lt;span style="color:blue"&gt;as&lt;/span&gt;
			&lt;span style="color:blue"&gt;dec&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;/&lt;/span&gt; 1024 &lt;span style="color:blue"&gt;as&lt;/span&gt; [UNUSED (KB)]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue; font-family:Courier New; font-size:10pt"&gt;from
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;sysobjects&lt;/span&gt; so
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;join&lt;/span&gt;
			&lt;span style="color:blue"&gt;master&lt;/span&gt;&lt;span style="color:gray"&gt;.&lt;/span&gt;dbo&lt;span style="color:gray"&gt;.&lt;/span&gt;spt_values m
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;on&lt;/span&gt; m&lt;span style="color:gray"&gt;.&lt;/span&gt;number &lt;span style="color:gray"&gt;=&lt;/span&gt; 1 &lt;span style="color:gray"&gt;and&lt;/span&gt; m&lt;span style="color:gray"&gt;.&lt;/span&gt;&lt;span style="color:blue"&gt;type&lt;/span&gt;
			&lt;span style="color:gray"&gt;=&lt;/span&gt;
			&lt;span style="color:red"&gt;'E'
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;-- rows
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;left&lt;/span&gt;
			&lt;span style="color:gray"&gt;join&lt;/span&gt;
			&lt;span style="color:green"&gt;sysindexes&lt;/span&gt; j_rows
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;on&lt;/span&gt; j_rows&lt;span style="color:gray"&gt;.&lt;/span&gt;indid &lt;span style="color:gray"&gt;&amp;lt;&lt;/span&gt; 2 &lt;span style="color:gray"&gt;and&lt;/span&gt; j_rows&lt;span style="color:gray"&gt;.&lt;/span&gt;id &lt;span style="color:gray"&gt;=&lt;/span&gt; so&lt;span style="color:gray"&gt;.&lt;/span&gt;id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;-- reserved: sum(reserved) where indid in (0, 1, 255)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;-- index: sum(used) where indid in (0, 1, 255) - data
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;-- unused: sum(reserved) - sum(used) where indid in (0, 1, 255)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;left&lt;/span&gt;
			&lt;span style="color:gray"&gt;join
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;select
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                  id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;,&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;sum&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;reserved&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:blue"&gt;as&lt;/span&gt; sum_reserved
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;,&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;sum&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;used&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:blue"&gt;as&lt;/span&gt; sum_used
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;from
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;sysindexes
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;where
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                  indid &lt;span style="color:gray"&gt;in&lt;/span&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;0&lt;span style="color:gray"&gt;,&lt;/span&gt; 1&lt;span style="color:gray"&gt;,&lt;/span&gt; 255&lt;span style="color:gray"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;group&lt;/span&gt;
			&lt;span style="color:blue"&gt;by
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                  id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;)&lt;/span&gt; j_ru
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;on&lt;/span&gt; j_ru&lt;span style="color:gray"&gt;.&lt;/span&gt;id &lt;span style="color:gray"&gt;=&lt;/span&gt; so&lt;span style="color:gray"&gt;.&lt;/span&gt;id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;-- data: sum(dpages) where indid &amp;lt; 2
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;-- + sum(used) where indid = 255 (text)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;left&lt;/span&gt;
			&lt;span style="color:gray"&gt;join
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;select
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                  j_dpages&lt;span style="color:gray"&gt;.&lt;/span&gt;id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;,&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;coalesce&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;j_dpages&lt;span style="color:gray"&gt;.&lt;/span&gt;_sum&lt;span style="color:gray"&gt;,&lt;/span&gt;0&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;+&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:fuchsia"&gt;coalesce&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;j_used&lt;span style="color:gray"&gt;.&lt;/span&gt;_sum&lt;span style="color:gray"&gt;,&lt;/span&gt;0&lt;span style="color:gray"&gt;)&lt;/span&gt; [data]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;from
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;select
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                              id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;,&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;sum&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;dpages&lt;span style="color:gray"&gt;)&lt;/span&gt; [_sum]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;from
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;sysindexes
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;where
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                              indid &lt;span style="color:gray"&gt;&amp;lt;&lt;/span&gt; 2
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;group&lt;/span&gt;
			&lt;span style="color:blue"&gt;by
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                        id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;)&lt;/span&gt; j_dpages
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;left&lt;/span&gt;
			&lt;span style="color:gray"&gt;join
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:gray"&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;select
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                              id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;,&lt;/span&gt;
			&lt;span style="color:fuchsia"&gt;sum&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;used&lt;span style="color:gray"&gt;)&lt;/span&gt; [_sum]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;from
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:green"&gt;sysindexes
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;where
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                              indid &lt;span style="color:gray"&gt;=&lt;/span&gt; 255
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;group&lt;/span&gt;
			&lt;span style="color:blue"&gt;by
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;                              id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;)&lt;/span&gt; j_used
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;on&lt;/span&gt; j_used&lt;span style="color:gray"&gt;.&lt;/span&gt;id &lt;span style="color:gray"&gt;=&lt;/span&gt; j_dpages&lt;span style="color:gray"&gt;.&lt;/span&gt;id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:gray"&gt;)&lt;/span&gt; d
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:blue"&gt;on&lt;/span&gt; d&lt;span style="color:gray"&gt;.&lt;/span&gt;id &lt;span style="color:gray"&gt;=&lt;/span&gt; so&lt;span style="color:gray"&gt;.&lt;/span&gt;id
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue; font-family:Courier New; font-size:10pt"&gt;where
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;
			&lt;span style="color:fuchsia"&gt;objectproperty&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;so&lt;span style="color:gray"&gt;.&lt;/span&gt;id&lt;span style="color:gray"&gt;,&lt;/span&gt;
			&lt;span style="color:red"&gt;N'IsUserTable'&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;
			&lt;span style="color:gray"&gt;=&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/756.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/03/space-used-by-tables-long-form.aspx</guid>
            <pubDate>Tue, 03 Aug 2010 16:08:38 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/756.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/08/03/space-used-by-tables-long-form.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/756.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/756.aspx</trackback:ping>
        </item>
        <item>
            <title>sp_spaceused for all the tables in your database in one table</title>
            <link>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/07/29/sp_spaceused-for-all-the-tables-in-your-database-in-one.aspx</link>
            <description>&lt;p&gt;Why? Well, sometimes you just want it all in one table.
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;create&lt;/span&gt;
			&lt;span style="color:blue"&gt;table&lt;/span&gt; #t &lt;span style="color:gray"&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    tablename &lt;span style="color:blue"&gt;sysname&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;row_count &lt;span style="color:blue"&gt;int&lt;/span&gt;&lt;span style="color:gray"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    reserved &lt;span style="color:blue"&gt;varchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;),&lt;/span&gt;data &lt;span style="color:blue"&gt;varchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    index_size &lt;span style="color:blue"&gt;varchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;),&lt;/span&gt;unused &lt;span style="color:blue"&gt;varchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;exec&lt;/span&gt;
			&lt;span style="color:maroon"&gt;sp_msforeachtable&lt;/span&gt;
			&lt;span style="color:red"&gt;'insert #t exec sp_spaceused ''?'''
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;select&lt;/span&gt;
			&lt;span style="color:gray"&gt;*&lt;/span&gt;
			&lt;span style="color:blue"&gt;from&lt;/span&gt; #t
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;drop&lt;/span&gt;
			&lt;span style="color:blue"&gt;table&lt;/span&gt; #t&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/RoyAshbrook/aggbug/755.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Roy Ashbrook</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/07/29/sp_spaceused-for-all-the-tables-in-your-database-in-one.aspx</guid>
            <pubDate>Fri, 30 Jul 2010 03:13:45 GMT</pubDate>
            <wfw:comment>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/755.aspx</wfw:comment>
            <comments>http://www.drowningintechnicaldebt.com/RoyAshbrook/archive/2010/07/29/sp_spaceused-for-all-the-tables-in-your-database-in-one.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/RoyAshbrook/comments/commentRss/755.aspx</wfw:commentRss>
            <trackback:ping>http://www.drowningintechnicaldebt.com/RoyAshbrook/services/trackbacks/755.aspx</trackback:ping>
        </item>
    </channel>
</rss>
