{"id":665,"date":"2005-08-26T07:09:00","date_gmt":"2005-08-26T07:09:00","guid":{"rendered":"\/blogs\/kimberly\/post\/MSDN-Webcast-QA-A-Primer-to-Proper-SQL-Server-Development-Part-3-of-10-.aspx"},"modified":"2013-01-11T23:14:15","modified_gmt":"2013-01-12T07:14:15","slug":"msdn-webcast-qa-a-primer-to-proper-sql-server-development-part-3-of-10","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/msdn-webcast-qa-a-primer-to-proper-sql-server-development-part-3-of-10\/","title":{"rendered":"MSDN Webcast Q&#038;A: A Primer to Proper SQL Server Development, Part 3 of 10"},"content":{"rendered":"<p>\n<strong><span style=\"font-size: 14pt; color: navy; font-family: 'Times New Roman'\">MSDN Webcast: A Primer to Proper SQL Server Development<br \/>\n<\/span><\/strong><strong><em><span style=\"color: navy; font-family: 'Times New Roman'\">Designing Tables that Scale, Best Practices in Data Types and Initial Table Structures, Part 3 of 10<\/span><\/em><\/strong>\n<\/p>\n<p>\n<strong><em><span style=\"color: navy; font-family: 'Times New Roman'\"><\/span><\/em><\/strong><strong><em><span style=\"font-size: 11pt; color: navy; font-family: 'Times New Roman'\">Presented by<\/span><\/em><\/strong><strong><span style=\"font-size: 11pt; color: navy; font-family: 'Times New Roman'\"> Kimberly L. Tripp, SQLskills.com<\/span><\/strong>\n<\/p>\n<p>\n<strong><span style=\"font-size: 11pt; color: navy; font-family: 'Times New Roman'\"><\/span><\/strong><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Can I view a recording of this webcast? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Here&rsquo;s the specific <a href=\"https:\/\/msevents.microsoft.com\/cui\/Error.aspx?culture=en-US&amp;ErrorMsgID=ErrorMessage.EventDoesNotExist&amp;EventID=\">replay link<\/a>.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Where can we get the demo scripts? <\/span><\/strong><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">The demo scripts are in this zip (<a href=\"https:\/\/www.sqlskills.com\/blogs\/kimberly\/content\/binary\/20050819msdnscripts.zip\"><font face=\"Verdana\" size=\"2\">20050819MSDNScripts.zip (3.67 KB)<\/a>); here in this blog entry. However, at the series completion, I will also create an entry <font color=\"#000000\"><font face=\"Arial\">under <a href=\"https:\/\/www.sqlskills.com\/pastconferences.asp\">Past Event Resources<\/a> for the entire webcast series.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Does Kimberly L. Tripp have a blog? <\/span><\/strong><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">Yes, <a href=\"https:\/\/www.sqlskills.com\/blogs\/kimberly\/\"><font face=\"Arial\">www.SQLskills.com\/blogs\/Kimberly<\/a><font face=\"Arial\" color=\"#000000\"> and if you&rsquo;re reading this on my blog&hellip;well, then you already know! <\/span><font color=\"#000000\"><span style=\"font-size: 11pt; font-family: Wingdings\"><span>J<\/span><\/span>\n<\/p>\n<p>\n<font color=\"#000000\"><span style=\"font-size: 11pt; font-family: Wingdings\"><span><\/span><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Where are the links to all prior Webcast Q&amp;As from this series?<\/span><\/strong>\n<\/p>\n<blockquote>\n<p>\n\t<strong><span style=\"font-size: 11pt\"><\/span><\/strong><font face=\"Arial\"><font color=\"#000000\"><span style=\"font-size: 11pt\">Part 1: <\/span><span style=\"font-size: 11pt; color: black\">Creating a Recoverable Database<br \/>\n\t<\/span><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">For the MSDN Download for Part 1, click <a href=\"https:\/\/msevents.microsoft.com\/cui\/Error.aspx?culture=en-US&amp;ErrorMsgID=ErrorMessage.EventDoesNotExist&amp;EventID=\">here<\/a>.<br \/>\n\t<\/span><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">For the SQLskills Blog Entry for Part 1, click <a href=\"https:\/\/www.sqlskills.com\/blogs\/kimberly\/msdn-webcast-qa-a-primer-to-proper-sql-server-development-part-1-of-10\/\">here<\/a>.<\/span>\n\t<\/p>\n<p>\n\t<span style=\"font-size: 11pt\"><\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Part 2: Creating a Reliable and Automated Backup Strategy<br \/>\n\t<\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">For the MSDN Download for Part 2, click <a href=\"https:\/\/msevents.microsoft.com\/cui\/Error.aspx?culture=en-US&amp;ErrorMsgID=ErrorMessage.EventDoesNotExist&amp;EventID=\">here<\/a>.<br \/>\n\t<\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">For the SQLskills Blog Entry for Part 2, click <a href=\"https:\/\/www.sqlskills.com\/blogs\/kimberly\/msdn-webcast-qa-a-primer-to-proper-sql-server-development-part-2-of-10\/\">here<\/a>.<\/span>\n\t<\/p>\n<\/blockquote>\n<p>\n<span style=\"font-size: 11pt\"><\/span><font color=\"#000000\"><font face=\"Arial\"><strong><span style=\"font-size: 11pt\">Q: <\/span><\/strong><strong><span style=\"font-size: 11pt\">Is this Session 2 of the &quot;Effectively Designing a Scalable and Reliable Database&quot; webcast series? The Title bar here reads &quot;MSDN Webcast: MSDN: A Primer to Proper SQL Server Development (Part&#8230;)&quot;. A bit misleading don&#39;t you think? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">So, I finally figured out the mystery here. When I originally submitted my proposal for this series, I titled it like this: <em>Effectively Designing a Scalable and Reliable DatabaseA Database Developer&rsquo;s Primer to Proper SQL Server Development (Level 200-300) <\/em><\/span><font color=\"#000000\"><span style=\"font-size: 11pt\"><font face=\"Arial\">But somehow, through a few edits and since each module also has a more detailed title shown in this following list, then I think the title just got edited down to fit. In fact, with subtitles like these, I can barely fit the entire title, subtitle and session title on a single slide. <\/span><span style=\"font-size: 11pt; font-family: Wingdings\"><span>J<\/span><\/span>\n<\/p>\n<blockquote>\n<p>\n\t<font color=\"#000000\"><span style=\"font-size: 11pt; font-family: Wingdings\"><span><\/span><\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Part 1: Creating a Recoverable Database<\/span>\n\t<\/p>\n<p>\n\t<span style=\"font-size: 11pt\"><\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Part 2: Creating a Reliable and Automated Backup Strategy<\/span>\n\t<\/p>\n<p>\n\t<span style=\"font-size: 11pt\"><\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Part 3: Designing Tables that Scale &ndash; Best Practices in Data Types and Initial Table Structures<\/span>\n\t<\/p>\n<\/blockquote>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">So, the mystery ends here&hellip; It&rsquo;s all the same content and the general idea is that building a scalable and reliable database takes a variety of best practices that together make it happen; there is no &ldquo;DBCC MAKEITGOFASTER(&lsquo;TRUE&rsquo;)&rdquo; option. I&#39;ll unveal a new title slide in part 4&#8230; oh, the excitement!<\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<span style=\"font-size: 11pt\"><font face=\"Arial\"><\/span>\n<\/p>\n<p>\n<strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: How can I replay previous sessions? I thought we were going <\/span><\/strong><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">to get emails for replaying &#8212; but I haven&#39;t received any replay emails. <\/span><\/strong><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">You will receive replay emails ONLY when you register for these sessions through MSDN. We&rsquo;ve come to find out that there are other ways to register but it&rsquo;s only through MSDN that we know for sure you will receive the replay information. Regardless, you can always find the &ldquo;on-demand&rdquo; version of the sessions <a href=\"https:\/\/msevents.microsoft.com\/cui\/default.aspx?culture=en-US&amp;community=1\">here<\/a>.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: What does CLR stand for? <\/span><\/strong><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">Common Language Runtime. Quick WHATIS.COM Definition <a href=\"http:\/\/whatis.techtarget.com\/definition\/Common-Language-Runtime-CLR\">here<\/a>.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: If something uses sp_OA* now in SQL 2000, am I guaranteed it will use SQLCLR in SQL 2005? <\/span><\/strong><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">Not automatically; however, you should consider rewriting you sp_OA* is used to automate COM objects; these, by definition, are not framework objects. Moving to SQL Server 2005, you can continue to run with your previous sp_OA procedures to access COM objects but if you can write SAFE .NET Frameworks code to do the same thing then you should convert your sp_OA* code where possible. Not everything can be converted but the basic principle is that which you use sp_OA* is a good thing to target for conversion. For some great details on the differences and how to move forward &ndash; go <a href=\"http:\/\/www.microsoft.com\/com\/default.mspx\" class=\"broken_link\">here<\/a>. <\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Also helpful is this KB Article regarding COM and .NET in SQL Server 2000 <\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\"><a href=\"http:\/\/support.microsoft.com\/default.aspx?scid=kb;en-us;322884\" class=\"broken_link\">Using extended stored procedures or SP_OA stored procedures to load CLR in SQL Server is not supported<\/a><\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: I loved how XML data is available interactively in SQL Server Management Studio (SSMS); can HTML data columns be displayed in the same way? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Yes, if you store HTML in a column of type XML then the column data will appear as a link and when clicked, you can edit it in the XML Editor window in SSMS.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Is the &quot;XML&quot; datatype really a &quot;varchar(max)&quot;? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">No. In previous releases the XML type really was just a &ldquo;blob&rdquo; stored in the database. There were no inherent optimizations and you were not able to define a scheme for an XML column. In SQL Server 2005, XML data is stored natively and offers the ability to put indexes on the columns as well as better access and manipulation. You *can* store XML as varchar(max) but it will be harder to access\/code. There&rsquo;s a very nice description of the tradeoffs in this whitepaper:<\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\"><a href=\"http:\/\/msdn.microsoft.com\/library\/en-us\/dnsql90\/html\/sql2k5xmloptions.asp?frame=true\">XML Options in Microsoft SQL Server 2005<\/a><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">&nbsp;<\/span><\/strong>\n<\/p>\n<p>\n<strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: What is the difference between numeric and decimal? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">In SQL Server they are synonyms. I seem to remember hearing that there was a difference in the standards&hellip;somewhere but with a few references and looking around I can&rsquo;t find any. Regardless, I&rsquo;d make sure that you standardize on one or the other &ndash; just in case they do change, at least all of your data is consistent.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: I use decimal datatype for money values. Why it may be suboptimal to use decimal (instead of money datatype)? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">I wouldn&rsquo;t say that it&rsquo;s suboptimal &ndash; except maybe in storage length. However, decimal can be more precise.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: When should you use a float? A number of my clients use Float &ndash; i.e. Banks, Stocks, etc. What would be your argument against this? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Just the lack of an absolute minimum precision\/scale.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: We have a database where datatypes are set. But to use a simple percentage calculation we had to add .0 to the calculation to get the correct percentage. For example 100(5\/9) is truncated to 0, but 100((5+.0)\/9) yields correct result. Is there any standard procedure without massive conversions to assure a correct result? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">It&rsquo;s a matter of data type. In the case of 100, 5 and 9 &ndash; these are all integers &ndash; without any decimal place. So &ndash; the division of 5 divided by 9 yields 0. However, 5 divided by 9.0 or 5.0\/9 &ndash; both have a decimal and in that case the other data types are implicitly converted to the higher\/more precise data value. A cool way to find out what the actual &ldquo;base type&rdquo; and\/or the level of precision\/scale is to ask these questions as if the data is of type sql_variant:<\/span>\n<\/p>\n<blockquote>\n<p>\n\t<span style=\"font-size: 11pt\"><\/span><span style=\"font-size: 11pt; color: blue; font-family: 'Lucida Console'\">SELECT<\/span><span style=\"font-size: 11pt; font-family: 'Lucida Console'\"><font color=\"#000000\"> <span style=\"color: fuchsia\">SQL_VARIANT_PROPERTY<\/span><span style=\"color: gray\">(<\/span><font color=\"#000000\">5<span style=\"color: gray\">\/<\/span><font color=\"#000000\">9.0<span style=\"color: gray\">,<\/span><font color=\"#000000\"> <span style=\"color: red\">&#39;BaseType&#39;<\/span><span style=\"color: gray\">)<br \/>\n\t<\/span><\/span><span style=\"font-size: 11pt; color: blue; font-family: 'Lucida Console'\">SELECT<\/span><span style=\"font-size: 11pt; font-family: 'Lucida Console'\"><font color=\"#000000\"> <span style=\"color: fuchsia\">SQL_VARIANT_PROPERTY<\/span><span style=\"color: gray\">(<\/span><font color=\"#000000\">5<span style=\"color: gray\">\/<\/span><font color=\"#000000\">9.0<span style=\"color: gray\">,<\/span><font color=\"#000000\"> <span style=\"color: red\">&#39;Precision&#39;<\/span><span style=\"color: gray\">)<br \/>\n\t<\/span><\/span><span style=\"font-size: 11pt; color: blue; font-family: 'Lucida Console'\">SELECT<\/span><span style=\"font-size: 11pt; font-family: 'Lucida Console'\"><font color=\"#000000\"> <span style=\"color: fuchsia\">SQL_VARIANT_PROPERTY<\/span><span style=\"color: gray\">(<\/span><font color=\"#000000\">5<span style=\"color: gray\">\/<\/span><font color=\"#000000\">9.0<span style=\"color: gray\">,<\/span><font color=\"#000000\"> <span style=\"color: red\">&#39;Scale&#39;<\/span><span style=\"color: gray\">)<\/span><\/span><span style=\"font-size: 11pt; color: green; font-family: 'Lucida Console'\">&nbsp;&nbsp;&nbsp;&#8212; numeric(8,6)<br \/>\n\t<\/span><span style=\"font-size: 11pt; color: blue; font-family: 'Lucida Console'\">SELECT<\/span><span style=\"font-size: 11pt; font-family: 'Lucida Console'\"><font color=\"#000000\"> <span style=\"color: fuchsia\">SQL_VARIANT_PROPERTY<\/span><span style=\"color: gray\">(<\/span><font color=\"#000000\">5<span style=\"color: gray\">\/<\/span><font color=\"#000000\">9<span style=\"color: gray\">,<\/span><font color=\"#000000\"> <span style=\"color: red\">&#39;BaseType&#39;<\/span><span style=\"color: gray\">)<br \/>\n\t<\/span><\/span><span style=\"font-size: 11pt; color: blue; font-family: 'Lucida Console'\">SELECT<\/span><span style=\"font-size: 11pt; font-family: 'Lucida Console'\"><font color=\"#000000\"> <span style=\"color: fuchsia\">SQL_VARIANT_PROPERTY<\/span><span style=\"color: gray\">(<\/span><font color=\"#000000\">5<span style=\"color: gray\">\/<\/span><font color=\"#000000\">9<span style=\"color: gray\">,<\/span><font color=\"#000000\"> <span style=\"color: red\">&#39;Precision&#39;<\/span><span style=\"color: gray\">)<br \/>\n\t<\/span><\/span><span style=\"font-size: 11pt; color: blue; font-family: 'Lucida Console'\">SELECT<\/span><span style=\"font-size: 11pt; font-family: 'Lucida Console'\"><font color=\"#000000\"> <span style=\"color: fuchsia\">SQL_VARIANT_PROPERTY<\/span><span style=\"color: gray\">(<\/span><font color=\"#000000\">5<span style=\"color: gray\">\/<\/span><font color=\"#000000\">9<span style=\"color: gray\">,<\/span><font color=\"#000000\"> <span style=\"color: red\">&#39;Scale&#39;<\/span><span style=\"color: gray\">)<\/span><\/span><span style=\"font-size: 11pt; color: green; font-family: 'Lucida Console'\">&nbsp;&nbsp;&nbsp;&#8212; int<\/span>\n\t<\/p>\n<\/blockquote>\n<p>\n<span style=\"font-size: 11pt; color: green; font-family: 'Lucida Console'\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: I am surprised by the nchar\/nvarchar suggestions. I&#39;ve always been told to NOT use these data types. Can you give the &quot;reasoning&quot; for this suggestion here? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">The primary reason that you want to use Unicode data is to avoid a cost in &ldquo;translation&rdquo; between the client and the server &ndash; when you&rsquo;re using web-based applications that natively use Unicode. Additionally, with ever growing customer bases &ndash; you can more effectively store international data properly by supporting Unicode in the client and in the database. You are correct that these take 2 bytes per character rather than one &ndash; but that&rsquo;s what gives them the larger range of characters to use\/display\/manipulate. Also, if you plan to use the SQLCLR against these columns, you will need to use Unicode as opposed to ASCii as the SQLCLR requires it.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Does Unicode use twice as much space? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Yes, Unicode columns are 2 bytes per character. If you defined a column of type nchar(100), that column will require 200 bytes of storage.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Sometimes, and not always, it becomes a tradeoff in Storage Space v. Performance, doesn&rsquo;t it? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">That&rsquo;s an excellent point. You always need to look at the trade-offs associated with any decision and in fact, this is yet another. So, I always want the row size to be as optimal and as reasonable as possible. However, there are many compelling reasons &ndash; international and\/or web-based applications as well as SQLCLR functionality.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Is the N&#39; keyword usable in MSSQL 2000? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Yes, all Unicode character strings should be preceded with an upper case N in all releases where Unicode is supported (SQL Server 7.0 was the first release that supported Unicode).<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Is there any relationship between the OS&#39;s code page and nvarchar\/varchar? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Yes. When SQL Server is installed- it chooses the server&rsquo;s default code page from the Operating System. A code page (or collation) defines the order in which characters are evaluated. The additional attributes a collation can define are: whether or not the characters are case-sensitive; the sensitivity of width and kana-type. This may not seem obvious but if these characters sets are native to you then the order to the data would probably make more sense. <\/span><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">&nbsp;<\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Once the collation is set for the server, the database inherits the server&rsquo;s collation by default, when tables are created &ndash; each character-based column inherits the database&rsquo;s default collation by default. However, at ANY of these levels the collation can be changed. There are benefits to doing so &ndash; in that you can keep data within a specific table ordered for a specific character set. <em>Wow, now that I&rsquo;m getting started, this could be a session in and of itself.<\/em><\/span><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">&nbsp;<\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">So, just to give you a few tips:<\/span>\n<\/p>\n<ul style=\"margin-top: 0in\">\n<li class=\"MsoNormal\" style=\"margin: 0in 0in 0pt; tab-stops: list .5in\"><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Be careful using temporary tables if your database&rsquo;s collation is different than your server&rsquo;s collation. <\/span><\/li>\n<li class=\"MsoNormal\" style=\"margin: 0in 0in 0pt; tab-stops: list .5in\"><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Changing collation on the fly (for example, if you want to do case-sensitive searching through a view &ndash; of which I&rsquo;ve included a sample file) can be expensive.<\/span> <\/li>\n<li class=\"MsoNormal\" style=\"margin: 0in 0in 0pt; tab-stops: list .5in\"><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Changing a database&rsquo;s collation is supported but you might have troubles converting from a case-sensitive to a case insensitive database.<\/span><\/li>\n<\/ul>\n<p>\n<span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\"><\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">The files that can help you to get more familiar with verifying collations, changing collations, etc. are <strong>CaseSensitiveSearchingInView.sql <\/strong>and<strong> ChangingDatabaseCollation.sql<\/strong>.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Another great use of adjunct tables is to isolate culture-specific data from the base (and usually indexed) data. <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">So, this is a great point. If you change the collation for a column &ndash; and index it &ndash; then you can get better performance when accessing that column. Changing a collation on the fly (as in the script sample for the previous questions), is what&rsquo;s expensive. However, you should make sure to do a lot of testing.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: I have a US code page OS but Latin general 850 collation set for SQL Server; I have no problems storing and retrieving data. <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Exactly! That&rsquo;s the benefit of collation information being stored with each column. It allows the application to store many types of data &ndash; natively and then just deal with their display at the client. <\/span><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">&nbsp;<\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">For those of you who want more details on how to do this, see COLLATE in the books online.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Somewhere along the line I was always told to define varchars in multiples of 8 characters. Something to do with space allocated with new rows. <span>&nbsp;<\/span>Any ideas if it has any premise? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Well, my first response to this was that I&rsquo;ve never heard of this&hellip; So, I thought I&rsquo;d check around and well, the couple of folks I&rsquo;ve chatted with haven&rsquo;t heard this either&hellip; IF anyone has &ndash; feel free to comment on this blog.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: How about images? Is it better to store them in the db or just the url? <\/span><\/strong><font color=\"#000000\"><span style=\"font-size: 11pt\"><font face=\"Arial\">This is really an old debate. I still think there&rsquo;s validity to both sides of it as well. I&rsquo;d say that you should go through the pro&rsquo;s and con&rsquo;s and really choose what&rsquo;s best for your application. If you use a lot of urls then you might be able to reference more without having to manage a copy of that data&hellip; If the url is your data then you might find that managing it in the database (from a backup\/restore perspective) is easier &ndash; and you know that it&rsquo;s always going to be there v. the url occasionally not working. Wow, I&rsquo;d almost like to get a panel of folks together to have everyone hash out their opinions on this one. <\/span><span style=\"font-size: 11pt; font-family: Wingdings\"><span>J<\/span><\/span><span style=\"font-size: 11pt\"><font face=\"Arial\"> SQL Server 2005 does make managing images easier but there are still points to both arguments!<\/span>\n<\/p>\n<p>\n<font color=\"#000000\"><span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: How would SQL Server support becoming a data server of video file? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">The only real format for this data would be binary. However, there is a 2GB limitation to a single value.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Are you aware of a stored procedure to handle blob data effectively? i.e. for image storage? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">No. But there is an executable that comes with SQL Server 2000&rsquo;s samples and I think it&rsquo;s called textcopy.exe. That might be some good sample code to review.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Does SQL Server support the SQL 2003 NULLS FIRST and NULLS LAST keywords of the ORDER BY clause? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">No support for NULLS FIRST or NULLS LAST but the order by can include ASC for ASCending or DESC for DESCending. NULL values are treated as the lowest value so NULLS FIRST would be ASC and NULLS LAST would be DESC. But &ndash; that&rsquo;s the only support for specific placement of NULL values.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Is there a &quot;best practice&quot; for the new C# nullable types? i.e. int? vs. int &#8212; re:MSSQL2005? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">When programming with the SQLCLR, always use types that allows NULLs (<em>assuming your data can contain nulls<\/em>) and then make sure to always follow the appropriate behavior with NULL. For example, concatenating NULL should yield NULL.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Can I change (refactor) the underlying type of a UDT (e.g., from int to bigint) in SQL Server 2005?&nbsp; Unless I&#39;ve missed something, I can&#39;t do it in SQL Server 2000 unless I drop the type from all uses. <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">No, as the user-defined data type (UDDT) is only used at create time to map to the datatype; the connection is then broken (altering the UDDT definition will only impact new tables and variable definitions). User-defined Types (UDTs) are even more schema bound than UDDTs and it&#39;s a much tougher job to alter them (you need to write conversion from the old to the new). This is much more complex since they fall outside the conversion matrix and the only thing SQL knows is the binary representation. So if the data type was smart enough to add a signature to the serialized data, so that the next version can understand which data type is represents and determine if it can convert to it you might have a shot, otherwise you have to add a column, and convert columns and drop a column afterwards.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><font color=\"#000000\"><font face=\"Arial\"><strong><span style=\"font-size: 11pt\">Q: Can I easily replace the SQL Server 2000 UDT with a SQL Server 2005 CLR Custom Type? I have a client who wants to &#8212; eventually &#8212; migrate to SQL Server 2005, but for the immediate future wants me to build their application with SQL Server 2000. I&#39;m very interested in SQLCLR types, especially WRT to maintaining type consistency across T-SQL, CLR SP&#39;s and external data objects, so using CLR custom types. <\/span><\/strong><font color=\"#000000\"><font face=\"Arial\"><span style=\"font-size: 11pt\">This is a typical thought for the SQLCLR &ndash; &ldquo;I am going to build an object database.&rdquo; Type fidelity between the client and the server exists today, but they want class fidelity, so they are going to create the customer object UDT, which is not really for what the SQLCLR was intended. You should be thinking scalar types with additional custom characteristics &ndash; not object types &ndash; as the scalar types will give you optimal and predictable performance.<\/span>\n<\/p>\n<p>\n<font color=\"#000000\"><font face=\"Arial\"><span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Can you find ANSI_NULL_DFLT_OFF setting as on or off? Does DBCC <\/span><\/strong><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">USEROPTIONS do that? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Yes, DBCC USEROPTIONS is a nice, quick way of seeing the currently set LIST of session settings. However, there are better ways to check these settings programmatically. it&rsquo;s not as nice to check it programmatically <\/span><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">&nbsp;<\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">The files that can help you to get more familiar with ANSI Null Issues is <strong>ANSINullIssues.sql<\/strong>.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: It would be great if you could show us a list of <span>&nbsp;<\/span>classic fields &quot;Account No&quot;, &quot;Account Balance&quot;, &quot;Description&quot; etc&hellip; and tell us what type you would use inc. &quot;Null\/Not Null&quot; etc. <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Well, this is a bit subjective and with a bank account there would probably be a lot of business rules that surround the account number. However, if this were a sales table and you needed an ordered then it would be a bit easier (again, business rules might change this). Typically, I&rsquo;d go for a Primary Key which is simple and narrow and not necessarily a &ldquo;natural&rdquo; key. However, some of this reasoning comes from how tables are joined and how SQL Server internally stores data. Account Balance &ndash; I&rsquo;d go with a precise numeric. Based on length of storage and the business rules behind required precision, you might choose a numeric(19,6). This will require 9 bytes of storage. For description, I would definitely go with a variable type &ndash; probably nvarchar(200) depending on what description really means. Here&rsquo;s how the table would probably look on creation:<\/span>\n<\/p>\n<blockquote>\n<p>\n\t<span style=\"font-size: 11pt\"><\/span><span style=\"font-size: 9pt; color: blue; font-family: 'Lucida Console'\">CREATE<\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><font color=\"#000000\"> <span style=\"color: blue\">TABLE<\/span><font color=\"#000000\"> Account<\/span><span style=\"font-size: 9pt; color: gray; font-family: 'Lucida Console'\">(<br \/>\n\t<\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><font color=\"#000000\">AccountID<span>&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span style=\"color: blue\">int<\/span><span><font color=\"#000000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"color: blue\">IDENTITY<\/span><span><font color=\"#000000\">&nbsp;&nbsp;<\/span><span style=\"color: gray\">NOT<\/span><font color=\"#000000\"> <span style=\"color: gray\">NULL <\/span><\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><span style=\"color: blue\">CONSTRAINT<\/span><font color=\"#000000\"> AccountPK<\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><span><font color=\"#000000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"color: blue\">PRIMARY<\/span><font color=\"#000000\"> <span style=\"color: blue\">KEY<\/span><span style=\"color: gray\">,<br \/>\n\t<\/span><\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><font color=\"#000000\">Balance<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span style=\"color: blue\">numeric<\/span><span style=\"color: gray\">(<\/span><font color=\"#000000\">19<span style=\"color: gray\">,<\/span><font color=\"#000000\">6<span style=\"color: gray\">)<\/span><span><font color=\"#000000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <\/span><span style=\"color: gray\">NOT<\/span><font color=\"#000000\"> <span style=\"color: gray\">NULL<\/span><\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><span><font color=\"#000000\">&nbsp;<\/span><span style=\"color: blue\">CONSTRAINT<\/span><font color=\"#000000\"> AccountBalanceDflt<\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><span><font color=\"#000000\">&nbsp;<\/span><span style=\"color: blue\">DEFAULT<\/span><font color=\"#000000\"> 0<span style=\"color: gray\">,<br \/>\n\t<\/span><\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><font color=\"#000000\">Description<span>&nbsp;&nbsp; <\/span><span style=\"color: blue\">nvarchar<\/span><span style=\"color: gray\">(<\/span><font color=\"#000000\">200<span style=\"color: gray\">)<\/span><span><font color=\"#000000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/span><span style=\"color: gray\">NULL<\/span><\/span><span style=\"font-size: 9pt; color: gray; font-family: 'Lucida Console'\">)<br \/>\n\t<\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><font color=\"#000000\">go<br \/>\n\t<\/span><span style=\"font-size: 9pt; color: blue; font-family: 'Lucida Console'\">INSERT<\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><font color=\"#000000\"> Account <span style=\"color: gray\">(<\/span><font color=\"#000000\">Description<span style=\"color: gray\">)<\/span><font color=\"#000000\"> <span style=\"color: blue\">VALUES<\/span><font color=\"#000000\"> <span style=\"color: gray\">(<\/span><span style=\"color: red\">&#39;The account of Kimberly Tripp.&#39;<\/span><span style=\"color: gray\">)<br \/>\n\t<\/span><\/span><span style=\"font-size: 9pt; color: blue; font-family: 'Lucida Console'\">PRINT<\/span><span style=\"font-size: 9pt; font-family: 'Lucida Console'\"><font color=\"#000000\"> <span style=\"color: red\">&#39;Kimberly Tripp&#39;&#39;s account number is &#39;<\/span><font color=\"#000000\"> <span style=\"color: gray\">+<\/span><font color=\"#000000\"> <span style=\"color: fuchsia\">convert<\/span><span style=\"color: gray\">(<\/span><span style=\"color: blue\">varchar<\/span><span style=\"color: gray\">(<\/span><font color=\"#000000\">10<span style=\"color: gray\">),<\/span><font color=\"#000000\"> <span style=\"color: fuchsia\">@@IDENTITY<\/span><span style=\"color: gray\">)<\/span><font color=\"#000000\"> <span style=\"color: gray\">+<\/span><font color=\"#000000\"> <span style=\"color: red\">&#39;.&#39;<br \/>\n\t<\/span><\/span><font color=\"#000000\"><span style=\"font-size: 9pt; font-family: 'Lucida Console'\">go<\/span>\n\t<\/p>\n<\/blockquote>\n<p>\n<strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: In the Q&amp;A you might want to tell your listeners that in SQL the string &#39;abc&#39; is equal to &#39;abc &#39; when compared &ndash; unlike for C, C++ ,C# , VBNET, etc. This will help with the char v. varchar issue&hellip; <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">It&rsquo;s a good point! You should make sure that you do some testing to make sure that data behaves the way you expect. Trailing blanks may be trimmed with some data types and not others and once again, ANSI settings may impact this behavior.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: What are the NULL block and varchar block in the row layout? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">The NULL block helps to store and identify rows that are set to NULL. In the past, SQL Server stored this as a single space in a varchar column ad there was no real way to differentiate between a real space (as a value) from a NULL value (stored as a space). When the storage engine was re-architected for SQL Server 7.0 the NULL block was added to store a NULL value specifically.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: How would the table structures differ between the 32-bit and 64-bit in SQL Server 2005 and SQL Server 2000? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">They don&rsquo;t! There is no difference in the on-disk format between any of the versions of SQL Server. In fact, this was even true of the MIPS\/Alpha\/Win32 releases when SQL Server 6.0 released on all of those platforms.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: do you have a script to calculate rows per pages (using the formula you showed? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Ha! Seemed a bit painful I know&hellip; But that formula works.<\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">But, yes &ndash; it&rsquo;s a heck of a lot easier to just do this yourself if you have a table already. In SQL Server 2000 you need to use DBCC SHOWCONTIG with TABLERESULTS and in SQL Server 2005, you use a new DMV called sys.dm_db_index_physical_stats. This takes 5 parameters and has some really nice new features to it.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: I might have missed this, but is the SQL Server Management Studio (SSMS) the replacement for Enterprise Manager? <\/span><\/strong><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">Yes, SSMS replaces the Enterprise Manager and the Query Analyzer. And, for a more scaled down query tool, you can use Express Manager (XM). To download XM, you can go <a href=\"http:\/\/www.microsoft.com\/en-us\/download\/default.aspx\" class=\"broken_link\">here<\/a>.&nbsp;<font color=\"#000000\"><font face=\"Arial\"> <\/span><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">&nbsp;<\/span><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">If you want more details regarding the latest SQL Server CTP, you can go <a href=\"http:\/\/www.microsoft.com\/sqlserver\/en\/us\/default.aspx\">here<\/a>.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Is Management Studio backward compatible for use with SQL Server 2000? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Yes! You can use SSMS to connect to SQL Server 2005 and SQL Server 2000.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: How do we write our queries for Insert\/Update\/Select on a database that we have no idea how it was setup &#8211; so we don&rsquo;t experience the local issue that you talked about? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Basically, the best way is for the developer to create an interface that masks the complexities of the database schema through stored procedures, functions and views.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Do indexes point to the row level or the page level? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">There are two primary parts to an index &ndash; the leaf level and the non-leaf level. The leaf-level of a clustered index IS the data (a clustered index is an ordered table).<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: What is the best practice or rule of thumb on using identity primary keys on tables in a database? And would that be all tables and\/or some tables or not all? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">This is a great question. However, I might phrase it a bit differently because I *think* I know where you&rsquo;re going with this&hellip; Generally, I recommend that large tables have a clustered index on an identity column. This can help to improve performance of inserts by not causing splits (inserts go to the end) and by helping non-clustered indexes look up the corresponding rows in the clustered table by using a clustering key which is unique, narrow and static.<\/span><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">&nbsp;<\/span><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">This is really quite a bit related to the session on indexing&hellip; I think you should definitely attend session!<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: How could a LOB end up in the leaf level? <\/span><\/strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">This is really another great question for the indexing session &ndash; and a bit on internals as well. In SQL Server 2005, rows can span pages (so you can have a row greater than 8060 bytes) and rows can have LOB types (even in the leaf level of an index). I&rsquo;ll explain how this can happen with the new INCLUDE option for indexes &ndash; in the next session!<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Q: Are you talking at the Vegas launch of 2005? <\/span><\/strong><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">Yes! You can see the complete list of my upcoming events <a href=\"https:\/\/www.sqlskills.com\/upcomingconferences.asp\">here<\/a>.<\/span>\n<\/p>\n<p>\n<span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Comment: By the way, thanks for the great Web cast. I don&#39;t know of many other companies that do this sort of thing &#8212; take questions directly from their customers.<\/span><\/strong>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<span style=\"font-size: 11pt\"><font color=\"#000000\"><font face=\"Arial\">Thanks! This is part of what I love about these webcasts&hellip; it allows me to hear what you&rsquo;re interested in and it allows me to keep learning. To be honest, often I have to look things up and\/or hit the KB and\/or ask some of the other SQL geeks I know &ndash; in order to answer some of these questions. It really helps to keep me on my toes! In fact, this week I bothered two of my favorite people, my partner Patrick and my good friend Gert. <\/span>\n<\/p>\n<p><strong><span style=\"font-size: 11pt\"><font face=\"Arial\" color=\"#000000\">&nbsp;<\/span><\/strong> <\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font color=\"#000000\"><font face=\"Arial\"><span style=\"font-size: 11pt\">Thanks again for another GREAT week of questions!<\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font color=\"#000000\"><font face=\"Arial\"><span style=\"font-size: 11pt\">kt<\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font color=\"#000000\"><font face=\"Arial\"><span style=\"font-size: 11pt\"><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font color=\"#000000\"><font face=\"Arial\"><span style=\"font-size: 11pt\">See you later today &ndash; Friday, Aug 26<sup>th<\/sup> <\/span>\n<\/p>\n<p><font color=\"#000000\"><font face=\"Arial\"><span style=\"font-size: 11pt\"><\/span><strong><span style=\"font-size: 11pt; font-family: 'Arial Helvetica'\"><a href=\"https:\/\/msevents.microsoft.com\/cui\/Error.aspx?culture=en-US&amp;ErrorMsgID=ErrorMessage.EventDoesNotExist&amp;EventID=\">MSDN Webcast: A Primer to Proper SQL Server Development (Part 4 of 10): Best Practices in Indexing (Level 200)<\/a><\/span><\/strong><strong><span style=\"font-size: 11pt; font-family: 'Arial Helvetica'\"><\/span><\/strong>&nbsp; <\/p>\n","protected":false},"excerpt":{"rendered":"<p>MSDN Webcast: A Primer to Proper SQL Server Development Designing Tables that Scale, Best Practices in Data Types and Initial Table Structures, Part 3 of 10 Presented by Kimberly L. Tripp, SQLskills.com Q: Can I view a recording of this webcast? Here&rsquo;s the specific replay link. Q: Where can we get the demo scripts? The [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,27,36,47,49,58,65,78],"tags":[],"class_list":["post-665","post","type-post","status-publish","format-standard","hentry","category-design","category-events","category-indexes","category-msdn-webcasts","category-opinions","category-resources","category-sql-server-2005","category-tips"],"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/posts\/665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/comments?post=665"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/posts\/665\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/media?parent=665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/categories?post=665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/kimberly\/wp-json\/wp\/v2\/tags?post=665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}