devLink Almost Sold Out

I mentioned a few weeks ago I was looking forward to attending devLink. If you haven’t heard of it, devLink is a conference being held in Murfreesboro TN, just south of Nashville. It started out small but has turned into a pretty big deal. I went last year, and will be returning again this year.

I just got an e-mail, the conference is almost sold out! Less than 30 spots remain. If you want your chance to see me live and in person (and who wouldn’t?) then rush now to their site and pick up your pass. At only 75 bucks it’s a bargain you can’t afford to pass up.

iPhone or iHype?

This post is a bit off topic from what I normally talk about, but being a fan of various “social networking” platforms including blogs, podcasts and the like I feel a need to speak out about a certain insanity that occurred. Last week Apple released its new model of the iPhone, and the internet went nuts. Podcasts devoted extended coverage, blogs were gushing, internet news sites went wall to wall with coverage. Let me interject a thought here – folks, it’s just a cell phone!

Now, before the Apple fan-boys come out of the wood work to attack me, my beef is not with the iPhone itself. It’s a nice enough phone, has a lot of decent features, and even I will admit it looks very nice. But feature wise it’s not revolutionary; there are other cell phones on the market that have similar sets of features. No, my beef is more with the coverage. Leo Laporte over on http://twitlive.tv did 24 hour coverage. CNet Live did a two hour version of their show; CNet’s news show likewise had multiple episodes centered on the iPhone. What?

I have to really question this. If any of the other cell phone companies released a phone, it might get a segment which would be fine, but not wall to wall coverage. But stick a logo of a half eaten piece of fruit on it and BAM the web goes nuts. I’m not alone in my weariness of the coverage either, on Mondays’ Buzz Out Loud from CNet even Tom Meritt said “I’m so sick of talking about it I throw up a little bit in my mouth every time I say it”. (Then he showed a cool video of someone dropping an iPhone in a blender.) Perhaps it’s just the cranky geek in me, but I just don’t get it. iPhone? Sounds more like iHype to me.

The SQL Server Developer

This is a subject I’ve been thinking about for quite a while; perhaps others are drawing similar conclusions. I may even be late to the game, but if so I haven’t seen it discussed on the blogs or podcasts, and I keep up with these pretty regularly. After a lot of consideration, I’ve decided there is a new type of IT professional, the SQL Server Developer, of which I consider myself one.

Let’s start out with a basic definition. What is a SQL Server Developer? In my mind they fall into two categories. The first is the developer who works with the SQL Server Business Intelligence (SSBI) tools, namely SQL Server Integration Services (SSIS), SQL Server Reporting Services (SSRS), or SQL Server Analysis Services (SSAS). The second is the type of developer who works in the server end, developing stored procedures in both T-SQL and CLR, scripts, designing tables and views, and other tasks not centered on the day to day activities around the actual running of the Server itself. In many organizations these two areas are covered by the same person.

So what has caused this new breed of IT professional to emerge? Two reasons as I see it. First is the introduction of SQL Server 2005 itself. It brought along a new flood of tools, many outside the experiences of the typical DBA. The ability to write CLR inside the database is very new to DBAs, most of whom have no experience with .Net coding. Note this is in no way any sort of knock against DBAs, I would not expect one to have any experience with it. Likewise with many of the other tools.

The bigger reason though is Sarbanes Oxley. For a complete background see the Wikipedia article on Sarbanes Oxley, but in brief “SOX” is a US law that makes the leaders of publically held companies accountable for the financial dealings in their company. Auditors are responsible for ensuring compliance. As a result, most corporations have put in place rules in IT that place a wall between production systems and the developers who created those systems. In my own company’s environment, and those of many others I speak with, this means the DBAs are no longer allowed to develop code. No table designs, to stored procedures, etc. They are able to develop scripts if they are used in maintaining the health of the server; those are OK because financial decisions are not being made based on those scripts.

Somebody then, had to step in and fill the gap. In many companies since these were considered development tasks the coding fell to the development group. In other organizations DBAs were divided into production DBAs and development DBAs. In either case these folks are responsible for developing solutions to business issues, and are not responsible (at least not directly) for the day to day running of the server.

Now that you understand what a SQL Server Developer is and why they came into existence, you may be asking what the point of this article is? Well, I suppose it’s a plea of sorts. I see a lot of activities / training for both the DBA and the .Net pro, but little for the SS Dev. Even Tech-Ed this year demonstrated the schizophrenia when it split the event in two. There were just as many events in the Dev week as there were in the IT Pro week that applied to the SS Dev. Don’t get me wrong, I have seen training videos, mostly from Microsoft, that cover the technologies involved. But little that talk about the overall experiences that a SS Dev. In addition, almost every book I read assumes the reader comes from a DBA background. Doing so only covers half of the target audience; keep in mind there’s a lot of us who came from a .Net background.

So what would I like to see? Well to begin with, books that don’t assume everyone has the same background. Next I’d like to see more events targeted at the SQL Server Developer. Here in Birmingham we’re planning on a SQL Saturday next spring, I’d like to see many sessions devoted to the SS Dev. Finally, there seems to be very little software, outside the tools that ship from Microsoft, to assist the SS Dev. RedGate has some nice tools, and I’ve just started investigating the ApexSQL tools, most tools seem to target the DBA primarily though. It’d be nice to see collections and offerings more targeted at development.

What can you do? Well if you recognize yourself as a SQL Server Developer, start referring to yourself as such. Talk to Microsoft and vendors, start bringing the gap to them, ask them to start providing tools and events to cover our needs. Finally, evangelize! Do presentations, blog, whatever it takes to let the world know there’s a new breed of IT Professional out there.

Arcane Fun Fridays – Game Review – Tiger Woods PGA Golf 2007

As some of my readers are aware, I recently won an XBox 360 Elite. Naturally I’ve started collecting a few games for it, being thrifty though have picked up some of my titles used. I thought it’d be fun to post a few game reviews.

Way back when, I used to really enjoy golf games on my Amiga and old 286 era PC. (Yeah, I know, I’m a wild man.) So one of the first things I picked up was last years Tiger Woods golf game.

The game adds in little character plays between shots, showing players doing various things. This is cute the first few times, but after a bit gets a little slow, there are times when I wish I could press a button to skip over these little plays and just take my shot.

In addition, some of the little plays show what I consider to be bad sportsman like conduct. For some rougher games like football or soccer this might be more common, but I’ve always thought golf to be more of a gentleman’s game. Perhaps I sound like an “old fuddy duddy” but I didn’t care much for the scenes of a player snapping his club over his knee or throwing a club across the field. I’d hate for non golfers to think this is the way Tiger or any of the other Pro’s really act on the golf course.

On the good side, game play is challenging, smooth, and fun. I’ve really enjoyed it as I’ve begun working my way through the Tiger Woods Challenge play. And the training system is one of the best I’ve ever seen in any game, any time. It takes you step by step through each component of play, and lets you practice it. Very through and comprehensive.

Overall I give Tiger Woods PGA Golf 2007 eight out of ten on the Arcane scale of fun.

Update:I played some more over the weekend, and found that in many scenes pressing the Green “A” button allowed you to skip over the scene. Really helped to speed up play. Note that not every scene has this, but give it a try and you’ll start getting a feel for which ones do and don’t.

Getting Tagged by the Software Developer Meme

There’s a “meme” going around the net. A meme, for those unfamiliar, is defined as a unit of cultural information, such as a practice or idea, that gets transmitted verbally or by repeated action from one person to another. On the web, a meme is a theme, usually a series of questions that get passed from one person to another. After one person answers, he tags one or more other folks. Well, I got tagged!

StatisticsIO, better known as Jason Massie, got me. To keep his link chain alive, this has now gone from: Denis Gobo > Andy Leonard > Frank La Vigne > Peter Brown > Chad Campbell > Dan Rigsby > Michael Eaton > Sarah Dutkiewicz > Jeff Blankenburg > Josh Holmes > Larry Clarkin > Jason Massie > Me! So without further ado…

How old were you when you first started programming?

12 or 13, it was on a TRS-80 Model 1.

How did you get started in programming?

My dad had written a Star Wars game programming in Basic on the TRS-80. I hacked it so I could beat my sister most of the time, and the rest was history.

What was your first language?

BASIC, of course.

What was the first real program you wrote?

As I recall, it was a character generator for Dungeons and Dragons back on the TRS-80. Involved a lot of random number generation and printing.

What languages have you used since you started programming?

In no particular order: BASIC, Pascal, Quick Basic, Visual Basic, COBOL, C, C++, C#, Delphi, Fortran, dBase, FoxPro, RPG III, a little assembler, probably some more I can’t recall. Working on learning Powershell and F# now.

What was your first professional programming gig?

I guess it depends. A friend of mine and I co-wrote an inventory system for someone who wanted to start a company. It was written using compiled BASIC 1.0, and the software and DOS had to fit on one floppy disk, then the inventory for the store had to fit on a second floppy. Unfortunately they went under before we could get paid. I then went on to write a dBase II system for a lawyer to organize some charity or other, that was the first system I actually got paid for.

If you knew then what you knew now, would you have started programming / DBAing?

Oh yes, love it! There’s something rather intoxicating about making the computer sing and dance to your whim.

If there one thing you learned along the way that you would tell new developers, what would it be?

Can’t decide on one, so there are two things I’d share. First, as much fun as coding is, never forget you are there to solve a problem. Ultimately it’s not about you but about the user experience. Don’t be afraid to subjugate your ego to the success of the project, ultimately it’ll pay.

Second, take time for the peripheral skills. Communications, business, etc. These will make you far more valuable as a professional developer than technical skills alone.

What’s the most fun you’ve ever had … programming?

Hmm, tough call. Believe it or not I used to work for a prophylactic factory. It was a lot of fun coding the interfaces between the machine that printed the serial number on each one, and the production database.

Either that or right after we got married I spent close to two years working from home. My wife would sometimes sit in my lap and snuggle up while I was able to reach around her and keep coding. Distracting perhaps, but the question was about fun not productivity!

Who are you calling out?

Hmm, let’s see, that’s a tough one since this meme’s been around a while. Let’s annoy…

MaggiePlusPlus

Rachel Appel

Amanda Launcher (AKA Pandamonial)

Jeff Barnes

Keith Elder

Chris Woodruff

Glen Gordon

Shawn Wildermuth

Michael Neel (ViNull)

Dougal Campbell

Paul Waters

Wow, looks like there are still some victims developers left after all…

August Conferences

There are three major conferences coming up in August you should know about, two in Tennessee and one in Alabama.

First up, August 9th is CodeStock. This event will be held in Knoxville TN on the campus of Pellissippi State. They also have a Twitter account you can follow to get the latest news. Looks like quite an event, I counted at least two authors and ten MVPs among the speakers!

Next up is TechMixer University. It will be held Tuesday, August 19th in Birmingham Alabama. The speaker list will be published shortly, but trust me it’s a good line up including several MVPs. And it’s free!

Finally, devLINK will be held August 22nd and 23rd on the campus of Middle Tennessee State University, just outside Nashville. This one looks to be an awesome event, some really big name speakers will be here including the dotNetRocks guys!

And you know what the best part is? Yours truly the Arcane Coder will be attending all three conferences! Best of all a lot of the guys and gals I’ve gotten to know on Twitter will be there as well, and I’ll finally get a chance to meet them face to face. To say I’m stoked would be be an understatement.

So what are you waiting for? Go sign up today, none of the conferences are that expensive, and TechMixer U Is even free! Don’t pass up your opportunity to see the Arcane Coder live and in person.

Arcane Code, MVP

Just a few minutes ago I received an e-mail. “Dear Robert Cain,” it began, “Congratulations! We are pleased to present you with the 2008 Microsoft MVP Award! The MVP Award is our way to say thank you for promoting the spirit of community and improving people’s lives and the industry’s success every day.”

Wow.

I admit it’s a goal I’ve had for the last year and a half, and have worked hard to achieve, but I still have a hard time believing it’s finally happened. For those who are unfamiliar with the award, MVP stands for Most Valuable Professional. Microsoft gives the award for work in the user group communities. My award was given in the SQL area. I am humbled to be joining an elite crowd, worldwide the website shows only 223 people in this category. Even though the award is for my efforts, those efforts were in the community and I had a lot of help from the community. Thus there are some folks I’d like to publicly thank.

The first is Doug Turnure, who up until Monday was the Developer Evangelist (DE) for AL/MS/GA. Doug mentored me, and gave me a lot of practical, valuable advice. I’d also like to thank the new DE for the area, Glen Gordon, who also gave me aid. Two other DE’s, Joe Healy and Brian Hitney also deserve a word of thanks. Even though I lived out of their normal operating areas they still took time to answer my questions and let me know of speaking opportunities.

There are also some 2007 MVPs who took time to give me advice and guidance. Todd Miranda, Jeff Barnes, Wally McClure, Kevin Boles and Keith Elder deserve a big thank you.

Next I’d like to thank all my co-workers, too numerous to mention, who tolerated my constant e-mails about user group meetings, events, and suffered as I practiced my presentations on them.

I would also be neglectful if I failed to say thanks to everyone in the various user groups I attend. BSDA, BUG.Net, Steel City SQL, SOA Society, TechBirmingham and others opened their doors to me and gave me chances to give back to the community. I should also say thanks to the various user groups across the south east, such as Atlanta, Orlando, Tallahassee, and Huntsville (to name a few) who opened their doors to me.

To all the readers of my blog I also need to give thanks. Your participation via comments and e-mail feedback helped keep my blog alive as a source of ongoing information for the community.

Next I want to thank my daughters, Raven and Anna, for putting up with Daddy being gone weekly to user groups, having his nose constantly in a book or laptop, or having to travel and spend time in hotel rooms while Daddy was in code camps. (Don’t worry, they didn’t suffer too much, they invented popcorn and “chick flick” night to compensate, and with Mommy’s help easily found the shopping malls.)

Finally, and most importantly I need to thank my wonderful wife ‘Ammie’, for taking care of the household while I was giving presentations, for bringing me dinner at my computer while I worked on blog posts, and for putting up with all the late nights I’d crawl in bed after getting immersed with some fascinating new technology and losing all track of time. Thanks honey!

Good Reads

Thanks to Tekzilla, I found an interesting website called Good Reads. Good Reads allows you to quickly and easily enter the books you own into the site so others can see what you are reading, want to read, etc. It also makes it handy when you are a book lover like me, and have a hard time remembering which books you own and don’t own.

You can organize your books into bookshelves. It comes with three built in shelves: read, currently-reading, and to-read. You can create your own shelves, and a book can be on multiple shelves. I’ve organized my bookshelves by topic, so far I have shelves like sql-server, powershell, c-sharp, f-sharp, to name a few. You can find my list at:

http://www.goodreads.com/user/show/1268221

I like this concept, in the past I’ve always used an on-line bookseller when suggesting a book. Now this gives me a way of sharing my book list without looking like I’m a marketer. Another valuable feature, the site lets you create reviews for each book and give it a one to five star rating.

Right now I have added my most recent books. The ones on the bookshelf in my office in easy reach (or that have spilled onto a stack on my desk due to lack of bookshelf space) that get used a lot. I love books as a learning medium, so wind up buying a lot. Eventually I will add more of my current computer book collection. Also right now I’m focusing on my computer books, but will eventually add some of my recreational, self improvement, and business books.

Check out Good Reads and my list when you can. It’s free, and pretty quick to add your book list to. If you create a list feel free to leave a comment with a link so we can see what you are reading!

Productivity and Toilet Seats

Recently I bought a new toilet seat. It’s freed up my time to do more productive things. Now, before you hit the speed dial to have the old Arcane Coder hauled off in a pretty white jacket with straps and shiny buckles on the back, bear with me.

You average toilet seat takes about 4 seconds to put down, assuming you do it gently and don’t slam it. I recently spent a few extra dollars to get a spring loaded toilet seat. All I have to do is nudge it and it gently lowers itself to the lowered position. 1 second of my time to nudge, versus 4 seconds. Not to get too personal, but we’ll say I need to lower the seat 4 times a day on average. That means I’ve saved 12 seconds a day. Doesn’t sound like much, but count that up over a year, it winds up saving me 73 minutes a year. What can I do with that 73 minutes a year I’m not spending on doing something as mundane as lowering toilet seat? Play XBox with my kids, read a book, listen to a podcast, or even write blog posts.

I’m always looking for ways to save time, as time is the one thing we all have the same amount of. Do you have a laptop you regularly take between home and work? Get a second power supply and mouse, leave one at home and one at work. You save a lot of time and effort by just unhooking your laptop and dropping it in your bag versus having to fiddle with all the cords, plugging and unplugging.

My Zune is another productivity gadget. Using it I can keep up my education via podcasts while doing things like driving, cutting the grass, or even shopping. Likewise my PDA keeps a lot of information at my fingertips, which saves me from running back and forth to my PC several times a day.

Time is the one equalizer, the one thing we all have the same amount of. In my mind then, any sort of gadget which gives us back time to do other things is a worthwhile investment.

So what kind of tools do you use to gain productive time in your life?

TechEd 2008 Wrap Up

Whew. I’m finally home from TechEd 2008. It was an incredible week. First off, it was quite lucky for me in terms of swag. I came home with: XBox 360 Elite; Office 2007 Ultimate; Book on Sharepoint Web Part Programming; 2 games for the XBox; 8 Gig Zune; and more extra large t-shirts than I could carry.

I also got to meet a lot of great people, and find some speakers to add to my favorites list. Having heard them on Dot Net Rocks I knew Kimberly Trip and Paul Randall were good speakers, and just as friendly off stage as on. Matthew Roche, Buck Woody, Dan Jones, Donald Farmer, Peter Ward, Allen White, Maciej Pilecki, well I could go on with the list of great speakers but these were among the ones that stand out.

The InBetween weekend event was outstanding. The user groups really did a great job in a short amount of time putting together an awesome weekend. In addition to presenting my own session I also enjoyed attending ones by Barry Ralston, Andy Warren, Brian Knight, well there I go again. It is well worth staying over, or arriving early and getting in on the weekend event if you are going to TechEd.

By far though, the most important thing I came home with was knowledge. I learned an incredible amount. That knowledge will make me more valuable to my employer, who invested their money to send me. It will also make me more valuable to my coworkers, as I share the knowledge and have more answers to their questions. I’m also more valuable to the community, as I go back to user groups and share what I’ve learned there in presentations.

All in all I’d say TechEd was a great investment of time, money, and brain power.

Interview with Andy Warren on his Birmingham Visit

After the SQL Saturday event Inbetween the TechEds I had a moment to interview SQL Server guru Andy Warren about his upcoming trip to Birmingham Alabama. Andy will be speaking at the Steel City SQL group on June 17th and holding an all day class on on Performance Tuning on June 18th. You can find my interview with him, in MP3 format, here:

Andy Warren Interview

Note the audio is raw and uncut, but will give you all of the information you need.

The TechEd Day 1 Report

Wow, what a day. It was go go go all day long. I even attended sessions during lunch, so as to get every last bit of knowledge I could. I went to a lot of good sessions today, but by far my favorite was the session Kimberly Tripp did on Indexing Strategies. She was able to take a boring subject like indexing and not only make it understandable but entertaining. When you find yourself excited about the thought of spending time looking at your indexes, you know you’ve been trained by a master!

After the session she stayed and answered questions, and again from the floor she and her husband Paul were there again sharing their brain power. I enjoyed the session so much I’ve just spent 20 minutes juggling my schedule for the rest of the week so I can squeeze in another session they are doing later in the week. If you ever get a chance to see them speak, I would highly recommend it. If you cannot in person, at least check out their blogs at SQL Skills. She also did a series of webcasts, you can find links at http://www.sqlskills.com/blogs/kimberly/2005/11/05/MSDNWebcastSeriesWrapupResources.aspx.

Enough fun for today, need some rest for tomorrow is another day of geeking out.

I went to the Inbetween TechEd Conference and All I Got Was This Lousy XBox 360 Elite!

As you know from my previous entries, I am in Orlando attending TechEd, at the IT Pro week. In the weekend between the Dev and Pro conferences Microsoft turned over the Orange County Convention Center to the Florida User Groups. Spearheaded by the ONETUG group, this event was made possible through the cooperation of many user groups. I attended the SQL Saturday sessions that were held on both Saturday and Sunday, and they even let me hog the stage for an hour on Saturday and give my presentation on Full Text Searching in SQL Server 2005 and 2008.

I had a blast, and met a lot of great people. I have to admit I was surprised at how many folks were there just for the Inbetween conference and not TechEd. Out of the 45 folks who were in my session, all but 2 said they were local folks there for just the Inbetween conference.

As you can tell from the title of this post, I did indeed win something. Bear with me, as it’s a great story. At the Saturday night party they were giving away 3 XBoxes, two of which were randomly drawn for. Well the young lady who won one of them did not wish to keep it for whatever reason, and asked if she could draw another name, which she did.

Well the guy who won that night had his name drawn during Sunday’s giveaway of 7 XBoxes. He came up and told the story, and said he wanted to do the same thing, even though no one would have said a word had he decided to keep it. Well he drew and it was my name he pulled out of the box! I wish I could remember his name so I could say thanks again.

I’ve always wanted an XBox, but could never quite justify the expenditure. Now I have a new toy, and my kids are very excited over the prospect of playing some games with daddy. I think this will be a great gizmo for some daddy/kids together time.

Let me get serious for one moment, and give a big thanks to all the groups who came together at the last minute, and to Joe Healy, Florida Developer Evangelist, for giving the user groups the chance to show what they can do. It seems almost fashionable to bash Microsoft these days, but how many other companies would bear the expense of something as costly as the convention center and give it away to the user community?

Thanks to all for a great time, I hope the Inbetween conference becomes a regular feature at all future TechEd.

Presenting SQL Server 2005 2008 Full Text Searching at the TechEd 2008 InBetween conference

On June 7th, 2008 I am presenting “Getting Started with SQL Server 2005/2008” at the InBetween SQL Saturday conference that is taking place between the two weeks of Microsoft TechEd. This post will have all the links relevant to my talk.

Detailed descriptive material can be found on my blog, ArcaneCode.com, with links to specific posts below.

First off, the slides and sample code can be located at the Code Gallery site I setup specifically for Full Text Searching with SQL Server:

http://code.msdn.microsoft.com/SqlServerFTS

Look on the downloads page to see various projects around SQL Server Full Text Searching. I’ve created one “release” for each of the projects around FTS. Be sure to look on the right side at the various releases in order to see the various projects.

Next, you can get started with the basics by reading these entries on my blog:

Lesson 0 – Getting the Bits to do Full Text Searching in SQL Server 2005
Lesson 1 – The Catalog
Lesson 2 – The Indexes
Lesson 3 – Using SQL
Lesson 4 – Valid Data Types
Lesson 5 – Advanced Searching

After that you’ll be ready for some advanced topics.

Can you hear me now? Checking to see if FTS is installed.
Exploring SQL Servers FullTextCatalogProperty Function
Using the ObjectPropertyEx Function
Using FORMSOF in SQL Server Full Text Searching
Creating Custom Thesaurus Entries in SQL Server 2005 and 2008 Full Text Search
Creating and Customizing Noise Words in SQL Server 2005 Full Text Search
Creating and Customizing Noise Words / StopWords in SQL Server 2008 Full Text Search
Advanced Queries for Using SQL Server 2008 Full Text Search StopWords / StopLists

Advanced Queries for Using SQL Server 2008 Full Text Search StopWords / StopLists

Yesterday I covered the basics around StopWords/StopLists in SQL Server 2008. Today we’ll look at some advanced queries you can use to get more information back about FullText Indexes, StopWords, and StopLists.

The first query simply returns a list of all of the catalogs in the system.

— Get current list of full text catalogs

select [name] as CatalogName

    , path

    , is_default

  from sys.fulltext_catalogs

 order by [name];

 

The next query returns a list of all the StopLists.

 — Get the list of StopLists

 select stoplist_id

      , name

   from sys.fulltext_stoplists;

 

This query returns a list of StopWords in the database. Note the linking to get the associated StopList name and language.

 — Get list of StopWords

 select sl.name as StopListName

      , sw.stopword as StopWord

      , lg.alias as LanguageAlias

      , lg.name  as LanguageName

      , lg.lcid  as LanguageLCID

   from sys.fulltext_stopwords sw

   join sys.fulltext_stoplists sl

    on sl.stoplist_id = sw.stoplist_id

   join master.sys.syslanguages lg

    on lg.lcid = sw.language_id;

 

This next query gets a list of all of the stopwords that ship with SQL Server 2008. This is a nice improvement, you can not do this in SQL Server 2005.

— Get a list of the System provided stopwords  

select ssw.stopword

    , slg.name

  from sys.fulltext_system_stopwords ssw

  join sys.fulltext_languages slg

    on slg.lcid = ssw.language_id;

 

My next query returns a list of all the Full Text Indexes in the database.

— List full text indexes

select c.name as CatalogName

    , t.name as TableName

    , idx.name as UniqueIndexName

    , case i.is_enabled

        when 1 then ‘Enabled’

        else ‘Not Enabled’

       end as IsEnabled

    , i.change_tracking_state_desc

    , sl.name as StopListName

  from sys.fulltext_indexes i

  join sys.fulltext_catalogs c

    on i.fulltext_catalog_id = c.fulltext_catalog_id

  join sys.tables t

    on i.object_id = t.object_id

  join sys.indexes idx

    on i.unique_index_id = idx.index_id

       and i.object_id = idx.object_id

  left join sys.fulltext_stoplists sl

    on sl.stoplist_id = i.stoplist_id

 

 

This query returns a list of all the document types SQL Server 2008 understands when they are placed in a varbinary(max) field.

— List all of the document types SQL Server 2008 will understand in varbinary(max) field

select document_type

    , path

    , [version]

    , manufacturer

  from sys.fulltext_document_types;

 

If your full text performance begins to suffer over time, you might want to check and see how many fragments exist. If you have multiple closed fragments, you should consider doing a REORGANIZE on the index (using alter fulltext index). This query will tell you how many fragments exist for your full text index.

— See how many fragments exist for each full text index.

— If multiple closed fragments exist for a table do a REORGANIZE to help performance

select t.name as TableName

    , f.data_size

    , f.row_count

    , case f.status

        when 0 then ‘Newly created and not yet used’

        when 1 then ‘Being used for insert’

        when 4 then ‘Closed ready for query’

        when 6 then ‘Being used for merge inpurt and ready for query’

        when 8 then ‘Marked for deletion. Will not be used for query and merge source’

        else ‘Unknown status code’

       end

  from sys.fulltext_index_fragments f

  join sys.tables t on f.table_id = t.object_id;

 

There you go, a handful of powerful queries to help you query and maintain the state of your full text indexes.