Category: Blog

  • Writing Technical Articles – A Few Simple Tips

    A few simple tips that I’ve learned over the years. Keep these in mind as you write your next article.

    That and Which – It’s amazing how often I correct this in writing, and it was something I learned early on. If you use "that" in a sentence, you don’t need a comma. If you use "which", you do. A few samples:

    • The DMVs are system views that allow you to gain insight into the server operation.
    • The DMVs are views, which give you insight into the server operation.

    There are a few other rules here as well. That should be used for essential clauses, meaning the are necessary in the way things are worded. If you have non-essential clauses, like descriptive information, use "which."

    If you use "that" in one sentence, or earlier in the paragraph, you can switch over and use "which" for the sake of better flow.

    Its vs. it’s – I still mess this one up at times, but here is an easy way to read your sentences and avoid mistakes. Replace "its" with "it is" when reading. If it makes sense, you’re supposed to be using the contraction "it’s" and not "its." If it doesn’t make sense, as in it’s possessive, then stick with "its."

    • I have found it’s important to test the boundary cases. (Test: I have found it is important to test the boundary cases)
    • In this particular boundary case, its result is zero. (Test: In this particular boundary case, it is result is zero. Doesn’t make sense. stick with "its")

    Capitalization – Surprisingly this is more difficult than it seems. Proper nouns and names are capitalized, and of course, the first word in a sentence. Outside of that, don’t capitalize random words. So SQL Server is the proper name of a product, but "the database server" is a generic. Don’t capitalize "Database Server," which is something I see often. The same thing applies for groups, even if you think they’re specific. I realize you are talking about your "development team" or your "manager", but unless you call them out by name, or you are using the title of the group, they aren’t capitalized.

    If you’ve got questions, post them in a comment and I’ll try to answer them. I’d also recommend that if you want to write, pick up a style guide. Microsoft has published a technical one and the Chicago Manual of Style is always a good book to keep around.

    The best advice I can give you is to have someone else look over your article. I realize that I don’t always do that for my editorials, and some of that is because of the time pressures and crunches I get under to get things done, but for technical articles, I’d be sure that you have a friend read it.

  • Denver SSUG – AUG 2009

    I attended the Denver SQL Server User Group meeting, wanting to get a chance to catch up with some friends in from out of town. Peter Shire and Steve Wright of SQL Sentry were in town this week to present at the three local groups (Boulder, Colorado Springs, Denver) and this was a good chance to catch up a little. I typically see these guys once or twice a year at events, and it’s always a good time.

    The meeting started with the basic user group business. Letting people know what the group is about, who’s in charge, thanking sponsors, etc. They called out SQLServerCentral and even asked if I’d like to show the site. I stood up and asked about who didn’t know about the site and no hands were raised of the 35-40 people that were there. That was pretty cool since almost every time I go to an event, there seem to be a good percentage of people that have never heard of SQLServerCentral.

    There were a few people looking for jobs, and one company looking to hire some developers. It seems that the SQL job market isn’t great in the Denver area.

    The first presentation was an Introduction to Reporting Services by Steve Wake of Visa. Steve gave a 30 minute opening presentation that was just showing the basics of SSRS. He started with some basic facts and information about SSRS

    • all editions of SQL Server
    • separate service (written in C#)
    • Extensible
    • RDL is report storage format based on XML
    • Has a Sharepoint integrated mode – allows managing / accessing reports in Sharepoint
    • Lots of data sources out of the box.
    • Lots of report objects for presenting data as well as exports (Word added in 2008)
    • 2008 changes
      • 2x faster for rendering engine. Steve sees about 3.5-4x improvement
      • memory is better used, especially for large reports. (also improved in Excel export. Steve mentioned that a number of reports used to time out, but now run well.)
      • IIS not required

    The majority of the presentation was a demo.  What was interesting was Steve presented on a Macbook using a VM (VMWare Fusion) to show the SQL demo. When the VM didn’t rake up right away, a few nice Apple jokes resonated with the audience.

    We got a nice explanation of the various parts of the Reporting Services Configuration Manager.

    Overall the presentation was OK, and some good basic info, but the slowdown of the VMs caused a few issues. One reminder to people presenting, be sure you’re connected to the projector when you make check your setup at the event.

    The main presentation was Memory Management in SSAS by Steve Wright (SQL Sentry). Steve and Peter Shire traveled from Charlotte, NC to the Denver area to present 3 nights in a row at all 3 area user groups.

    Steve’s presentation

    There are two types of memory. The first is Shrinkable memory

    • Easily reduced and returned to the OS
    • Primarily caches, SE and FE

    As you might guess, the other type is Non-Shrinkable

    • system related activities
    • allocators
    • metadata objects

    How do you measure memory? A couple counters from PerfMon

    • Memory Cleaner Memory KB
    • Cleaner Memory Shrinkable
    • Cleaner Memory Non-shrinkable

    Just as with SQL Server, you can configure memory for SSAS. Steve talked about setting the low memory as well as the total memory limit. These refer to the physical memory on the machine, not virtual memory. The low memory limit refers to the percentage of memory if the value is between 0 and 100. If it goes over 100, then it’s the bytes on a server. That’s bytes, not MB or KB. Sounds crazy to me, but that’s a useful bit of trivia. The same value applies to the total memory limit.

    Once you hit the low memory limit, the cleaner threads start to move data out of memory non-aggresively and release that memory back to the OS. There is a “cleaner memory shrunk” counter you can use to monitor this. If the total limit is reached, it’s “crisis” mode. I like that description. The cleaner now more aggressively starts to clean memory. There is a more dramatic performance impact. Steve talked about the “memory price” which can be set in the ini file. The price is 0 below the low memory limit, and above that, the cleaner starts to try to manage memory using a model that accounts for the price of memory, which rises as more memory is used.

    One interesting point here is that SSAS isn’t looking at other services, or even Windows. It’s memory management is internal only,so you need to set limits that account for other needs on the host. Objects are also files on the file system, so the data is loaded into the file system cache. Usage of the file cache isn’t considered part of the SSAS limits.

    Steve says that Task Manager is not the place to track this. Use the counters in Perfmon.

    In a demo of Perfmon, he showed counters, and pointed out the memory shrunk counter. IF that isn’t zero, or close, then you have memory pressure. It would be great if SQL Server had a counter of some sort that could indicate memory pressure. Maybe there is one, if so, let me know.

    A large part of the talk showed a memory issue with a client of SQL Sentry. During the beta test of the Performance Monitor tool, they reported a graphical issue. It turned out to be the low and total settings, which the client thought was kb or MB, but were in bytes. So for a large SSAS server 32GB or RAM, they had set 2MB and 13MB as the values. Steve walked through what this showed on the counters using the SQL Sentry tool. It was a good use of their product to show how the memory settings had affected the SSAS server.

    Steve mentioned a change in SSAS 2008 of pre-allocation of memory. What was interesting was that this doesn’t see to matter with Windows Server 2008, but if you have Windows 2003, then pre-allocation makes a huge difference in how SSAS runs. Note that the pre-allocation doesn’t override memory limits. Be sure that you set this at a level that makes sense. Don’t set it to the same value as the total limit.

    It was a good presentation, and a good meeting of the group. Thanks to Steve Wake, Steve Wright, and SQL Sentry (www.sqlsentry.net)

    We meet the third Thurs of the month, so come on by if you are in the area.

    www.denversql.com

     

     

     

    To do

    – Julie- SQL Saturday space

    – Marc blog

    – sSRS scripter – sqldbatips.com

    – Marc – Might survey people for areas they work (DB engine, SSRS, etc) Get ideas for topics focus

    Steve Wright

    • ref for ssas memory limits
    • file cache usage
  • Updated Blog List

    I added a new blogger to my list. I was surfing around for a few good examples to use in my upcoming presentation for the 24 hours of PASS and stumbled upon Barry Young’s blog, Moving SQL. Since one of my goals for this year was to regularly update my list, I decided to add him.

    I’ve been corresponding with Barry for a few years and met him last year at PASS. He’s been a great contributor here on the site for years, and I think he’s done a very nice job with his blog. I’d urge you to check it out.

  • Looking for Syndicated Blogs

    We’ve finally implemented a blog syndication process here at SQLServerCentral that allows us to pull in posts each night from other blogs. The idea is that we’ll allow some syndication from other blogs and sources.

    As a test, I’m pulling in this post and I’ll be contacting a few others selectively who keep other blogs and we are looking to give them other exposure.