Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/www.schuirink.net/www/xml/headlines.php on line 383

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/www.schuirink.net/www/xml/headlines.php on line 384
SQLJunkies Blogs :: Ooops! :: XML error: Mismatched tag at line 261 :: using alternative parser
codepage:UTF-8
array(6) {
  ["encoding"]=>
  string(0) ""
  ["title"]=>
  string(16) "SQLJunkies Blogs"
  ["link"]=>
  string(33) "http://www.sqljunkies.com/WebLog/"
  ["description"]=>
  string(16) "SQLJunkies Blogs"
  ["items"]=>
  array(15) {
    [0]=>
    array(5) {
      ["title"]=>
      string(20) "Moved to sqlblog.com"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/mosha/archive/2008/09/02/166099.aspx"
      ["description"]=>
      string(233) "This blog has moved to <a href="http://sqlblog.com/blogs/mosha/default.aspx">http://sqlblog.com/blogs/mosha/default.aspx</a><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=166099" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:166099"
      ["pubDate"]=>
      string(29) "Tue, 02 Sep 2008 05:00:00 GMT"
    }
    [1]=>
    array(5) {
      ["title"]=>
      string(23) "SQL Server 2008 is Out!"
      ["link"]=>
      string(72) "http://www.sqljunkies.com/WebLog/donkiely/archive/2008/08/06/154035.aspx"
      ["description"]=>
      string(614) "Microsoft has <a href="http://www.microsoft.com/presspass/press/2008/aug08/08-06SQLServer2008PR.mspx">released SQL Server 2008</a>, all editions! Brian Randell, reporting from TechEd South Africa this week, seems to have been the <a href="http://mcwtech.com/CS/blogs/brianr/archive/2008/08/06/sql-server-2008-rtms.aspx">first to get the word</a> out beyond Microsoft.<br><br>It's available on MSDN right now. No idea when it will be on the shelves.<br><br>Don<br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=154035" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:154035"
      ["pubDate"]=>
      string(29) "Wed, 06 Aug 2008 10:37:00 GMT"
    }
    [2]=>
    array(5) {
      ["title"]=>
      string(33) "SQL Server 2008 Table of Contents"
      ["link"]=>
      string(71) "http://www.sqljunkies.com/WebLog/joesack/archive/2008/07/22/146548.aspx"
      ["description"]=>
      string(401) "Per an earlier post - here is a 
<a title="recipes" href="http://joesack.com/WordPress/?p=139">
link </a>

to a full version of the table of contents for "SQL Server 2008 Transact-SQL Recipes." Feel free to post comments if you have questions about the table of contents or topics listed.<img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=146548" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:146548"
      ["pubDate"]=>
      string(29) "Tue, 22 Jul 2008 05:44:00 GMT"
    }
    [3]=>
    array(5) {
      ["title"]=>
      string(65) "Today I got the hard copy of SQL Server 2008 Transact-SQL Recipes"
      ["link"]=>
      string(71) "http://www.sqljunkies.com/WebLog/joesack/archive/2008/07/21/146455.aspx"
      ["description"]=>
      string(2273) "** Cross-posted from www.joesack.com **
<BR><BR>
I came home to find a hard copy of my new book waiting for me.  This is always an exciting and strange moment to finally hold the finished product in my hand.  I'm pretty happy with the result, and I feel it reflects the problem/solution theme I was aiming for.  It is always a little daunting once a book is printed, because you have to hand it off to the world and hope that people find it useful.  You kind of have to just give in, hope for the best, and move on to the next project.
<BR><BR>
It is a bigger book than last time (last book was 733 pages, this one is 839).  Although it was an update - it still took 9 months, but they were high quality hours and I enjoyed a good portion of it.
<BR><BR>
Looking through it today -  I was disappointed to see that two of my requested changes that I submitted to the publisher in June didn't get integrated into to Chapter 2 - so I'll blog about them here so you can know to look for them.  There were some syntax changes that were made in the Release Candidate that differ from CTP 6.  The two changes that didn't get in for whatever reason are as follows:
<BR><BR>
<ul>
	<li>Page 91 - the CTP6 version of the MERGE syntax, instead of the RC0 version was used.  Here is the corrected, RC0 version of the syntax:</li>
</ul>
<p>MERGE INTO HumanResources.CorporateHousing p
USING dbo.StagingCorporateHousing s
ON p.UnitNBR = s.UnitNBR<BR>
WHEN MATCHED AND s.IsRentedIND <> p.IsRentedIND THEN<BR>
UPDATE SET IsRentedIND = s.IsRentedIND<BR>
WHEN NOT MATCHED BY TARGET THEN<BR>
INSERT (UnitNBR, IsRentedIND) VALUES (s.UnitNBR, s.IsRentedIND)<BR>
WHEN NOT MATCHED BY SOURCE THEN<BR>
DELETE;
<ul>
	<li>Page 98 - the @partition_switch argument should be removed from sys.sp_cdc_enable_table</li>
</ul>
<BR><BR>
The rest of the RC0 changes I made and requested seem to be there, so I'm happy.  We'll see if there are any RTM changes I need to blog about.  With 800 pages - the possibilities are endless. :)<img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=146455" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:146455"
      ["pubDate"]=>
      string(29) "Mon, 21 Jul 2008 15:16:00 GMT"
    }
    [4]=>
    array(5) {
      ["title"]=>
      string(36) "SQL Server 2008 Transact-SQL Recipes"
      ["link"]=>
      string(71) "http://www.sqljunkies.com/WebLog/joesack/archive/2008/07/02/140775.aspx"
      ["description"]=>
      string(5882) "** Cross-posted on www.joesack.com **

<p class="MsoNormal"><font face="Calibri">My new book, "<a href="http://www.amazon.com/gp/product/1590599802?ie=UTF8&amp;tag=wwwjoesackcom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590599802" title="recipes">SQL Server 2008 Transact-SQL Recipes</a>" is coming out in a few weeks (estimated publication at the end of July). </font><font face="Calibri">As of July 1<sup>st</sup>, <a href="http://www.amazon.com/gp/product/1590599802?ie=UTF8&amp;tag=wwwjoesackcom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590599802" title="recipes">Amazon.com is selling it for $37.70</a>. They don’t have a picture of the cover up yet, but it will have the standard bumble-bee color scheme Apress cover, so expect no surprises there. </font><span><span>J</span></span></p>
<p class="MsoNormal"><font face="Calibri">Although this was an update of my last book, it still took 9 months to write (plenty of weeknights and weekends holed up in my office).<span>  </span>I updated existing content, and added content for both SQL Server 2008 and SQL Server 2005 SP2 additions. </font></p>
<p class="MsoNormal"><font face="Calibri">Like my last book, I focus specifically on the Transact-SQL language. Even with the focus on T-SQL and not the GUI, the book wound up being greater than 800 pages.<span>  </span>Also like the last book, I use a problem/solution format.<span>  </span>The overall theme and mission statement for this book was:</font></p>
<p class="MsoNormal"><font face="Calibri"><span> </span>"Look up what you need to do. Learn how to do it. Do it."<span>  </span></font></p>
<p class="MsoNormal"><font face="Calibri">I'll have a downloadable detailed index link available after the publication date.<span>  </span>That link will include the specific recipes for each chapter.<span>  </span>In the meantime, here is a high level list of the chapters:</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 1 SELECT</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 2 Perform, Capture, and Track Data Modifications</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 3 Transactions, Locking, Blocking, and Deadlocking</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 4 Tables </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 5 Indexes </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 6 Full-Text Search </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 7 Views </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 8 SQL Server Functions </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 9 Conditional Processing, Control-of-Flow, and Cursors </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 10 Stored Procedures </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 11 User-Defined Functions and Types </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 12 Triggers </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 13 CLR Integration</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 14 XML, Hierarchies, and Spatial Data</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 15 Hints </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 16 Error Handling </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 17 Principals </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 18 Securables, Permissions, and Auditing </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 19 Encryption</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 20 Service Broker</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 21 Configuring and Viewing SQL Server Options</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 22 Creating and Configuring Databases </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 23 Database Integrity and Optimization</font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 24 Maintaining Database Objects and Object Dependencies </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 25 Database Mirroring </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 26 Database Snapshots </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 27 Linked Servers and Distributed Queries </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 28 Query Performance Tuning </font></p>
<p class="MsoNormal"><font face="Calibri">CHAPTER 29 Backup and Recovery </font></p>
<p class="MsoNormal"><font face="Calibri">I enjoyed writing this book; but most importantly I hope you find it to be a useful, practical reference.<span>  </span></font></p><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=140775" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:140775"
      ["pubDate"]=>
      string(29) "Wed, 02 Jul 2008 04:50:00 GMT"
    }
    [5]=>
    array(5) {
      ["title"]=>
      string(53) "Last post on SqlJunkies, now I am only on SqlBlog.com"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/06/10/132042.aspx"
      ["description"]=>
      string(518) "<P>In the last months I cross-posted from my blog on SqlBlog.com to SqlJunkies.com, but starting from today <b>I will be only on <a href="http://sqlblog.com/blogs/marco_russo">http://sqlblog.com/blogs/marco_russo</a>.</b></P>
<P>
This is my last post on this blog on SqlJunkies.com. See you on <a href="http://sqlblog.com/blogs/marco_russo">SqlBlog</a>!
</P><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=132042" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:132042"
      ["pubDate"]=>
      string(29) "Tue, 10 Jun 2008 08:34:00 GMT"
    }
    [6]=>
    array(5) {
      ["title"]=>
      string(25) "What means writing a book"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/06/05/129943.aspx"
      ["description"]=>
      string(979) "<P>I and Paolo Pialorsi&nbsp;have been interviewed at TechEd by Ken Rosen. We talked about our experience as book authors of <A class="" href="http://programminglinq.com/">Programming LINQ</A>.</P>
<P>If you are interested in writing a book, or if you simply want to see our faces and hear our italian accent, you can watch the video available in both <A class="" href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_Dev_techtalk_12_low.asx">low resolution</A> and <A class="" href="http://microsofttech.fr.edgesuite.net/TechEdOnline/Videos/08_NA_Dev_techtalk_12_high.wmv">high resolution</A>. Enjoy!</P>
<br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=129943" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:129943"
      ["pubDate"]=>
      string(29) "Thu, 05 Jun 2008 15:58:35 GMT"
    }
    [7]=>
    array(5) {
      ["title"]=>
      string(43) "TechEd 2008 book signing and other meetings"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/06/02/128581.aspx"
      ["description"]=>
      string(1017) "<P>I'm already in Orlando for <A class="" href="http://www.microsoft.com/events/teched2008/developer/default.mspx">TechEd 2008 Developers</A>. Tomorrow I and Paolo Pialorsi will be at the TechEd bookshop for a book signing of our just released <A class="" href="http://www.amazon.com/gp/product/0735624003/?tag=se04-20">Programming Microsoft LINQ</A>, scheduled at 4:00PM-4:30PM. I wrote a post a few days a go with the list of chapters included in the book. LINQ to SQL and LINQ to Entities are two technologies that are significative to access data, even if you don't have to use them in every possible scenario.</P>
<P>If you are attending to TechEd, meet us tomorrow at the bookshop to talk about LINQ!</P>
<br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=128581" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:128581"
      ["pubDate"]=>
      string(29) "Mon, 02 Jun 2008 13:40:01 GMT"
    }
    [8]=>
    array(5) {
      ["title"]=>
      string(43) "Programming Microsoft LINQ finally shipping"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/05/26/124388.aspx"
      ["description"]=>
      string(9742) "<P><SPAN><FONT>Finally, the Programming Microsoft LINQ book </FONT><A href="http://www.amazon.com/gp/product/0735624003/?tag=se04-20"><FONT>is available</FONT></A><FONT>. We (I and Paolo Pialorsi, the other author)&nbsp;updated the website that supports our books (</FONT><A href="http://programminglinq.com/"><FONT>http://programminglinq.com</FONT></A><FONT><FONT>), where you can download the sample code of the book.<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><FONT><FONT>What’s in this book? Well, we tried to cover everything that was in RTM, but we also introduced technologies that are still in beta or in early CTP stages, like LINQ to Entities and Parallel LINQ. To give you an idea of the content, at the end of this post there is a list of the chapters included in the book.<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><FONT><FONT>Now, the next news is that I will be at TechEd Developers next week in Orlando. Feel free to contact&nbsp;me if you want to arrange a meeting talking about LINQ or SSAS. Moreover, I and Paolo will be at the bookshop for book signing on June 3rd from 4:00pm to 4:30pm. I hope to see you there!</FONT></FONT></SPAN></P>
<P><SPAN><FONT><FONT>In these days I'm already working on a new project, this time on Data Warehousing and Analysis Services. More news on this blog in a few weeks...</FONT></FONT></SPAN></P>
<P><FONT><STRONG><SPAN>Programming Microsoft LINQ</SPAN></STRONG><SPAN><o:p></o:p></SPAN></FONT></P>
<P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part I LINQ FOUNDATIONS<o:p></o:p></FONT></FONT></SPAN></B></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>1 LINQ Introduction<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>2 LINQ Syntax Fundamentals <o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>3 LINQ to Objects<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part II LINQ to Relational Data<o:p></o:p></FONT></FONT></SPAN></B></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>4 LINQ to SQL: Querying Data <o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>5 LINQ to SQL: Managing Data <o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>6 Tools for LINQ to SQL<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>7 LINQ to DataSet <o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>8 LINQ to Entities <o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part III LINQ and XML<o:p></o:p></FONT></FONT></SPAN></B></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>9 LINQ to XML: Managing the XML Infoset<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>10 LINQ to XML: Querying Nodes<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part IV Advanced LINQ<o:p></o:p></FONT></FONT></SPAN></B></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>11 Inside Expression Trees<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>12 Extending LINQ <o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>13 Parallel LINQ <o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>14 Other LINQ Implementations <o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part V Applied LINQ<o:p></o:p></FONT></FONT></SPAN></B></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>15 LINQ in a Multitier Solution <o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>16 LINQ and ASP.NET<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>17 LINQ and WPF/Silverlight<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>18 LINQ and the Windows Communication Foundation<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Appendixes<o:p></o:p></FONT></FONT></SPAN></B></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>A ADO.NET Entity Framework<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>B C# 3.0: New Language Features<o:p></o:p></FONT></FONT></SPAN></P>
<P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>C Visual Basic 2008: New Language Features</FONT></FONT></SPAN></P>
<br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=124388" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:124388"
      ["pubDate"]=>
      string(29) "Sun, 25 May 2008 21:30:40 GMT"
    }
    [9]=>
    array(5) {
      ["title"]=>
      string(31) "Synonyms and SQL Server Express"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/roman/archive/2008/05/03/116192.aspx"
      ["description"]=>
      string(1529) "<P>I've been a big fan of using SQL Server aliases for a long time because it allows you to make physical location of SQL Servers transparent to the client machines. With SQL Server 2005 Microsoft introduced synonyms, allowing you to define logical names for objects in another database or even on another server. This could be among other things beneficial if you need to move some tables to another database. Instead of recoding your application, you can define synonyms and point them to the new location (I wrote an <A class="" href="http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1281621,00.html">article</A> for SearchSQLServer.com about synonyms recently, you can get more details there if interested) This week I realized that synonyms can have another great benefit. As you know, SQL Server Express has a limit of 4GB per database. If your database begins to grow close to 4GB, you can move one or more large tables to another database on the same server, create synonyms in the original database and point them to the new location. I tested it on my SQL Server Express instance and it does work as expected. So with this knowledge, this limitation might become less of an obstacle for you to consider SQL Server Express.</P>
<br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=116192" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:116192"
      ["pubDate"]=>
      string(29) "Sat, 03 May 2008 04:15:43 GMT"
    }
    [10]=>
    array(5) {
      ["title"]=>
      string(32) "Multiple Hierarchies from SQLCAT"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/04/21/114474.aspx"
      ["description"]=>
      string(1229) "<p>I'm still late with blog reading and sometimes I discover interesting things one or two months later than the original posting. I just read the SQLCAT analysis of the several solutions available to <a href="http://sqlcat.com/technicalnotes/archive/2008/03/17/including-child-members-multiple-places-in-a-parent-child-hierarchy.aspx">handle multiple parent-child hierarchies within a single dimension</a>. The multiple hierarchies pattern described in my <a href="http://www.sqlbi.eu/manytomany.aspx">many-to-many</a> paper has been used (with some variations) and now I have the "SQLCAT certification" that this model is faster than others!</p> <p>I think there is space for improvement in this area and the many-to-many space is still a relatively unexplored space. If you have experience adopting those models, please share your knowledge - and if you are shy, write me directly and I'll post the interesting data.</p>
<br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=114474" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:114474"
      ["pubDate"]=>
      string(29) "Mon, 21 Apr 2008 16:52:18 GMT"
    }
    [11]=>
    array(5) {
      ["title"]=>
      string(104) "Deleted All Logins to SQL Server 2005 and Lost sa Password: You Did WHAT?  And BizTalk 2006 Is Using It?"
      ["link"]=>
      string(73) "http://www.sqljunkies.com/WebLog/davescube/archive/2008/04/11/111944.aspx"
      ["description"]=>
      string(7845) "<P><FONT>It's been a while since I blogged but I had a circumstance yesterday that I thought was noteworthy.&nbsp; Recently my employer cut our staff to about 1/4 of what it was nine months ago, so all of us in "management" are now hands-on.&nbsp; I've inherited DBA work (since we cut the DBA), something of which I've not done much in the past eight years during a BI career.&nbsp; I have always appreciated what competent DBA's do for those of us in BI development.&nbsp; I'm sure I'll appreciate it more as time progresses.</FONT></P>
<P><FONT>As the title suggests, I committed an egregious error.&nbsp; I was working on a dev server and needed to reload a database which hasn't yet gone to production.&nbsp; I inherited the database and the application from a consultant (yup, cut him too) and it hasn't been fully loaded.&nbsp; As part of the work, I thought I'd build an "initial load" procedure and add it to the documentation.&nbsp; One of the methods for initialization is to create the database with a script, so I had SSMS write a script.&nbsp; I told it to script the database logins.&nbsp; Did I read the script before punching the go-giddy button?&nbsp; No.&nbsp; In a few seconds, the script errored out saying that I didn't have permission to create logins.&nbsp; Huh?&nbsp; Of course I do!&nbsp; I'm a sysadmin.&nbsp; A few more minutes of sleuthing revealed the disaster:&nbsp; I had deleted every single login in that server.&nbsp; Every last one, including myself.&nbsp; I had even whacked Builtin/administrators.</FONT></P>
<P><FONT>Shortly thereafter I realized we didn't have the sa password.&nbsp; I had completely locked myself out of my own server.&nbsp; What to do?&nbsp; I considered a full rebuild of the server, but there were 17 user-defined database on the server.&nbsp; Additionally, the majority of those databases were for a dev instance of BizTalk 2006, and while I'm not an experienced DBA, I worked with our DBA during initial installation of BizTalk 2006 and knew that it wasn't backed up or restored conventionally.&nbsp; Plus, there was a dev SharePoint installation using the SQL Server as well and I knew even less about the restore procedures for that.&nbsp; I was felling a little sick at that point.</FONT></P>
<P><FONT>A quick Web search revealed that Microsoft has left a trap door in SQL Server 2005 for this problem.&nbsp; You may find a simple and correct procedure for resetting a lost sa password when you cannot otherwise get access to the server, in the following link: </FONT><FONT><A href="http://blogs.msdn.com/raulga/archive/2007/07/12/disaster-recovery-what-to-do-when-the-sa-account-password-is-lost-in-sql-server-2005.aspx">http://blogs.msdn.com/raulga/archive/2007/07/12/disaster-recovery-what-to-do-when-the-sa-account-password-is-lost-in-sql-server-2005.aspx</A>.&nbsp; I did exactly what Raul Garcia told me to do, and it worked!&nbsp; Restart the server in maintenance mode and then add a user to the the sysadmin role with sp_addsrvrolemember.</FONT></P>
<P><FONT>Next, I ran only the portions of the offending script which created logins.&nbsp; But was I done?&nbsp; Hardly.&nbsp; Inspection of the script (in which I asked for descriptive headers) told me that all SQL Server logins would be recreated with a random password and automatically disabled.&nbsp; I only had four of those, but I had to find the application passwords and make them match, and then enable the accounts.&nbsp; I also noticed that the associations between those logins and their database users seemed to be incorrect.&nbsp; I reset those with SSMS and they seemed to be working fine.</FONT></P>
<P><FONT>Next, I noticed that none of my backup jobs were running.&nbsp; SQL Agent could not access SQL Server.&nbsp; I use the same domain account to start both the SQL Server service and SQL Agent, but I had wiped out the permissions of that domain account.&nbsp; I fixed the problem by adding a login for the service account to SQL Server and gave it sa rights.&nbsp; I'm sure this is not the best possible way I could have solved that problem, but I can go back and fix it later.&nbsp; The highest priority of any DBA is to safeguard the company's data and this was only a dev server.</FONT></P>
<P><FONT>Finally, the SQL Server log showed that the BizTalk accounts could not log on to SQL Server.&nbsp;&nbsp; The message shown in the log was something like this:</FONT></P>
<P><FONT><STRONG><EM>Login failed for user '&lt;domain&gt;\&lt;domain user&gt;'. [CLIENT: 10.1.2.17]</EM></STRONG></FONT></P>
<P><FONT><STRONG><EM>Error: 18456, Severity: 14, State: 16</EM></STRONG></FONT></P>
<P><FONT>State 16 seems to indicate that a login has no permissions in a database which it is querying.&nbsp; Running sp_change_users_login with the "Report" option showed nothing.&nbsp; All of the BizTalk users had proper associations in their databases, just as SSMS said they did.&nbsp; Furthermore, we got the Windows password for one of the BizTalk Windows accounts and logged in to the server.&nbsp; We were able to connect to all the proper databases and query tables, just the permissions said we would.&nbsp; In other words, BizTalk was having no real problem connecting to SQL Server and querying its databases.</FONT></P>
<P><FONT>So, what kept causing the problem?&nbsp; We noted that the errors only occurred after restarting the SQL Server service, and then only one time.&nbsp; A ha!&nbsp; Is it possible that BizTalk was trying to connect to SQL Server and access its databases before the restart recovery is complete?&nbsp; Yes!&nbsp; Had I been more observant, I would have seen this in the log file.&nbsp; We put this to the test by stopping the BizTalk services on the BizTalk dev server and restarting the SQL Server service.&nbsp; Sure enough, the errors disappeared.&nbsp; It was nothing more than an order of operations issue.&nbsp; BizTalk tries to connect very quickly when it loses its SQL Server connection.&nbsp; It was trying to access a database before recovery was complete.</FONT></P>
<P><FONT>So that's the saga.&nbsp; Here's what we learned:</FONT></P>
<OL>
<LI><FONT>Don't let Dave be your DBA on production servers if he can't stop destroying dev servers.</FONT></LI>
<LI><FONT>Always have current backups.&nbsp; We did, so I knew I could get back if the method described herein didn't work.</FONT></LI>
<LI><FONT>BizTalk is a very complicated system.&nbsp; You'd better practice restoring it because if you really have to do it, it could take hours just to know the process for recovery.</FONT></LI>
<LI><FONT>Always record your sa passwords and securely store them.</FONT></LI>
<LI><FONT>Read database creation scripts BEFORE you execute them.&nbsp; Five minutes of reading may save four hours' work.</FONT></LI>
<LI><FONT>Microsoft has provided a way to create a new admin account on SQL Server even if you are boneheaded enough to completely sever access to SQL Server.</FONT></LI></OL><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=111944" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:111944"
      ["pubDate"]=>
      string(29) "Fri, 11 Apr 2008 10:46:00 GMT"
    }
    [12]=>
    array(5) {
      ["title"]=>
      string(53) "Many-to-Many Session at European PASS Conference 2008"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/04/11/111902.aspx"
      ["description"]=>
      string(1066) "<p>I'll be a speaker at the <a href="http://www.european-pass-conference.com">European PASS Conference 2008</a> next week in Dusseldorf. I will talk about advanced dimensional modeling using many-to-many relationship. The content is based on "<a href="http://www.sqlbi.eu/manytomany.aspx">The many-to-many revolution</a>" paper I wrote two years ago. If you will attend that conference and you already used some of the models I described in the paper, I will be happy to get direct feedback from you.</p> <p>My session is scheduled on Wednesday at 14:30. Unfortunately, I will not have much time after the session because I will have to go to the airport - for this reason, contact me in advance if you want, I'll be at the conference starting from Monday.</p>
<br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=111902" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:111902"
      ["pubDate"]=>
      string(29) "Fri, 11 Apr 2008 08:50:30 GMT"
    }
    [13]=>
    array(5) {
      ["title"]=>
      string(56) "Take advantage of FE caching to optimize MDX performance"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/mosha/archive/2008/03/28/110688.aspx"
      ["description"]=>
      string(959) "I have decided to move my blog from the sqljunkies site to <a href="http://sqlblog.com/blogs/mosha/default.aspx">sqlblog</a> site. The transition started about a year ago. During this year I was posting every blog on both sites. This transition period has ended now, and from now on all the posts will be on sqlblog only. I apologize for all the inconvenience that it causes, but sqljunkies had too many problems to deal with, and the current owners didn't seem interested in fixing them. The sqlblog owners, on the other side, were were responsive and supportive, making sqlblog much more attractive solution for the blog publishers.
The latest post is <a href="http://sqlblog.com/blogs/mosha/archive/2008/03/28/take-advantage-of-fe-caching-to-optimize-mdx-performance.aspx">Take advantage of FE caching to optimize MDX performance</a>.<img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=110688" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:110688"
      ["pubDate"]=>
      string(29) "Fri, 28 Mar 2008 23:48:00 GMT"
    }
    [14]=>
    array(5) {
      ["title"]=>
      string(43) "LINQ to extract object permission from SSAS"
      ["link"]=>
      string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/03/28/110628.aspx"
      ["description"]=>
      string(1979) "<p>Yesterday one customer of mine encountered the <a href="http://support.microsoft.com/kb/933836">issue described in KB933836</a> and posted also by <a href="http://cwebbbi.spaces.live.com/blog/cns!7B84B0F2C239489A!978.entry?_c=BlogPart">Chris Sells</a>.</p> <p>The issue is that the deployment of a SSAS database always overwrite object permissions defined on database objects like cubes. The "keep existing roles" setting of deployment wizard does not preserve those information. I needed to solve the issue and I simply made a simple program that creates an XMLA file with object permissions that I need to restore after database deployment. I used LINQ and XML Literals in Visual Basic - <a href="http://www.microsoft.com/mspress/books/10827.aspx">I wrote a book about LINQ</a> and I have to find a reason for this, but I really think that LINQ saved my time.</p> <p>I will write a more complete article about this issue one day, may be... by now, if you have the same issue, you can contact me to get the code I wrote. If you don't need it, look at the readability of LINQ in a case like this.</p> <p><span><a href="http://sqlblog.com/blogs/marco_russo/WindowsLiveWriter/LINQtoextractobjectpermissionfromSSAS_9B05/image_2.png"><img height="342" alt="image" src="http://sqlblog.com/blogs/marco_russo/WindowsLiveWriter/LINQtoextractobjectpermissionfromSSAS_9B05/image_thumb.png" width="714" border="0"></a>&nbsp;</span></p> <p><span>If I will receive some request, I will consider to publish this simple tool.</span></p> <p><span>&nbsp;</p></span>
<br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=110628" width="1" height="1">"
      ["guid"]=>
      string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:110628"
      ["pubDate"]=>
      string(29) "Fri, 28 Mar 2008 10:01:33 GMT"
    }
  }
  ["items_count"]=>
  int(15)
}

1515string(0) ""
string(16) "SQLJunkies Blogs"
SQLJunkies Blogsstring(33) "http://www.sqljunkies.com/WebLog/"
http://www.sqljunkies.com/WebLog/string(16) "SQLJunkies Blogs"
SQLJunkies Blogsarray(15) { [0]=> array(5) { ["title"]=> string(20) "Moved to sqlblog.com" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/mosha/archive/2008/09/02/166099.aspx" ["description"]=> string(233) "This blog has moved to <a href="http://sqlblog.com/blogs/mosha/default.aspx">http://sqlblog.com/blogs/mosha/default.aspx</a><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=166099" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:166099" ["pubDate"]=> string(29) "Tue, 02 Sep 2008 05:00:00 GMT" } [1]=> array(5) { ["title"]=> string(23) "SQL Server 2008 is Out!" ["link"]=> string(72) "http://www.sqljunkies.com/WebLog/donkiely/archive/2008/08/06/154035.aspx" ["description"]=> string(614) "Microsoft has <a href="http://www.microsoft.com/presspass/press/2008/aug08/08-06SQLServer2008PR.mspx">released SQL Server 2008</a>, all editions! Brian Randell, reporting from TechEd South Africa this week, seems to have been the <a href="http://mcwtech.com/CS/blogs/brianr/archive/2008/08/06/sql-server-2008-rtms.aspx">first to get the word</a> out beyond Microsoft.<br><br>It's available on MSDN right now. No idea when it will be on the shelves.<br><br>Don<br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=154035" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:154035" ["pubDate"]=> string(29) "Wed, 06 Aug 2008 10:37:00 GMT" } [2]=> array(5) { ["title"]=> string(33) "SQL Server 2008 Table of Contents" ["link"]=> string(71) "http://www.sqljunkies.com/WebLog/joesack/archive/2008/07/22/146548.aspx" ["description"]=> string(401) "Per an earlier post - here is a <a title="recipes" href="http://joesack.com/WordPress/?p=139"> link </a> to a full version of the table of contents for "SQL Server 2008 Transact-SQL Recipes." Feel free to post comments if you have questions about the table of contents or topics listed.<img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=146548" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:146548" ["pubDate"]=> string(29) "Tue, 22 Jul 2008 05:44:00 GMT" } [3]=> array(5) { ["title"]=> string(65) "Today I got the hard copy of SQL Server 2008 Transact-SQL Recipes" ["link"]=> string(71) "http://www.sqljunkies.com/WebLog/joesack/archive/2008/07/21/146455.aspx" ["description"]=> string(2273) "** Cross-posted from www.joesack.com ** <BR><BR> I came home to find a hard copy of my new book waiting for me. This is always an exciting and strange moment to finally hold the finished product in my hand. I'm pretty happy with the result, and I feel it reflects the problem/solution theme I was aiming for. It is always a little daunting once a book is printed, because you have to hand it off to the world and hope that people find it useful. You kind of have to just give in, hope for the best, and move on to the next project. <BR><BR> It is a bigger book than last time (last book was 733 pages, this one is 839). Although it was an update - it still took 9 months, but they were high quality hours and I enjoyed a good portion of it. <BR><BR> Looking through it today - I was disappointed to see that two of my requested changes that I submitted to the publisher in June didn't get integrated into to Chapter 2 - so I'll blog about them here so you can know to look for them. There were some syntax changes that were made in the Release Candidate that differ from CTP 6. The two changes that didn't get in for whatever reason are as follows: <BR><BR> <ul> <li>Page 91 - the CTP6 version of the MERGE syntax, instead of the RC0 version was used. Here is the corrected, RC0 version of the syntax:</li> </ul> <p>MERGE INTO HumanResources.CorporateHousing p USING dbo.StagingCorporateHousing s ON p.UnitNBR = s.UnitNBR<BR> WHEN MATCHED AND s.IsRentedIND <> p.IsRentedIND THEN<BR> UPDATE SET IsRentedIND = s.IsRentedIND<BR> WHEN NOT MATCHED BY TARGET THEN<BR> INSERT (UnitNBR, IsRentedIND) VALUES (s.UnitNBR, s.IsRentedIND)<BR> WHEN NOT MATCHED BY SOURCE THEN<BR> DELETE; <ul> <li>Page 98 - the @partition_switch argument should be removed from sys.sp_cdc_enable_table</li> </ul> <BR><BR> The rest of the RC0 changes I made and requested seem to be there, so I'm happy. We'll see if there are any RTM changes I need to blog about. With 800 pages - the possibilities are endless. :)<img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=146455" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:146455" ["pubDate"]=> string(29) "Mon, 21 Jul 2008 15:16:00 GMT" } [4]=> array(5) { ["title"]=> string(36) "SQL Server 2008 Transact-SQL Recipes" ["link"]=> string(71) "http://www.sqljunkies.com/WebLog/joesack/archive/2008/07/02/140775.aspx" ["description"]=> string(5882) "** Cross-posted on www.joesack.com ** <p class="MsoNormal"><font face="Calibri">My new book, "<a href="http://www.amazon.com/gp/product/1590599802?ie=UTF8&amp;tag=wwwjoesackcom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590599802" title="recipes">SQL Server 2008 Transact-SQL Recipes</a>" is coming out in a few weeks (estimated publication at the end of July). </font><font face="Calibri">As of July 1<sup>st</sup>, <a href="http://www.amazon.com/gp/product/1590599802?ie=UTF8&amp;tag=wwwjoesackcom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590599802" title="recipes">Amazon.com is selling it for $37.70</a>. They don’t have a picture of the cover up yet, but it will have the standard bumble-bee color scheme Apress cover, so expect no surprises there. </font><span><span>J</span></span></p> <p class="MsoNormal"><font face="Calibri">Although this was an update of my last book, it still took 9 months to write (plenty of weeknights and weekends holed up in my office).<span> </span>I updated existing content, and added content for both SQL Server 2008 and SQL Server 2005 SP2 additions. </font></p> <p class="MsoNormal"><font face="Calibri">Like my last book, I focus specifically on the Transact-SQL language. Even with the focus on T-SQL and not the GUI, the book wound up being greater than 800 pages.<span> </span>Also like the last book, I use a problem/solution format.<span> </span>The overall theme and mission statement for this book was:</font></p> <p class="MsoNormal"><font face="Calibri"><span> </span>"Look up what you need to do. Learn how to do it. Do it."<span> </span></font></p> <p class="MsoNormal"><font face="Calibri">I'll have a downloadable detailed index link available after the publication date.<span> </span>That link will include the specific recipes for each chapter.<span> </span>In the meantime, here is a high level list of the chapters:</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 1 SELECT</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 2 Perform, Capture, and Track Data Modifications</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 3 Transactions, Locking, Blocking, and Deadlocking</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 4 Tables </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 5 Indexes </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 6 Full-Text Search </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 7 Views </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 8 SQL Server Functions </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 9 Conditional Processing, Control-of-Flow, and Cursors </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 10 Stored Procedures </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 11 User-Defined Functions and Types </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 12 Triggers </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 13 CLR Integration</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 14 XML, Hierarchies, and Spatial Data</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 15 Hints </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 16 Error Handling </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 17 Principals </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 18 Securables, Permissions, and Auditing </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 19 Encryption</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 20 Service Broker</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 21 Configuring and Viewing SQL Server Options</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 22 Creating and Configuring Databases </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 23 Database Integrity and Optimization</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 24 Maintaining Database Objects and Object Dependencies </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 25 Database Mirroring </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 26 Database Snapshots </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 27 Linked Servers and Distributed Queries </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 28 Query Performance Tuning </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 29 Backup and Recovery </font></p> <p class="MsoNormal"><font face="Calibri">I enjoyed writing this book; but most importantly I hope you find it to be a useful, practical reference.<span> </span></font></p><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=140775" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:140775" ["pubDate"]=> string(29) "Wed, 02 Jul 2008 04:50:00 GMT" } [5]=> array(5) { ["title"]=> string(53) "Last post on SqlJunkies, now I am only on SqlBlog.com" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/06/10/132042.aspx" ["description"]=> string(518) "<P>In the last months I cross-posted from my blog on SqlBlog.com to SqlJunkies.com, but starting from today <b>I will be only on <a href="http://sqlblog.com/blogs/marco_russo">http://sqlblog.com/blogs/marco_russo</a>.</b></P> <P> This is my last post on this blog on SqlJunkies.com. See you on <a href="http://sqlblog.com/blogs/marco_russo">SqlBlog</a>! </P><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=132042" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:132042" ["pubDate"]=> string(29) "Tue, 10 Jun 2008 08:34:00 GMT" } [6]=> array(5) { ["title"]=> string(25) "What means writing a book" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/06/05/129943.aspx" ["description"]=> string(979) "<P>I and Paolo Pialorsi&nbsp;have been interviewed at TechEd by Ken Rosen. We talked about our experience as book authors of <A class="" href="http://programminglinq.com/">Programming LINQ</A>.</P> <P>If you are interested in writing a book, or if you simply want to see our faces and hear our italian accent, you can watch the video available in both <A class="" href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_Dev_techtalk_12_low.asx">low resolution</A> and <A class="" href="http://microsofttech.fr.edgesuite.net/TechEdOnline/Videos/08_NA_Dev_techtalk_12_high.wmv">high resolution</A>. Enjoy!</P> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=129943" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:129943" ["pubDate"]=> string(29) "Thu, 05 Jun 2008 15:58:35 GMT" } [7]=> array(5) { ["title"]=> string(43) "TechEd 2008 book signing and other meetings" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/06/02/128581.aspx" ["description"]=> string(1017) "<P>I'm already in Orlando for <A class="" href="http://www.microsoft.com/events/teched2008/developer/default.mspx">TechEd 2008 Developers</A>. Tomorrow I and Paolo Pialorsi will be at the TechEd bookshop for a book signing of our just released <A class="" href="http://www.amazon.com/gp/product/0735624003/?tag=se04-20">Programming Microsoft LINQ</A>, scheduled at 4:00PM-4:30PM. I wrote a post a few days a go with the list of chapters included in the book. LINQ to SQL and LINQ to Entities are two technologies that are significative to access data, even if you don't have to use them in every possible scenario.</P> <P>If you are attending to TechEd, meet us tomorrow at the bookshop to talk about LINQ!</P> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=128581" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:128581" ["pubDate"]=> string(29) "Mon, 02 Jun 2008 13:40:01 GMT" } [8]=> array(5) { ["title"]=> string(43) "Programming Microsoft LINQ finally shipping" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/05/26/124388.aspx" ["description"]=> string(9742) "<P><SPAN><FONT>Finally, the Programming Microsoft LINQ book </FONT><A href="http://www.amazon.com/gp/product/0735624003/?tag=se04-20"><FONT>is available</FONT></A><FONT>. We (I and Paolo Pialorsi, the other author)&nbsp;updated the website that supports our books (</FONT><A href="http://programminglinq.com/"><FONT>http://programminglinq.com</FONT></A><FONT><FONT>), where you can download the sample code of the book.<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><FONT><FONT>What’s in this book? Well, we tried to cover everything that was in RTM, but we also introduced technologies that are still in beta or in early CTP stages, like LINQ to Entities and Parallel LINQ. To give you an idea of the content, at the end of this post there is a list of the chapters included in the book.<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><FONT><FONT>Now, the next news is that I will be at TechEd Developers next week in Orlando. Feel free to contact&nbsp;me if you want to arrange a meeting talking about LINQ or SSAS. Moreover, I and Paolo will be at the bookshop for book signing on June 3rd from 4:00pm to 4:30pm. I hope to see you there!</FONT></FONT></SPAN></P> <P><SPAN><FONT><FONT>In these days I'm already working on a new project, this time on Data Warehousing and Analysis Services. More news on this blog in a few weeks...</FONT></FONT></SPAN></P> <P><FONT><STRONG><SPAN>Programming Microsoft LINQ</SPAN></STRONG><SPAN><o:p></o:p></SPAN></FONT></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part I LINQ FOUNDATIONS<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>1 LINQ Introduction<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>2 LINQ Syntax Fundamentals <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>3 LINQ to Objects<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part II LINQ to Relational Data<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>4 LINQ to SQL: Querying Data <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>5 LINQ to SQL: Managing Data <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>6 Tools for LINQ to SQL<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>7 LINQ to DataSet <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>8 LINQ to Entities <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part III LINQ and XML<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>9 LINQ to XML: Managing the XML Infoset<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>10 LINQ to XML: Querying Nodes<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part IV Advanced LINQ<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>11 Inside Expression Trees<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>12 Extending LINQ <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>13 Parallel LINQ <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>14 Other LINQ Implementations <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part V Applied LINQ<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>15 LINQ in a Multitier Solution <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>16 LINQ and ASP.NET<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>17 LINQ and WPF/Silverlight<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>18 LINQ and the Windows Communication Foundation<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Appendixes<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>A ADO.NET Entity Framework<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>B C# 3.0: New Language Features<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>C Visual Basic 2008: New Language Features</FONT></FONT></SPAN></P> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=124388" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:124388" ["pubDate"]=> string(29) "Sun, 25 May 2008 21:30:40 GMT" } [9]=> array(5) { ["title"]=> string(31) "Synonyms and SQL Server Express" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/roman/archive/2008/05/03/116192.aspx" ["description"]=> string(1529) "<P>I've been a big fan of using SQL Server aliases for a long time because it allows you to make physical location of SQL Servers transparent to the client machines. With SQL Server 2005 Microsoft introduced synonyms, allowing you to define logical names for objects in another database or even on another server. This could be among other things beneficial if you need to move some tables to another database. Instead of recoding your application, you can define synonyms and point them to the new location (I wrote an <A class="" href="http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1281621,00.html">article</A> for SearchSQLServer.com about synonyms recently, you can get more details there if interested) This week I realized that synonyms can have another great benefit. As you know, SQL Server Express has a limit of 4GB per database. If your database begins to grow close to 4GB, you can move one or more large tables to another database on the same server, create synonyms in the original database and point them to the new location. I tested it on my SQL Server Express instance and it does work as expected. So with this knowledge, this limitation might become less of an obstacle for you to consider SQL Server Express.</P> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=116192" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:116192" ["pubDate"]=> string(29) "Sat, 03 May 2008 04:15:43 GMT" } [10]=> array(5) { ["title"]=> string(32) "Multiple Hierarchies from SQLCAT" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/04/21/114474.aspx" ["description"]=> string(1229) "<p>I'm still late with blog reading and sometimes I discover interesting things one or two months later than the original posting. I just read the SQLCAT analysis of the several solutions available to <a href="http://sqlcat.com/technicalnotes/archive/2008/03/17/including-child-members-multiple-places-in-a-parent-child-hierarchy.aspx">handle multiple parent-child hierarchies within a single dimension</a>. The multiple hierarchies pattern described in my <a href="http://www.sqlbi.eu/manytomany.aspx">many-to-many</a> paper has been used (with some variations) and now I have the "SQLCAT certification" that this model is faster than others!</p> <p>I think there is space for improvement in this area and the many-to-many space is still a relatively unexplored space. If you have experience adopting those models, please share your knowledge - and if you are shy, write me directly and I'll post the interesting data.</p> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=114474" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:114474" ["pubDate"]=> string(29) "Mon, 21 Apr 2008 16:52:18 GMT" } [11]=> array(5) { ["title"]=> string(104) "Deleted All Logins to SQL Server 2005 and Lost sa Password: You Did WHAT? And BizTalk 2006 Is Using It?" ["link"]=> string(73) "http://www.sqljunkies.com/WebLog/davescube/archive/2008/04/11/111944.aspx" ["description"]=> string(7845) "<P><FONT>It's been a while since I blogged but I had a circumstance yesterday that I thought was noteworthy.&nbsp; Recently my employer cut our staff to about 1/4 of what it was nine months ago, so all of us in "management" are now hands-on.&nbsp; I've inherited DBA work (since we cut the DBA), something of which I've not done much in the past eight years during a BI career.&nbsp; I have always appreciated what competent DBA's do for those of us in BI development.&nbsp; I'm sure I'll appreciate it more as time progresses.</FONT></P> <P><FONT>As the title suggests, I committed an egregious error.&nbsp; I was working on a dev server and needed to reload a database which hasn't yet gone to production.&nbsp; I inherited the database and the application from a consultant (yup, cut him too) and it hasn't been fully loaded.&nbsp; As part of the work, I thought I'd build an "initial load" procedure and add it to the documentation.&nbsp; One of the methods for initialization is to create the database with a script, so I had SSMS write a script.&nbsp; I told it to script the database logins.&nbsp; Did I read the script before punching the go-giddy button?&nbsp; No.&nbsp; In a few seconds, the script errored out saying that I didn't have permission to create logins.&nbsp; Huh?&nbsp; Of course I do!&nbsp; I'm a sysadmin.&nbsp; A few more minutes of sleuthing revealed the disaster:&nbsp; I had deleted every single login in that server.&nbsp; Every last one, including myself.&nbsp; I had even whacked Builtin/administrators.</FONT></P> <P><FONT>Shortly thereafter I realized we didn't have the sa password.&nbsp; I had completely locked myself out of my own server.&nbsp; What to do?&nbsp; I considered a full rebuild of the server, but there were 17 user-defined database on the server.&nbsp; Additionally, the majority of those databases were for a dev instance of BizTalk 2006, and while I'm not an experienced DBA, I worked with our DBA during initial installation of BizTalk 2006 and knew that it wasn't backed up or restored conventionally.&nbsp; Plus, there was a dev SharePoint installation using the SQL Server as well and I knew even less about the restore procedures for that.&nbsp; I was felling a little sick at that point.</FONT></P> <P><FONT>A quick Web search revealed that Microsoft has left a trap door in SQL Server 2005 for this problem.&nbsp; You may find a simple and correct procedure for resetting a lost sa password when you cannot otherwise get access to the server, in the following link: </FONT><FONT><A href="http://blogs.msdn.com/raulga/archive/2007/07/12/disaster-recovery-what-to-do-when-the-sa-account-password-is-lost-in-sql-server-2005.aspx">http://blogs.msdn.com/raulga/archive/2007/07/12/disaster-recovery-what-to-do-when-the-sa-account-password-is-lost-in-sql-server-2005.aspx</A>.&nbsp; I did exactly what Raul Garcia told me to do, and it worked!&nbsp; Restart the server in maintenance mode and then add a user to the the sysadmin role with sp_addsrvrolemember.</FONT></P> <P><FONT>Next, I ran only the portions of the offending script which created logins.&nbsp; But was I done?&nbsp; Hardly.&nbsp; Inspection of the script (in which I asked for descriptive headers) told me that all SQL Server logins would be recreated with a random password and automatically disabled.&nbsp; I only had four of those, but I had to find the application passwords and make them match, and then enable the accounts.&nbsp; I also noticed that the associations between those logins and their database users seemed to be incorrect.&nbsp; I reset those with SSMS and they seemed to be working fine.</FONT></P> <P><FONT>Next, I noticed that none of my backup jobs were running.&nbsp; SQL Agent could not access SQL Server.&nbsp; I use the same domain account to start both the SQL Server service and SQL Agent, but I had wiped out the permissions of that domain account.&nbsp; I fixed the problem by adding a login for the service account to SQL Server and gave it sa rights.&nbsp; I'm sure this is not the best possible way I could have solved that problem, but I can go back and fix it later.&nbsp; The highest priority of any DBA is to safeguard the company's data and this was only a dev server.</FONT></P> <P><FONT>Finally, the SQL Server log showed that the BizTalk accounts could not log on to SQL Server.&nbsp;&nbsp; The message shown in the log was something like this:</FONT></P> <P><FONT><STRONG><EM>Login failed for user '&lt;domain&gt;\&lt;domain user&gt;'. [CLIENT: 10.1.2.17]</EM></STRONG></FONT></P> <P><FONT><STRONG><EM>Error: 18456, Severity: 14, State: 16</EM></STRONG></FONT></P> <P><FONT>State 16 seems to indicate that a login has no permissions in a database which it is querying.&nbsp; Running sp_change_users_login with the "Report" option showed nothing.&nbsp; All of the BizTalk users had proper associations in their databases, just as SSMS said they did.&nbsp; Furthermore, we got the Windows password for one of the BizTalk Windows accounts and logged in to the server.&nbsp; We were able to connect to all the proper databases and query tables, just the permissions said we would.&nbsp; In other words, BizTalk was having no real problem connecting to SQL Server and querying its databases.</FONT></P> <P><FONT>So, what kept causing the problem?&nbsp; We noted that the errors only occurred after restarting the SQL Server service, and then only one time.&nbsp; A ha!&nbsp; Is it possible that BizTalk was trying to connect to SQL Server and access its databases before the restart recovery is complete?&nbsp; Yes!&nbsp; Had I been more observant, I would have seen this in the log file.&nbsp; We put this to the test by stopping the BizTalk services on the BizTalk dev server and restarting the SQL Server service.&nbsp; Sure enough, the errors disappeared.&nbsp; It was nothing more than an order of operations issue.&nbsp; BizTalk tries to connect very quickly when it loses its SQL Server connection.&nbsp; It was trying to access a database before recovery was complete.</FONT></P> <P><FONT>So that's the saga.&nbsp; Here's what we learned:</FONT></P> <OL> <LI><FONT>Don't let Dave be your DBA on production servers if he can't stop destroying dev servers.</FONT></LI> <LI><FONT>Always have current backups.&nbsp; We did, so I knew I could get back if the method described herein didn't work.</FONT></LI> <LI><FONT>BizTalk is a very complicated system.&nbsp; You'd better practice restoring it because if you really have to do it, it could take hours just to know the process for recovery.</FONT></LI> <LI><FONT>Always record your sa passwords and securely store them.</FONT></LI> <LI><FONT>Read database creation scripts BEFORE you execute them.&nbsp; Five minutes of reading may save four hours' work.</FONT></LI> <LI><FONT>Microsoft has provided a way to create a new admin account on SQL Server even if you are boneheaded enough to completely sever access to SQL Server.</FONT></LI></OL><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=111944" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:111944" ["pubDate"]=> string(29) "Fri, 11 Apr 2008 10:46:00 GMT" } [12]=> array(5) { ["title"]=> string(53) "Many-to-Many Session at European PASS Conference 2008" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/04/11/111902.aspx" ["description"]=> string(1066) "<p>I'll be a speaker at the <a href="http://www.european-pass-conference.com">European PASS Conference 2008</a> next week in Dusseldorf. I will talk about advanced dimensional modeling using many-to-many relationship. The content is based on "<a href="http://www.sqlbi.eu/manytomany.aspx">The many-to-many revolution</a>" paper I wrote two years ago. If you will attend that conference and you already used some of the models I described in the paper, I will be happy to get direct feedback from you.</p> <p>My session is scheduled on Wednesday at 14:30. Unfortunately, I will not have much time after the session because I will have to go to the airport - for this reason, contact me in advance if you want, I'll be at the conference starting from Monday.</p> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=111902" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:111902" ["pubDate"]=> string(29) "Fri, 11 Apr 2008 08:50:30 GMT" } [13]=> array(5) { ["title"]=> string(56) "Take advantage of FE caching to optimize MDX performance" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/mosha/archive/2008/03/28/110688.aspx" ["description"]=> string(959) "I have decided to move my blog from the sqljunkies site to <a href="http://sqlblog.com/blogs/mosha/default.aspx">sqlblog</a> site. The transition started about a year ago. During this year I was posting every blog on both sites. This transition period has ended now, and from now on all the posts will be on sqlblog only. I apologize for all the inconvenience that it causes, but sqljunkies had too many problems to deal with, and the current owners didn't seem interested in fixing them. The sqlblog owners, on the other side, were were responsive and supportive, making sqlblog much more attractive solution for the blog publishers. The latest post is <a href="http://sqlblog.com/blogs/mosha/archive/2008/03/28/take-advantage-of-fe-caching-to-optimize-mdx-performance.aspx">Take advantage of FE caching to optimize MDX performance</a>.<img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=110688" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:110688" ["pubDate"]=> string(29) "Fri, 28 Mar 2008 23:48:00 GMT" } [14]=> array(5) { ["title"]=> string(43) "LINQ to extract object permission from SSAS" ["link"]=> string(69) "http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/03/28/110628.aspx" ["description"]=> string(1979) "<p>Yesterday one customer of mine encountered the <a href="http://support.microsoft.com/kb/933836">issue described in KB933836</a> and posted also by <a href="http://cwebbbi.spaces.live.com/blog/cns!7B84B0F2C239489A!978.entry?_c=BlogPart">Chris Sells</a>.</p> <p>The issue is that the deployment of a SSAS database always overwrite object permissions defined on database objects like cubes. The "keep existing roles" setting of deployment wizard does not preserve those information. I needed to solve the issue and I simply made a simple program that creates an XMLA file with object permissions that I need to restore after database deployment. I used LINQ and XML Literals in Visual Basic - <a href="http://www.microsoft.com/mspress/books/10827.aspx">I wrote a book about LINQ</a> and I have to find a reason for this, but I really think that LINQ saved my time.</p> <p>I will write a more complete article about this issue one day, may be... by now, if you have the same issue, you can contact me to get the code I wrote. If you don't need it, look at the readability of LINQ in a case like this.</p> <p><span><a href="http://sqlblog.com/blogs/marco_russo/WindowsLiveWriter/LINQtoextractobjectpermissionfromSSAS_9B05/image_2.png"><img height="342" alt="image" src="http://sqlblog.com/blogs/marco_russo/WindowsLiveWriter/LINQtoextractobjectpermissionfromSSAS_9B05/image_thumb.png" width="714" border="0"></a>&nbsp;</span></p> <p><span>If I will receive some request, I will consider to publish this simple tool.</span></p> <p><span>&nbsp;</p></span> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=110628" width="1" height="1">" ["guid"]=> string(43) "d2584c15-f6ef-46f7-a2d4-24fc0e143e76:110628" ["pubDate"]=> string(29) "Fri, 28 Mar 2008 10:01:33 GMT" } }
Array ( [0] => Array ( [title] => Moved to sqlblog.com [link] => http://www.sqljunkies.com/WebLog/mosha/archive/2008/09/02/166099.aspx [description] => This blog has moved to <a href="http://sqlblog.com/blogs/mosha/default.aspx">http://sqlblog.com/blogs/mosha/default.aspx</a><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=166099" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:166099 [pubDate] => Tue, 02 Sep 2008 05:00:00 GMT ) [1] => Array ( [title] => SQL Server 2008 is Out! [link] => http://www.sqljunkies.com/WebLog/donkiely/archive/2008/08/06/154035.aspx [description] => Microsoft has <a href="http://www.microsoft.com/presspass/press/2008/aug08/08-06SQLServer2008PR.mspx">released SQL Server 2008</a>, all editions! Brian Randell, reporting from TechEd South Africa this week, seems to have been the <a href="http://mcwtech.com/CS/blogs/brianr/archive/2008/08/06/sql-server-2008-rtms.aspx">first to get the word</a> out beyond Microsoft.<br><br>It's available on MSDN right now. No idea when it will be on the shelves.<br><br>Don<br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=154035" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:154035 [pubDate] => Wed, 06 Aug 2008 10:37:00 GMT ) [2] => Array ( [title] => SQL Server 2008 Table of Contents [link] => http://www.sqljunkies.com/WebLog/joesack/archive/2008/07/22/146548.aspx [description] => Per an earlier post - here is a <a title="recipes" href="http://joesack.com/WordPress/?p=139"> link </a> to a full version of the table of contents for "SQL Server 2008 Transact-SQL Recipes." Feel free to post comments if you have questions about the table of contents or topics listed.<img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=146548" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:146548 [pubDate] => Tue, 22 Jul 2008 05:44:00 GMT ) [3] => Array ( [title] => Today I got the hard copy of SQL Server 2008 Transact-SQL Recipes [link] => http://www.sqljunkies.com/WebLog/joesack/archive/2008/07/21/146455.aspx [description] => ** Cross-posted from www.joesack.com ** <BR><BR> I came home to find a hard copy of my new book waiting for me. This is always an exciting and strange moment to finally hold the finished product in my hand. I'm pretty happy with the result, and I feel it reflects the problem/solution theme I was aiming for. It is always a little daunting once a book is printed, because you have to hand it off to the world and hope that people find it useful. You kind of have to just give in, hope for the best, and move on to the next project. <BR><BR> It is a bigger book than last time (last book was 733 pages, this one is 839). Although it was an update - it still took 9 months, but they were high quality hours and I enjoyed a good portion of it. <BR><BR> Looking through it today - I was disappointed to see that two of my requested changes that I submitted to the publisher in June didn't get integrated into to Chapter 2 - so I'll blog about them here so you can know to look for them. There were some syntax changes that were made in the Release Candidate that differ from CTP 6. The two changes that didn't get in for whatever reason are as follows: <BR><BR> <ul> <li>Page 91 - the CTP6 version of the MERGE syntax, instead of the RC0 version was used. Here is the corrected, RC0 version of the syntax:</li> </ul> <p>MERGE INTO HumanResources.CorporateHousing p USING dbo.StagingCorporateHousing s ON p.UnitNBR = s.UnitNBR<BR> WHEN MATCHED AND s.IsRentedIND <> p.IsRentedIND THEN<BR> UPDATE SET IsRentedIND = s.IsRentedIND<BR> WHEN NOT MATCHED BY TARGET THEN<BR> INSERT (UnitNBR, IsRentedIND) VALUES (s.UnitNBR, s.IsRentedIND)<BR> WHEN NOT MATCHED BY SOURCE THEN<BR> DELETE; <ul> <li>Page 98 - the @partition_switch argument should be removed from sys.sp_cdc_enable_table</li> </ul> <BR><BR> The rest of the RC0 changes I made and requested seem to be there, so I'm happy. We'll see if there are any RTM changes I need to blog about. With 800 pages - the possibilities are endless. :)<img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=146455" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:146455 [pubDate] => Mon, 21 Jul 2008 15:16:00 GMT ) [4] => Array ( [title] => SQL Server 2008 Transact-SQL Recipes [link] => http://www.sqljunkies.com/WebLog/joesack/archive/2008/07/02/140775.aspx [description] => ** Cross-posted on www.joesack.com ** <p class="MsoNormal"><font face="Calibri">My new book, "<a href="http://www.amazon.com/gp/product/1590599802?ie=UTF8&amp;tag=wwwjoesackcom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590599802" title="recipes">SQL Server 2008 Transact-SQL Recipes</a>" is coming out in a few weeks (estimated publication at the end of July). </font><font face="Calibri">As of July 1<sup>st</sup>, <a href="http://www.amazon.com/gp/product/1590599802?ie=UTF8&amp;tag=wwwjoesackcom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590599802" title="recipes">Amazon.com is selling it for $37.70</a>. They don’t have a picture of the cover up yet, but it will have the standard bumble-bee color scheme Apress cover, so expect no surprises there. </font><span><span>J</span></span></p> <p class="MsoNormal"><font face="Calibri">Although this was an update of my last book, it still took 9 months to write (plenty of weeknights and weekends holed up in my office).<span> </span>I updated existing content, and added content for both SQL Server 2008 and SQL Server 2005 SP2 additions. </font></p> <p class="MsoNormal"><font face="Calibri">Like my last book, I focus specifically on the Transact-SQL language. Even with the focus on T-SQL and not the GUI, the book wound up being greater than 800 pages.<span> </span>Also like the last book, I use a problem/solution format.<span> </span>The overall theme and mission statement for this book was:</font></p> <p class="MsoNormal"><font face="Calibri"><span> </span>"Look up what you need to do. Learn how to do it. Do it."<span> </span></font></p> <p class="MsoNormal"><font face="Calibri">I'll have a downloadable detailed index link available after the publication date.<span> </span>That link will include the specific recipes for each chapter.<span> </span>In the meantime, here is a high level list of the chapters:</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 1 SELECT</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 2 Perform, Capture, and Track Data Modifications</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 3 Transactions, Locking, Blocking, and Deadlocking</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 4 Tables </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 5 Indexes </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 6 Full-Text Search </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 7 Views </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 8 SQL Server Functions </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 9 Conditional Processing, Control-of-Flow, and Cursors </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 10 Stored Procedures </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 11 User-Defined Functions and Types </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 12 Triggers </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 13 CLR Integration</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 14 XML, Hierarchies, and Spatial Data</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 15 Hints </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 16 Error Handling </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 17 Principals </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 18 Securables, Permissions, and Auditing </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 19 Encryption</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 20 Service Broker</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 21 Configuring and Viewing SQL Server Options</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 22 Creating and Configuring Databases </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 23 Database Integrity and Optimization</font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 24 Maintaining Database Objects and Object Dependencies </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 25 Database Mirroring </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 26 Database Snapshots </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 27 Linked Servers and Distributed Queries </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 28 Query Performance Tuning </font></p> <p class="MsoNormal"><font face="Calibri">CHAPTER 29 Backup and Recovery </font></p> <p class="MsoNormal"><font face="Calibri">I enjoyed writing this book; but most importantly I hope you find it to be a useful, practical reference.<span> </span></font></p><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=140775" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:140775 [pubDate] => Wed, 02 Jul 2008 04:50:00 GMT ) [5] => Array ( [title] => Last post on SqlJunkies, now I am only on SqlBlog.com [link] => http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/06/10/132042.aspx [description] => <P>In the last months I cross-posted from my blog on SqlBlog.com to SqlJunkies.com, but starting from today <b>I will be only on <a href="http://sqlblog.com/blogs/marco_russo">http://sqlblog.com/blogs/marco_russo</a>.</b></P> <P> This is my last post on this blog on SqlJunkies.com. See you on <a href="http://sqlblog.com/blogs/marco_russo">SqlBlog</a>! </P><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=132042" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:132042 [pubDate] => Tue, 10 Jun 2008 08:34:00 GMT ) [6] => Array ( [title] => What means writing a book [link] => http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/06/05/129943.aspx [description] => <P>I and Paolo Pialorsi&nbsp;have been interviewed at TechEd by Ken Rosen. We talked about our experience as book authors of <A class="" href="http://programminglinq.com/">Programming LINQ</A>.</P> <P>If you are interested in writing a book, or if you simply want to see our faces and hear our italian accent, you can watch the video available in both <A class="" href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_Dev_techtalk_12_low.asx">low resolution</A> and <A class="" href="http://microsofttech.fr.edgesuite.net/TechEdOnline/Videos/08_NA_Dev_techtalk_12_high.wmv">high resolution</A>. Enjoy!</P> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=129943" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:129943 [pubDate] => Thu, 05 Jun 2008 15:58:35 GMT ) [7] => Array ( [title] => TechEd 2008 book signing and other meetings [link] => http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/06/02/128581.aspx [description] => <P>I'm already in Orlando for <A class="" href="http://www.microsoft.com/events/teched2008/developer/default.mspx">TechEd 2008 Developers</A>. Tomorrow I and Paolo Pialorsi will be at the TechEd bookshop for a book signing of our just released <A class="" href="http://www.amazon.com/gp/product/0735624003/?tag=se04-20">Programming Microsoft LINQ</A>, scheduled at 4:00PM-4:30PM. I wrote a post a few days a go with the list of chapters included in the book. LINQ to SQL and LINQ to Entities are two technologies that are significative to access data, even if you don't have to use them in every possible scenario.</P> <P>If you are attending to TechEd, meet us tomorrow at the bookshop to talk about LINQ!</P> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=128581" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:128581 [pubDate] => Mon, 02 Jun 2008 13:40:01 GMT ) [8] => Array ( [title] => Programming Microsoft LINQ finally shipping [link] => http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/05/26/124388.aspx [description] => <P><SPAN><FONT>Finally, the Programming Microsoft LINQ book </FONT><A href="http://www.amazon.com/gp/product/0735624003/?tag=se04-20"><FONT>is available</FONT></A><FONT>. We (I and Paolo Pialorsi, the other author)&nbsp;updated the website that supports our books (</FONT><A href="http://programminglinq.com/"><FONT>http://programminglinq.com</FONT></A><FONT><FONT>), where you can download the sample code of the book.<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><FONT><FONT>What’s in this book? Well, we tried to cover everything that was in RTM, but we also introduced technologies that are still in beta or in early CTP stages, like LINQ to Entities and Parallel LINQ. To give you an idea of the content, at the end of this post there is a list of the chapters included in the book.<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><FONT><FONT>Now, the next news is that I will be at TechEd Developers next week in Orlando. Feel free to contact&nbsp;me if you want to arrange a meeting talking about LINQ or SSAS. Moreover, I and Paolo will be at the bookshop for book signing on June 3rd from 4:00pm to 4:30pm. I hope to see you there!</FONT></FONT></SPAN></P> <P><SPAN><FONT><FONT>In these days I'm already working on a new project, this time on Data Warehousing and Analysis Services. More news on this blog in a few weeks...</FONT></FONT></SPAN></P> <P><FONT><STRONG><SPAN>Programming Microsoft LINQ</SPAN></STRONG><SPAN><o:p></o:p></SPAN></FONT></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part I LINQ FOUNDATIONS<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>1 LINQ Introduction<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>2 LINQ Syntax Fundamentals <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>3 LINQ to Objects<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part II LINQ to Relational Data<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>4 LINQ to SQL: Querying Data <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>5 LINQ to SQL: Managing Data <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>6 Tools for LINQ to SQL<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>7 LINQ to DataSet <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>8 LINQ to Entities <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part III LINQ and XML<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>9 LINQ to XML: Managing the XML Infoset<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>10 LINQ to XML: Querying Nodes<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part IV Advanced LINQ<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>11 Inside Expression Trees<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>12 Extending LINQ <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>13 Parallel LINQ <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>14 Other LINQ Implementations <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Part V Applied LINQ<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>15 LINQ in a Multitier Solution <o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>16 LINQ and ASP.NET<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>17 LINQ and WPF/Silverlight<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>18 LINQ and the Windows Communication Foundation<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>·</FONT><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN><FONT><FONT>Appendixes<o:p></o:p></FONT></FONT></SPAN></B></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>A ADO.NET Entity Framework<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>B C# 3.0: New Language Features<o:p></o:p></FONT></FONT></SPAN></P> <P><SPAN><SPAN><FONT>o</FONT><SPAN>&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN><FONT><FONT>C Visual Basic 2008: New Language Features</FONT></FONT></SPAN></P> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=124388" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:124388 [pubDate] => Sun, 25 May 2008 21:30:40 GMT ) [9] => Array ( [title] => Synonyms and SQL Server Express [link] => http://www.sqljunkies.com/WebLog/roman/archive/2008/05/03/116192.aspx [description] => <P>I've been a big fan of using SQL Server aliases for a long time because it allows you to make physical location of SQL Servers transparent to the client machines. With SQL Server 2005 Microsoft introduced synonyms, allowing you to define logical names for objects in another database or even on another server. This could be among other things beneficial if you need to move some tables to another database. Instead of recoding your application, you can define synonyms and point them to the new location (I wrote an <A class="" href="http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1281621,00.html">article</A> for SearchSQLServer.com about synonyms recently, you can get more details there if interested) This week I realized that synonyms can have another great benefit. As you know, SQL Server Express has a limit of 4GB per database. If your database begins to grow close to 4GB, you can move one or more large tables to another database on the same server, create synonyms in the original database and point them to the new location. I tested it on my SQL Server Express instance and it does work as expected. So with this knowledge, this limitation might become less of an obstacle for you to consider SQL Server Express.</P> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=116192" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:116192 [pubDate] => Sat, 03 May 2008 04:15:43 GMT ) [10] => Array ( [title] => Multiple Hierarchies from SQLCAT [link] => http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/04/21/114474.aspx [description] => <p>I'm still late with blog reading and sometimes I discover interesting things one or two months later than the original posting. I just read the SQLCAT analysis of the several solutions available to <a href="http://sqlcat.com/technicalnotes/archive/2008/03/17/including-child-members-multiple-places-in-a-parent-child-hierarchy.aspx">handle multiple parent-child hierarchies within a single dimension</a>. The multiple hierarchies pattern described in my <a href="http://www.sqlbi.eu/manytomany.aspx">many-to-many</a> paper has been used (with some variations) and now I have the "SQLCAT certification" that this model is faster than others!</p> <p>I think there is space for improvement in this area and the many-to-many space is still a relatively unexplored space. If you have experience adopting those models, please share your knowledge - and if you are shy, write me directly and I'll post the interesting data.</p> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=114474" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:114474 [pubDate] => Mon, 21 Apr 2008 16:52:18 GMT ) [11] => Array ( [title] => Deleted All Logins to SQL Server 2005 and Lost sa Password: You Did WHAT? And BizTalk 2006 Is Using It? [link] => http://www.sqljunkies.com/WebLog/davescube/archive/2008/04/11/111944.aspx [description] => <P><FONT>It's been a while since I blogged but I had a circumstance yesterday that I thought was noteworthy.&nbsp; Recently my employer cut our staff to about 1/4 of what it was nine months ago, so all of us in "management" are now hands-on.&nbsp; I've inherited DBA work (since we cut the DBA), something of which I've not done much in the past eight years during a BI career.&nbsp; I have always appreciated what competent DBA's do for those of us in BI development.&nbsp; I'm sure I'll appreciate it more as time progresses.</FONT></P> <P><FONT>As the title suggests, I committed an egregious error.&nbsp; I was working on a dev server and needed to reload a database which hasn't yet gone to production.&nbsp; I inherited the database and the application from a consultant (yup, cut him too) and it hasn't been fully loaded.&nbsp; As part of the work, I thought I'd build an "initial load" procedure and add it to the documentation.&nbsp; One of the methods for initialization is to create the database with a script, so I had SSMS write a script.&nbsp; I told it to script the database logins.&nbsp; Did I read the script before punching the go-giddy button?&nbsp; No.&nbsp; In a few seconds, the script errored out saying that I didn't have permission to create logins.&nbsp; Huh?&nbsp; Of course I do!&nbsp; I'm a sysadmin.&nbsp; A few more minutes of sleuthing revealed the disaster:&nbsp; I had deleted every single login in that server.&nbsp; Every last one, including myself.&nbsp; I had even whacked Builtin/administrators.</FONT></P> <P><FONT>Shortly thereafter I realized we didn't have the sa password.&nbsp; I had completely locked myself out of my own server.&nbsp; What to do?&nbsp; I considered a full rebuild of the server, but there were 17 user-defined database on the server.&nbsp; Additionally, the majority of those databases were for a dev instance of BizTalk 2006, and while I'm not an experienced DBA, I worked with our DBA during initial installation of BizTalk 2006 and knew that it wasn't backed up or restored conventionally.&nbsp; Plus, there was a dev SharePoint installation using the SQL Server as well and I knew even less about the restore procedures for that.&nbsp; I was felling a little sick at that point.</FONT></P> <P><FONT>A quick Web search revealed that Microsoft has left a trap door in SQL Server 2005 for this problem.&nbsp; You may find a simple and correct procedure for resetting a lost sa password when you cannot otherwise get access to the server, in the following link: </FONT><FONT><A href="http://blogs.msdn.com/raulga/archive/2007/07/12/disaster-recovery-what-to-do-when-the-sa-account-password-is-lost-in-sql-server-2005.aspx">http://blogs.msdn.com/raulga/archive/2007/07/12/disaster-recovery-what-to-do-when-the-sa-account-password-is-lost-in-sql-server-2005.aspx</A>.&nbsp; I did exactly what Raul Garcia told me to do, and it worked!&nbsp; Restart the server in maintenance mode and then add a user to the the sysadmin role with sp_addsrvrolemember.</FONT></P> <P><FONT>Next, I ran only the portions of the offending script which created logins.&nbsp; But was I done?&nbsp; Hardly.&nbsp; Inspection of the script (in which I asked for descriptive headers) told me that all SQL Server logins would be recreated with a random password and automatically disabled.&nbsp; I only had four of those, but I had to find the application passwords and make them match, and then enable the accounts.&nbsp; I also noticed that the associations between those logins and their database users seemed to be incorrect.&nbsp; I reset those with SSMS and they seemed to be working fine.</FONT></P> <P><FONT>Next, I noticed that none of my backup jobs were running.&nbsp; SQL Agent could not access SQL Server.&nbsp; I use the same domain account to start both the SQL Server service and SQL Agent, but I had wiped out the permissions of that domain account.&nbsp; I fixed the problem by adding a login for the service account to SQL Server and gave it sa rights.&nbsp; I'm sure this is not the best possible way I could have solved that problem, but I can go back and fix it later.&nbsp; The highest priority of any DBA is to safeguard the company's data and this was only a dev server.</FONT></P> <P><FONT>Finally, the SQL Server log showed that the BizTalk accounts could not log on to SQL Server.&nbsp;&nbsp; The message shown in the log was something like this:</FONT></P> <P><FONT><STRONG><EM>Login failed for user '&lt;domain&gt;\&lt;domain user&gt;'. [CLIENT: 10.1.2.17]</EM></STRONG></FONT></P> <P><FONT><STRONG><EM>Error: 18456, Severity: 14, State: 16</EM></STRONG></FONT></P> <P><FONT>State 16 seems to indicate that a login has no permissions in a database which it is querying.&nbsp; Running sp_change_users_login with the "Report" option showed nothing.&nbsp; All of the BizTalk users had proper associations in their databases, just as SSMS said they did.&nbsp; Furthermore, we got the Windows password for one of the BizTalk Windows accounts and logged in to the server.&nbsp; We were able to connect to all the proper databases and query tables, just the permissions said we would.&nbsp; In other words, BizTalk was having no real problem connecting to SQL Server and querying its databases.</FONT></P> <P><FONT>So, what kept causing the problem?&nbsp; We noted that the errors only occurred after restarting the SQL Server service, and then only one time.&nbsp; A ha!&nbsp; Is it possible that BizTalk was trying to connect to SQL Server and access its databases before the restart recovery is complete?&nbsp; Yes!&nbsp; Had I been more observant, I would have seen this in the log file.&nbsp; We put this to the test by stopping the BizTalk services on the BizTalk dev server and restarting the SQL Server service.&nbsp; Sure enough, the errors disappeared.&nbsp; It was nothing more than an order of operations issue.&nbsp; BizTalk tries to connect very quickly when it loses its SQL Server connection.&nbsp; It was trying to access a database before recovery was complete.</FONT></P> <P><FONT>So that's the saga.&nbsp; Here's what we learned:</FONT></P> <OL> <LI><FONT>Don't let Dave be your DBA on production servers if he can't stop destroying dev servers.</FONT></LI> <LI><FONT>Always have current backups.&nbsp; We did, so I knew I could get back if the method described herein didn't work.</FONT></LI> <LI><FONT>BizTalk is a very complicated system.&nbsp; You'd better practice restoring it because if you really have to do it, it could take hours just to know the process for recovery.</FONT></LI> <LI><FONT>Always record your sa passwords and securely store them.</FONT></LI> <LI><FONT>Read database creation scripts BEFORE you execute them.&nbsp; Five minutes of reading may save four hours' work.</FONT></LI> <LI><FONT>Microsoft has provided a way to create a new admin account on SQL Server even if you are boneheaded enough to completely sever access to SQL Server.</FONT></LI></OL><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=111944" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:111944 [pubDate] => Fri, 11 Apr 2008 10:46:00 GMT ) [12] => Array ( [title] => Many-to-Many Session at European PASS Conference 2008 [link] => http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/04/11/111902.aspx [description] => <p>I'll be a speaker at the <a href="http://www.european-pass-conference.com">European PASS Conference 2008</a> next week in Dusseldorf. I will talk about advanced dimensional modeling using many-to-many relationship. The content is based on "<a href="http://www.sqlbi.eu/manytomany.aspx">The many-to-many revolution</a>" paper I wrote two years ago. If you will attend that conference and you already used some of the models I described in the paper, I will be happy to get direct feedback from you.</p> <p>My session is scheduled on Wednesday at 14:30. Unfortunately, I will not have much time after the session because I will have to go to the airport - for this reason, contact me in advance if you want, I'll be at the conference starting from Monday.</p> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=111902" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:111902 [pubDate] => Fri, 11 Apr 2008 08:50:30 GMT ) [13] => Array ( [title] => Take advantage of FE caching to optimize MDX performance [link] => http://www.sqljunkies.com/WebLog/mosha/archive/2008/03/28/110688.aspx [description] => I have decided to move my blog from the sqljunkies site to <a href="http://sqlblog.com/blogs/mosha/default.aspx">sqlblog</a> site. The transition started about a year ago. During this year I was posting every blog on both sites. This transition period has ended now, and from now on all the posts will be on sqlblog only. I apologize for all the inconvenience that it causes, but sqljunkies had too many problems to deal with, and the current owners didn't seem interested in fixing them. The sqlblog owners, on the other side, were were responsive and supportive, making sqlblog much more attractive solution for the blog publishers. The latest post is <a href="http://sqlblog.com/blogs/mosha/archive/2008/03/28/take-advantage-of-fe-caching-to-optimize-mdx-performance.aspx">Take advantage of FE caching to optimize MDX performance</a>.<img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=110688" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:110688 [pubDate] => Fri, 28 Mar 2008 23:48:00 GMT ) [14] => Array ( [title] => LINQ to extract object permission from SSAS [link] => http://www.sqljunkies.com/WebLog/sqlbi/archive/2008/03/28/110628.aspx [description] => <p>Yesterday one customer of mine encountered the <a href="http://support.microsoft.com/kb/933836">issue described in KB933836</a> and posted also by <a href="http://cwebbbi.spaces.live.com/blog/cns!7B84B0F2C239489A!978.entry?_c=BlogPart">Chris Sells</a>.</p> <p>The issue is that the deployment of a SSAS database always overwrite object permissions defined on database objects like cubes. The "keep existing roles" setting of deployment wizard does not preserve those information. I needed to solve the issue and I simply made a simple program that creates an XMLA file with object permissions that I need to restore after database deployment. I used LINQ and XML Literals in Visual Basic - <a href="http://www.microsoft.com/mspress/books/10827.aspx">I wrote a book about LINQ</a> and I have to find a reason for this, but I really think that LINQ saved my time.</p> <p>I will write a more complete article about this issue one day, may be... by now, if you have the same issue, you can contact me to get the code I wrote. If you don't need it, look at the readability of LINQ in a case like this.</p> <p><span><a href="http://sqlblog.com/blogs/marco_russo/WindowsLiveWriter/LINQtoextractobjectpermissionfromSSAS_9B05/image_2.png"><img height="342" alt="image" src="http://sqlblog.com/blogs/marco_russo/WindowsLiveWriter/LINQtoextractobjectpermissionfromSSAS_9B05/image_thumb.png" width="714" border="0"></a>&nbsp;</span></p> <p><span>If I will receive some request, I will consider to publish this simple tool.</span></p> <p><span>&nbsp;</p></span> <br><hr><br>Cross-posted from SQLBlog! - <a href="http://www.sqlblog.com">http://www.sqlblog.com</a><br><hr><br><img src="http://www.sqljunkies.com/WebLog/aggbug.aspx?PostID=110628" width="1" height="1"> [guid] => d2584c15-f6ef-46f7-a2d4-24fc0e143e76:110628 [pubDate] => Fri, 28 Mar 2008 10:01:33 GMT ) ) int(15)
15
SQLJunkies Blogs :: This newsfeed has a problem
sqljunkies @ the web & the world :: hundreds of fresh newsfeeds on schuirink.net
schuirink.net
main destinations: home | the web & the world | out of here
Google

news headlines

News headlines collected from 498 newsfeeds.

SQLJunkies Blogs

url: http://www.sqljunkies.com