<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>SQL Server</title><link>http://www.styledesign.biz/weblogs/macinnesm/category/9.aspx</link><description>SQL Server</description><managingEditor>Marcus Mac Innes</managingEditor><dc:language>en-IE</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Marcus Mac Innes</dc:creator><title>TechEd 2005 - Presentations Available Online</title><link>http://www.styledesign.biz/weblogs/macinnesm/archive/2005/07/28/991.aspx</link><pubDate>Thu, 28 Jul 2005 11:56:00 GMT</pubDate><guid>http://www.styledesign.biz/weblogs/macinnesm/archive/2005/07/28/991.aspx</guid><wfw:comment>http://www.styledesign.biz/weblogs/macinnesm/comments/991.aspx</wfw:comment><comments>http://www.styledesign.biz/weblogs/macinnesm/archive/2005/07/28/991.aspx#Feedback</comments><slash:comments>41</slash:comments><wfw:commentRss>http://www.styledesign.biz/weblogs/macinnesm/comments/commentRss/991.aspx</wfw:commentRss><trackback:ping>http://www.styledesign.biz/weblogs/macinnesm/services/trackbacks/991.aspx</trackback:ping><description>&lt;!--StartFragment --&gt;Following on from &lt;A href="http://www.styledesign.biz/weblogs/macinnesm/archive/2005/07/10/950.aspx"&gt;my recent post&lt;/A&gt; about this year's TechEd Europe.&amp;nbsp;You can now watch some of Kimberly and Rafal's presentations online at &lt;A href="http://www.microsoft.com/uk/technet/itsshowtime/" target=_new&gt;http://www.microsoft.com/uk/technet/itsshowtime/&lt;/A&gt;.&lt;img src ="http://www.styledesign.biz/weblogs/macinnesm/aggbug/991.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Marcus Mac Innes</dc:creator><title>TechEd 2005 – What’s The Message This Year?</title><link>http://www.styledesign.biz/weblogs/macinnesm/archive/2005/07/10/950.aspx</link><pubDate>Sun, 10 Jul 2005 19:02:00 GMT</pubDate><guid>http://www.styledesign.biz/weblogs/macinnesm/archive/2005/07/10/950.aspx</guid><wfw:comment>http://www.styledesign.biz/weblogs/macinnesm/comments/950.aspx</wfw:comment><comments>http://www.styledesign.biz/weblogs/macinnesm/archive/2005/07/10/950.aspx#Feedback</comments><slash:comments>118</slash:comments><wfw:commentRss>http://www.styledesign.biz/weblogs/macinnesm/comments/commentRss/950.aspx</wfw:commentRss><trackback:ping>http://www.styledesign.biz/weblogs/macinnesm/services/trackbacks/950.aspx</trackback:ping><description>&lt;P&gt;Once again, Microsoft pulled off its annual &lt;A href="http://www.mseventseurope.com/teched/05/pre/content/default.aspx"&gt;TechEd&lt;/A&gt; conference without a hitch. If you&amp;#8217;ve never been to TechEd, then it would be difficult to imagine the sheer scale of the event. The conference centre becomes a mini city with 6000 commuters making their way from session room to session room. Between sessions, there is a great buzz of in depth conversations taking place about the previous session content&amp;#8217;s validity or relevance to a particular organisation. These conversations as it turns out are often of more benefit than the session content itself!&lt;/P&gt;
&lt;P&gt;It&amp;#8217;s been an interesting year in the technology community, a year in which Service Oriented Architecture (SOA) appears to have gone mainstream. Last year at the conference, when audiences were asked about how may of them were currently building SOA based applications, I recall a figure of about 15% raising their hands, this year that same question received a 60% vote. This increase is entirely in keeping with what I am seeing across the international communities that I am involved with. It seems that since last year, the majority of new projects are SOA based, which means that Microsoft&amp;#8217;s relentless marketing of the SOA strategy is working&amp;#8230; But is this right?&lt;/P&gt;
&lt;P&gt;There were an abundance of SOA tracks again at this years TechEd. These architecture and &amp;#8220;connected systems&amp;#8221; tracks had that familiar feel to them, a few words changed here and there but more or less the same slides as last year. Even &lt;A href="http://staff.newtelligence.net/clemensv/default.aspx"&gt;Clemens Vasters&lt;/A&gt; had little to add over the previous year and only got away with it because of his charismatic stage presence. So what&amp;#8217;s going on? Why are we hearing the same story over and over again? My guess is that with only 60% of the audience raised their hands&amp;#8230; there&amp;#8217;s still another 40% to be converted!&lt;/P&gt;
&lt;P&gt;Now this begs the big question which dominated most of the offline conversations, is SOA right for every project? There were no sessions on 3-tier, n-tier, client / server or stand alone application architectures. Are these architectures wrong? Should every application no matter how large or small be SOA?&lt;/P&gt;
&lt;P&gt;My response is a definite &amp;#8220;no&amp;#8221; (for the moment). As I&amp;#8217;ve said many times before, moving to SOA represents a mind shift much like the shift developers needed to make when they embraced Object Oriented (OO) programming back in the late 80s, early 90s. If we asked the same question in 1990, &amp;#8220;should every application be object oriented?&amp;#8221; I bet we would have exactly the same response as the question we are asking today about SOA, &amp;#8220;No&amp;#8221;. OO after all was viewed as too complex for small applications and posed a performance problem on the then slow computers. But if we asked this OO question today, everyone would agree that save a few exceptions, most applications should be built using object oriented methods.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.eaipatterns.com/ramblings.html"&gt;Gregor Hohpe&lt;/A&gt; of &lt;A href="http://www.thoughtworks.com"&gt;ThoughtWorks&lt;/A&gt;&amp;nbsp;and author of &lt;A href="http://www.eaipatterns.com/"&gt;Enterprise Integration Patterns&lt;/A&gt;, gave an interesting talk on &amp;#8220;Event Driven Architecture, ARC311&amp;#8221; in which he gave some practical example of appropriate patterns and their implementations for building and testing event driven architectures. These concepts and implementations are very relevant to building SOA applications and hopefully we shall see more of these advanced talks in the future.&lt;/P&gt;
&lt;P&gt;One of the reasons why SOA is not a one size fits all today is that there is a fundamental lack of knowledge, competence and agreement amongst technologists as to exactly how these applications should be built. There is a high barrier to entry in terms of upfront education, an engineering overhead in terms of a increase in design and implementation complexity and to top it all off, a definite runtime performance penalty. While the benefits of a successfully completed SOA project are clear, the investment and risks involved are greater and the business decision mandates caution and careful internal assessments before automatically jumping on board the SOA train.&lt;/P&gt;
&lt;P&gt;Regarding education, Microsoft is doing it&amp;#8217;s best to pump the message home, telling architects and developers that SOA is the future, teaching them to think about service boundaries, asynchronous programming, reliable versioned messaging&amp;#8230; this is the TechEd message. It was the same message last year and people went home filled with new ideas, backed up with memorised example diagrams on how systems could hang together in a new connected, interoperable, scalable and most importantly re-usable way.&lt;/P&gt;
&lt;P&gt;I&amp;#8217;ve lost count of the number of people I&amp;#8217;ve encountered who have run into big trouble trying to implement applications in SOA. The most recent conversation I had was with a US company who were looking for advice on how best to implement an atomic transaction across a service boundary. They explained how they had built an application comprising a number of services and were now having problems ensuring consistency across each of the service databases. If you are reading this thinking &amp;#8220;yes, I&amp;#8217;m having that problem too&amp;#8221;, then hopefully you are in the early stages of your agile development lifecycle!!! Because you are going to need to start again. Requiring an atomic transaction across a service boundary is a clear indication that your services are not divided correctly, your foundations are wrong. This is where SOA projects are running over budget, into difficulty or simply failing. It all boils down to SOA implementation as the classic expression goes &amp;#8220;the devil is in the detail&amp;#8221;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/rjacobs/"&gt;Ron Jacobs&lt;/A&gt; of Microsoft&amp;#8217;s &lt;A href="http://msdn.microsoft.com/practices/"&gt;Patterns and Practices&lt;/A&gt; group gave a great talk on &amp;#8220;Dealing with Data in Service-Oriented Architecture, ARC308&amp;#8221; which expands on where &lt;A href="http://www.pathelland.com/"&gt;Pat Helland&lt;/A&gt; &lt;A href="http://www.pathelland.com/presentations/2004/powerpoint/040317-EastCoastRAF-Helland-ThoughtsOnData-04b.ppt"&gt;left off before he moved&lt;/A&gt; to &lt;A href="http://www.amazon.com"&gt;Amazon&lt;/A&gt; earlier this year. (Pat if you are reading this&amp;#8230; you were missed this year!). This talk deals with the problem of understanding service boundaries from the perspective of segmenting the data within a given domain and deriving your boundaries accordingly. Service orientation is all about &amp;#8220;data ownership&amp;#8221; and if this message is not crystal clear, then don&amp;#8217;t even attempt anything in SOA until this penny drops. (Remember how you needed to understand objects before you could write anything in OO). I would have liked to see a bigger drive from Microsoft in this area, because at then end of the day not every organisation has the skills of a competent and experienced Enterprise Architect on board who fully understands these concepts. Smaller organisations are trying to build SOA applications too and need to understand this cornerstone of the design principal.&lt;/P&gt;
&lt;P&gt;The second stumbling block for building SOA or connected systems, is tool support. Those guys who after leaving Amsterdam last year and headed off to build new SOA applications quickly realised that in a non SOA world, they were living in the lap of luxury with respect to the quantity and quality of the tools that were available to help build applications. SOA is new and good tools are few and far between, meaning that you need to do a great deal of extra work (by hand) in order to make things work. Visual Studio 2003 doesn&amp;#8217;t provide a great deal of help because once again the devil is in the detail. &amp;#8220;[WebMethod]&amp;#8221; gave out the entirely wrong message, facilitating ease of construction while negating design. Thankfully, this is something Microsoft is willing to admit and as such had invited &lt;A href="http://www.styledesign.biz/weblogs/macinnesm/archive/2004/12/17/284.aspx"&gt;my friend&lt;/A&gt; &lt;A href="http://weblogs.asp.net/cweyer/"&gt;Christian Weyer&lt;/A&gt; to speak and participate in a number of sessions at this year&amp;#8217;s event. &lt;A href="http://weblogs.asp.net/cweyer/"&gt;Christian&lt;/A&gt; who is part of the &lt;A href="http://www.thinktecture.com"&gt;ThinkTecture&lt;/A&gt; team was one of the first to fill the tool support gap with his product &lt;A href="http://www.thinktecture.com/Resources/Software/WSContractFirst/default.html"&gt;WS-ContractFirst&lt;/A&gt; which provides a quick and easy way to generate &amp;#8220;correct&amp;#8221; service interfaces and WSDL code. I believe that &lt;A href="http://weblogs.asp.net/cweyer/"&gt;Christian&lt;/A&gt; also mentioned that the &lt;A href="http://www.thinktecture.com/Resources/Software/WSContractFirst/default.html"&gt;next version of his tool&lt;/A&gt; would support &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7591DFD2-E1B7-4624-9D5B-29C211D149FE&amp;amp;displaylang=en"&gt;WSE 3.0&lt;/A&gt;, which will be a great addition.&lt;/P&gt;
&lt;P&gt;Furthering the need for better tool support, we are now on the verge of the release of &lt;A href="http://lab.msdn.microsoft.com/teamsystem/"&gt;Visual Studio Team System&lt;/A&gt;. The more I look at this new suite, the more I realise why it has been so long in the making. The product is simply massive and will present a significant jump in tool support for all .NET technologists from each discipline. I&amp;#8217;m not going to go on about this, other than to say that I sincerely believe this release will mark the beginning of a new era of development, the &lt;A href="http://www.softwarefactories.com/"&gt;Software Factory&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Thirdly, SOA is currently lacking infrastructure support. Projects soon run into trouble when they realise the complexity of working in a connected (sometimes disconnected) world. Gone are the atomic COM+ transactions and in come the reliably delivered messages&amp;#8230; But where is the reliable delivery infrastructure? &lt;A href="http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx"&gt;Indigo&lt;/A&gt; will obviously address a number of the infrastructure issues and I would hazard a guess that in the mean time 80% of SOA applications as build using MSMQ as a reliable transport. It seems odd therefore that Microsoft have never released an official MSMQ transport for their &lt;A href="http://msdn.microsoft.com/webservices/building/wse/default.aspx"&gt;Web Services Extension framework (WSE)&lt;/A&gt;&amp;#8230; You&amp;#8217;ve have to rely on third party open source code, mmm.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://benjaminm.net/"&gt;Benjamin Mitchell&lt;/A&gt;, jumps to the rescue and presents a session (CTS350) on &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7591DFD2-E1B7-4624-9D5B-29C211D149FE&amp;amp;displaylang=en"&gt;WSE 3.0&lt;/A&gt; for which Microsoft have just released a CTP of &lt;A href="http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnwse/html/wseandws-rm.asp"&gt;WS-ReliableMessaging&lt;/A&gt;. I&amp;#8217;m not sure about the support on this release; I assume it carries a &amp;#8220;use at your own risk&amp;#8221; label.&lt;/P&gt;
&lt;P&gt;In all, TechEd this year could have concentrated a bit more on expanding on last year&amp;#8217;s theory with more talk on implementation. Fabriq, EDRA, Proseware, in fact all the implementation references were noticeably missing this year from session titles. Have Microsoft had the same challenges concerning the correct implementation of SOA as the rest of the .NET community? It seems so.&lt;/P&gt;
&lt;P&gt;So when I asked earlier about whether SOA was right for every project, I gave a &amp;#8220;no&amp;#8221; (for the moment) answer. In time, I believe with the right tools, agreement on standards, supporting infrastructure, more groundswell in developer education and experience regarding implementation, I can&amp;#8217;t see why it wouldn&amp;#8217;t be just as easy to build applications based on SOA architectures. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/sql/2005/"&gt;SQL Server 2005&lt;/A&gt; was also big on the hit list this year. The &lt;A href="http://www.microsoft.com/sql/2005/productinfo/ctp.mspx"&gt;June CTP&lt;/A&gt; is out and appears with improved UI and tools. &lt;A href="http://www.sqlskills.com/blogs/kimberly/"&gt;Kimberly L Tripp&lt;/A&gt; is to SQL Server as &lt;A href="http://staff.newtelligence.net/clemensv/default.aspx"&gt;Clemens Vasters&lt;/A&gt; is to Connected Systems. This no nonsense girl has been there and done that, she travels the world fixing problems and as a result just knows what issues we are facing and are likely to face. Her presentation skills are unbeatable and I enjoyed every single moment of each of her talks. Apart from now having the CLR in the database (which I personally believe is of marginal benefit) the new 2005 version seems to have addressed a number of operational issues which enable greatly increased availability. &lt;A href="http://www.sqlskills.com/blogs/kimberly/"&gt;Kim&lt;/A&gt;&amp;#8217;s demo of online recovery was ingenious created using a tiny 4 port USB hub connected to her laptop. Inserted into the hub were four 128MB USB keys onto which she had partitioned a 1.4 million row database table. While pulling one of the keys out of the hub clearly simulated the complete failure of the drive containing the online data, it didn&amp;#8217;t compare to Andy Lees keynote demonstration of clustering in action as he took an actual sledge hammer to a live server on stage in order to simulate a server failure&amp;#8230; &lt;A href="http://www.sqlskills.com/blogs/kimberly/"&gt;Kim&lt;/A&gt;&amp;#8217;s demo however was a little more close to home as she brought the audience through the entire process of a full manual recovery without taking the database or indeed the failed table offline. This is the kind of demo you will be glad to have seen one day&amp;#8230;&lt;/P&gt;
&lt;P&gt;Testing is also something Microsoft has woken up to and this year&amp;#8217;s TechEd saw a number of core personalities, including &lt;A href="http://weblogs.asp.net/rosherove/"&gt;Roy Osherove&lt;/A&gt; of &lt;A href="http://www.teamagile.com/"&gt;TeamAgile&lt;/A&gt; fame making appearances at panel discussions and giving talks on Test strategies. Visual Studio 2005 obviously addresses the need for increased tool support for testing with its introduction of unit testing and load testing capabilities and these were shown off in a number of interesting talks.&lt;/P&gt;
&lt;P&gt;Rafal Lukawiecki of &lt;A href="http://www.projectbotticelli.com/"&gt;Project Botticelli&lt;/A&gt; is always a must see with his inspiring security talks. This guy will probably win the &lt;A href="http://staff.newtelligence.net/clemensv/PermaLink,guid,214.aspx"&gt;best speaker prize again this year&lt;/A&gt;&amp;#8230;&lt;/P&gt;
&lt;P&gt;So to round up TechEd 2005, non-Microsoft people were by far the best speakers in terms of content and presentation skills. If &lt;A href="http://www.sqlskills.com/blogs/kimberly/"&gt;Kimberly L Tripp&lt;/A&gt;, &lt;A href="http://www.projectbotticelli.co.uk/"&gt;Rafal Lukawiecki&lt;/A&gt; or &lt;A href="http://staff.newtelligence.net/clemensv/default.aspx"&gt;Clemens Vasters&lt;/A&gt; are around over the coming year and you have an opportunity to attend one of their talks, you&amp;#8217;re guaranteed to be inspired.&lt;/P&gt;
&lt;P&gt;Also, for the Irish amongst us&amp;#8230; be careful (very careful) of &lt;A href="http://blogs.msdn.com/clare_dillon/"&gt;Clare&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/robburke/"&gt;Rob&lt;/A&gt;&amp;#8217;s generous hospitality, Microsoft style, which ensures that the TechEd experience continues well into the night! These guys really know how to put on the best show!&lt;/P&gt;
&lt;P&gt;&amp;#8230;and thanks Microsoft for &lt;A href="http://direct.motorola.com/ENS/web_producthome.asp?Country=USA&amp;amp;language=ENS&amp;amp;productid=29303"&gt;my new phone&lt;/A&gt;!&lt;/P&gt;&lt;img src ="http://www.styledesign.biz/weblogs/macinnesm/aggbug/950.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Marcus Mac Innes</dc:creator><title>ASP.Net 2.0 Roadshow in Dublin</title><link>http://www.styledesign.biz/weblogs/macinnesm/archive/2005/03/07/312.aspx</link><pubDate>Mon, 07 Mar 2005 10:14:00 GMT</pubDate><guid>http://www.styledesign.biz/weblogs/macinnesm/archive/2005/03/07/312.aspx</guid><wfw:comment>http://www.styledesign.biz/weblogs/macinnesm/comments/312.aspx</wfw:comment><comments>http://www.styledesign.biz/weblogs/macinnesm/archive/2005/03/07/312.aspx#Feedback</comments><slash:comments>33</slash:comments><wfw:commentRss>http://www.styledesign.biz/weblogs/macinnesm/comments/commentRss/312.aspx</wfw:commentRss><trackback:ping>http://www.styledesign.biz/weblogs/macinnesm/services/trackbacks/312.aspx</trackback:ping><description>&lt;P&gt;Following my talk on Securing ASP.Net Applications at last Friday&amp;#8217;s Dublin leg of Microsoft&amp;#8217;s &lt;A href="http://www.microsoft.com/emea/msdn/aspontour/default.aspx"&gt;ASP.Net 2.0 European Roadshow&lt;/A&gt;, there were a couple of requests for the slides and code samples. They can be downloaded from &lt;A href="http://styledesign.biz/downloads/2005/03/Securing ASP.Net Applications.zip"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Talking with developers afterwards in the bar, it was really interesting to see how many of them had heard of SQL Injection and XSS attacks but had not actually realised how vulnerable an application and the other applications which share the same database can be. Most had never actually seen how an attack would be carried out.&lt;/P&gt;
&lt;P&gt;I demonstrated how security on a web site can be compromised by taking advantage of holes within the application code. These holes can be discovered by using a series of probes which disclose whether or not vulnerability exists. &lt;/P&gt;
&lt;P&gt;The demonstration attacked the site&amp;#8217;s Login page to discover vulnerabilities. These were then exploited to bypass the application security altogether. We were then able to take control of the database for this and other applications which share the database, create our own login accounts with administrative privileges and access the site&amp;#8217;s customer&amp;#8217;s credit card information.&lt;/P&gt;
&lt;P&gt;I also demonstrated using a Cross Site Scripting attack how the Forms Authentication cookie could be stolen and silently sent to an attacker&amp;#8217;s website to be stored for later use. Once the attacker is in position of this cookie, they would be able to login to the original web site using someone else&amp;#8217;s authentication token. &lt;/P&gt;
&lt;P&gt;The key message of the talk was to ensure that all user input is validated before any other processing is done. This together with strict use of secure coding standards would have disabled any attacker&amp;#8217;s opportunities. &lt;/P&gt;
&lt;P&gt;For more information on writing secure code, please feel free to contact me. &lt;/P&gt;
&lt;P&gt;And many thanks to Microsoft for asking me to speak at this great event with the &lt;A href="http://www.microsoft.com/emea/msdn/aspontour/speakers.aspx"&gt;ASP.NET team&lt;/A&gt;!&lt;/P&gt;&lt;img src ="http://www.styledesign.biz/weblogs/macinnesm/aggbug/312.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Marcus Mac Innes</dc:creator><title>SQL Server 2005 - Where's the Database Diagram?</title><link>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/09/22/197.aspx</link><pubDate>Wed, 22 Sep 2004 08:57:00 GMT</pubDate><guid>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/09/22/197.aspx</guid><wfw:comment>http://www.styledesign.biz/weblogs/macinnesm/comments/197.aspx</wfw:comment><comments>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/09/22/197.aspx#Feedback</comments><slash:comments>127</slash:comments><wfw:commentRss>http://www.styledesign.biz/weblogs/macinnesm/comments/commentRss/197.aspx</wfw:commentRss><trackback:ping>http://www.styledesign.biz/weblogs/macinnesm/services/trackbacks/197.aspx</trackback:ping><description>&lt;P&gt;I finally got a chance to&amp;nbsp;install Microsoft SQL Server 2005 Beta 2 (formerly Yukon) the other day so that I could do some forward compatibility tests on the new XML data type for a project&amp;nbsp;we're currently working on.&lt;/P&gt;
&lt;P&gt;I fired up the new Query Analyser (now simply called 'new Query' in the Management Studio) and ran the create scripts for a relatively large database.&lt;/P&gt;
&lt;P&gt;First port of call, let's see if they've enhanced (fixed) database diagramming, especially the printing options as I always find when working with large database schemas that it's a great help to print out the entire schema and stick it up on the wall.&lt;/P&gt;
&lt;P&gt;Maybe Microsoft's Product Unit Manager for SQL Server Tools&amp;nbsp;&lt;A href="http://sqljunkies.com/WebLog/euang/archive/2004/07/26/3635.aspx"&gt;Euan Garden&lt;/A&gt; is playing a big joke on everyone or&amp;nbsp;maybe he's just being very very clever here with Beta 2 because while looking for the database diagram he got me to experience nearly every nook and cranny of the entire application, learned a lot but found no sign of a diagram. Then Euan got to me do a full search of the new help system... very nice but still no mention of a diagram.&lt;/P&gt;
&lt;P&gt;Google finally&amp;nbsp;came to the rescue and I found &lt;A href="http://weblogs.asp.net/mlafleur/archive/2004/08/24/219678.aspx"&gt;this info &lt;/A&gt;on &lt;A href="http://weblogs.asp.net/mlafleur/"&gt;Marc LaFleur's blog&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;The 'Diagram' is GONE...&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;[UPDATE: It appears that all the negative feedback regarding the removal of diagramming in SQL Server 2005 has paid off. The VS Data team have come to their senses and have blogged about the diagram's return &lt;/STRONG&gt;&lt;A href="http://blogs.msdn.com/vsdata/archive/2004/09/30/236215.aspx"&gt;&lt;STRONG&gt;here&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;.]&lt;/STRONG&gt;&lt;/P&gt;&lt;img src ="http://www.styledesign.biz/weblogs/macinnesm/aggbug/197.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Marcus Mac Innes</dc:creator><title>Guid Primary Keys are Revolutionised in SQL Server 2005</title><link>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/09/14/195.aspx</link><pubDate>Tue, 14 Sep 2004 00:35:00 GMT</pubDate><guid>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/09/14/195.aspx</guid><wfw:comment>http://www.styledesign.biz/weblogs/macinnesm/comments/195.aspx</wfw:comment><comments>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/09/14/195.aspx#Feedback</comments><slash:comments>282</slash:comments><wfw:commentRss>http://www.styledesign.biz/weblogs/macinnesm/comments/commentRss/195.aspx</wfw:commentRss><trackback:ping>http://www.styledesign.biz/weblogs/macinnesm/services/trackbacks/195.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.jnsk.se/weblog/"&gt;Jimmy Nilsson&lt;/A&gt; &lt;A href="http://www.jnsk.se/weblog/posts/combkiller.htm"&gt;blogs about &lt;/A&gt;the new&amp;nbsp;NEWSEQUENTIALID() function in SQL Server 2005 (Yukon) which provides an incremental GUID generator and hence the long overdue answer to uniqueidentifier as a primary key. While the importance of this may well be lost on non database oriented people, this function alone will revolutionise our choice of table primary keys.&lt;/P&gt;
&lt;P&gt;Traditionally GUID generation produces essentially random numbers which cannot realistically be used as primary keys since new rows are inserted into the table at random positions leading to extremely slow inserts as the table grows to even a moderate size. Inserting into the middle of a table with clustered index, rather than appending&amp;nbsp;to the end can potentially cause the database to have to move large portions of the data to accommodate space for the insert. This can be very slow.&lt;/P&gt;
&lt;P&gt;Jimmy wrote an &lt;A href="http://www.informit.com/articles/article.asp?p=25862"&gt;article&lt;/A&gt; back in 2002 which provided a reasonable solution to the problem, but unfortunately one that I was not personally a fan of. I preferred to maintain INT primary keys for both space and performance reasons and provided a GUID as a secondary key whenever there was a requirement to publish an identifier outside of a service boundary. I think this also fits with &lt;A href="http://blogs.msdn.com/pathelland"&gt;Pat Helland&lt;/A&gt;'s thoughts on data when he talks about &lt;A href="http://msdn.microsoft.com/architecture/overview/default.aspx?pull=/library/en-us/dnbda/html/dataoutsideinside.asp"&gt;Data on the Outside vs. Data on the Inside&lt;/A&gt; because the INT keys are private to the internal workings of the service while the GUID provide the necessary external unique identifiers.&lt;/P&gt;
&lt;P&gt;All this (as Jimmy points out) will however be in the past with the introduction of NEWSEQUENTIALID(). Let's hope they provide an equivalent function in the CLR! &lt;/P&gt;
&lt;P&gt;They'll have to... won't they? &lt;/P&gt;
&lt;P&gt;:|&lt;/P&gt;&lt;img src ="http://www.styledesign.biz/weblogs/macinnesm/aggbug/195.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Marcus Mac Innes</dc:creator><title>Passing an Array to a Stored Procedures</title><link>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/04/09/169.aspx</link><pubDate>Fri, 09 Apr 2004 09:18:00 GMT</pubDate><guid>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/04/09/169.aspx</guid><wfw:comment>http://www.styledesign.biz/weblogs/macinnesm/comments/169.aspx</wfw:comment><comments>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/04/09/169.aspx#Feedback</comments><slash:comments>144</slash:comments><wfw:commentRss>http://www.styledesign.biz/weblogs/macinnesm/comments/commentRss/169.aspx</wfw:commentRss><trackback:ping>http://www.styledesign.biz/weblogs/macinnesm/services/trackbacks/169.aspx</trackback:ping><description>&lt;P&gt;Take a look at this very interesting &lt;A href="http://www.sommarskog.se/arrays-in-sql.html"&gt;article&lt;/A&gt; by &lt;A href="http://www.sommarskog.se/index.html"&gt;Erland Sommarskog&lt;/A&gt; which gives a number of detailed descriptions along with performance measurements on how to pass an array to a stored procedure. This is extremely useful for creating a dynamic WHERE clause.&lt;/P&gt;
&lt;P&gt;[Update: updated article link...]&lt;/P&gt;&lt;img src ="http://www.styledesign.biz/weblogs/macinnesm/aggbug/169.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Marcus Mac Innes</dc:creator><title>SQL Server Desktop Engine 2000 Tools</title><link>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/03/16/165.aspx</link><pubDate>Tue, 16 Mar 2004 09:40:00 GMT</pubDate><guid>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/03/16/165.aspx</guid><wfw:comment>http://www.styledesign.biz/weblogs/macinnesm/comments/165.aspx</wfw:comment><comments>http://www.styledesign.biz/weblogs/macinnesm/archive/2004/03/16/165.aspx#Feedback</comments><slash:comments>70</slash:comments><wfw:commentRss>http://www.styledesign.biz/weblogs/macinnesm/comments/commentRss/165.aspx</wfw:commentRss><trackback:ping>http://www.styledesign.biz/weblogs/macinnesm/services/trackbacks/165.aspx</trackback:ping><description>&lt;P&gt;For all those small &lt;A href="http://www.microsoft.com/sql/default.asp"&gt;SQL Server 2000&lt;/A&gt; installations that make use of Desktop Edition (&lt;A href="http://www.microsoft.com/sql/msde/default.asp"&gt;MSDE&lt;/A&gt;), there are now a number of tools available from Microsoft which provide essential assistance in both development, deployment and administration. These include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;!--StartFragment --&gt;&lt;A href="http://www.microsoft.com/sql/msde/techinfo/reskit/deployreskit.asp"&gt;MSDE 2000 Deployment Toolkit&lt;/A&gt;&amp;nbsp;: A plug-in to &lt;A href="http://msdn.microsoft.com/vstudio/"&gt;Visual Studio&lt;/A&gt; that automates the process of creating an integrated package with both the application and the &lt;A href="http://www.microsoft.com/sql/msde/default.asp"&gt;MSDE&lt;/A&gt; database. &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=c039a798-c57a-419e-acbc-2a332cb7f959&amp;amp;displaylang=en"&gt;SQL Server Web Data Administrator&lt;/A&gt; : Enables you to easily manage your SQL Server data, wherever you are. Using its built-in features, you can do the following from a Web browser:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Create and edit databases in &lt;A href="http://www.microsoft.com/sql/default.asp"&gt;SQL Server 2000&lt;/A&gt; or Microsoft &lt;A href="http://www.microsoft.com/sql/msde/default.asp"&gt;SQL Server 2000 Desktop Engine&lt;/A&gt; (&lt;A href="http://www.microsoft.com/sql/msde/default.asp"&gt;MSDE&lt;/A&gt; 2000)&lt;/LI&gt;
&lt;LI&gt;Perform ad-hoc queries against databases and save them to your file system&lt;/LI&gt;
&lt;LI&gt;Export and import database schema and data&lt;/LI&gt;
&lt;LI&gt;Manage users and roles&lt;/LI&gt;
&lt;LI&gt;View, create and edit stored procedures&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9552d43b-04eb-4af9-9e24-6cde4d933600&amp;amp;DisplayLang=en"&gt;SQL Server 2000 Security Tools&lt;/A&gt; :&amp;nbsp;&lt;!--StartFragment --&gt; Used to scan instances of &lt;A href="http://www.microsoft.com/sql/default.asp"&gt;SQL Server 2000&lt;/A&gt; and &lt;A href="http://www.microsoft.com/sql/msde/default.asp"&gt;SQL Server Desktop Engine (MSDE) 2000&lt;/A&gt;. The tools help detect instances vulnerable to the "Slammer" worm, and then apply updates to the affected files.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B352EB1F-D3CA-44EE-893E-9E07339C1F22&amp;amp;displaylang=en"&gt;Microsoft SQL Server 2000 Best Practices Analyzer&lt;/A&gt; :&amp;nbsp;&lt;!--StartFragment --&gt;&amp;nbsp;&lt;FONT class=detailsContent&gt;A database management tool that lets you verify the implementation of common Best Practices. These Best Practices typically relate to the usage and administration aspects of SQL Server databases and ensure that your SQL Servers are managed and operated well.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://www.styledesign.biz/weblogs/macinnesm/aggbug/165.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>