<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Hans Olav's Repeatable Read</title>
    <link>http://hansolav.net/blog/</link>
    <description>SELECT * INTO dbo.Blog FROM world.[Technology and related stuff];</description>
    <language>en-us</language>
    <copyright>Hans Olav Norheim</copyright>
    <lastBuildDate>Wed, 11 Aug 2010 22:09:27 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.1.7341.768</generator>
    <managingEditor>hanorhei@c2i.net</managingEditor>
    <webMaster>hanorhei@c2i.net</webMaster>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=b1181e1c-547f-46cf-9dfd-d22590b78736</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,b1181e1c-547f-46cf-9dfd-d22590b78736.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,b1181e1c-547f-46cf-9dfd-d22590b78736.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=b1181e1c-547f-46cf-9dfd-d22590b78736</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Graph algorithms are part of most introductory classes to algorithms, but I have not
seen many implementations in SQL or T-SQL. I found it to be an interesting exercise
to implement some of the most common algorithms and publish the implementations for
for everybody to use.
</p>
        <p>
See here for the implementations: <a href="http://hansolav.net/sql/graphs.html">http://hansolav.net/sql/graphs.html</a></p>
        <p align="center">
          <img src="http://hansolav.net/sql/usa.png" width="400" />
        </p>
        <img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=b1181e1c-547f-46cf-9dfd-d22590b78736" />
      </body>
      <title>Graphs and Graph Algorithms in T-SQL</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,b1181e1c-547f-46cf-9dfd-d22590b78736.aspx</guid>
      <link>http://hansolav.net/blog/GraphsAndGraphAlgorithmsInTSQL.aspx</link>
      <pubDate>Wed, 11 Aug 2010 22:09:27 GMT</pubDate>
      <description>&lt;p&gt;
Graph algorithms are part of most introductory classes to algorithms, but I have not
seen many implementations in SQL or T-SQL. I found it to be an interesting exercise
to implement some of the most common algorithms and publish the implementations for
for everybody to use.
&lt;/p&gt;
&lt;p&gt;
See here for the implementations: &lt;a href="http://hansolav.net/sql/graphs.html"&gt;http://hansolav.net/sql/graphs.html&lt;/a&gt; 
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://hansolav.net/sql/usa.png" width="400" /&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=b1181e1c-547f-46cf-9dfd-d22590b78736" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,b1181e1c-547f-46cf-9dfd-d22590b78736.aspx</comments>
      <category>Coding</category>
      <category>Computer Science</category>
      <category>SQL Server</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=f8db1f0a-3a69-430d-b30f-41464af20a2c</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,f8db1f0a-3a69-430d-b30f-41464af20a2c.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,f8db1f0a-3a69-430d-b30f-41464af20a2c.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=f8db1f0a-3a69-430d-b30f-41464af20a2c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">A little while ago, I delivered my master
thesis and finished my Master of Technology in Computer Science degree at the Norwegian
University of Science and Technology. The thesis has the title <b>iAD: Query Optimization
in MARS</b>, and is about building a query optimizer for <a href="http://www.fast.no">Fast</a>'s
(now a subsidiary of <a href="http://www.microsoft.com">Microsoft</a>, they bought
them) new Enterprise Search solution. 
<br /><img src="http://hansolav.net/blog/content/binary/dag.jpg" align="right" /><br />
The report itself can be found here: <a href="http://hansolav.net/blog/content/binary/MasterReport.pdf">MasterReport.pdf</a>,
and the abstract is included below: 
<br /><blockquote><i><p>
This document is the report for the authors' joint effort in researching and designing
a query optimizer for Fast's next-generation search platform, known as MARS. The work
was done during our master thesis at the Department of Computer and Information Science
at the Norwegian University of Science and Technology, spring 2009.
</p><p>
MARS does not currently employ any form of query optimizer, but does have a parser
and a runtime system. The report therefore focuses on the core query optimizing aspects,
like plan generation and optimizer design. First, we give an introduction to query
optimizers and selected problems. Then, we describe previous and ongoing efforts regarding
query optimizers, before shifting focus to our own design and results.
</p><p>
MARS supports DAG-structured query plans for more efficient execution, which means
that the optimizer must do so too. This turned out to be a greater task than what
it might seem like -- since we must use algorithms that greatly differ from the optimizers
we were familiar with. The optimizer also needed to be extensible, including the ability
to deal with future query operators, as well as supporting arbitrary cost models.
</p><p>
During the course of the master's thesis, we have laid out the design of an optimizer
that satisfies these goals. The optimizer is able to recognize common subexpressions
and construct DAGs from non-DAG inputs. Extensibility is solved by loose coupling
between optimizer components. Rules are used to model operators, and the cost model
is a separate, customizable component. We have also implemented a prototype that demonstrates
that the design actually works.
</p><p>
The optimizer itself is designed as a separate component, not tied up to MARS. We
have been able tin inject it into the MARS query pipeline and run queries end-to-end
with optimization enabled, improving query evaluation time. For now, the project depends
on MARS assemblies, but reusing it for another engine and algebra is entirely feasible.
</p></i></blockquote><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=f8db1f0a-3a69-430d-b30f-41464af20a2c" /></body>
      <title>Master of Technology in Computer Science</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,f8db1f0a-3a69-430d-b30f-41464af20a2c.aspx</guid>
      <link>http://hansolav.net/blog/MasterOfTechnologyInComputerScience.aspx</link>
      <pubDate>Wed, 24 Mar 2010 03:07:19 GMT</pubDate>
      <description>A little while ago, I delivered my master thesis and finished my Master of Technology in Computer Science degree at the Norwegian University of Science and Technology. 

The thesis has the title &lt;b&gt;iAD:
Query Optimization in MARS&lt;/b&gt;, and is about building a query optimizer for &lt;a href="http://www.fast.no"&gt;Fast&lt;/a&gt;'s
(now a subsidiary of &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt;, they bought
them) new Enterprise Search solution. 
&lt;br&gt;
&lt;img src="http://hansolav.net/blog/content/binary/dag.jpg" align="right"&gt;
&lt;br&gt;
The report itself can be found here: &lt;a href="http://hansolav.net/blog/content/binary/MasterReport.pdf"&gt;MasterReport.pdf&lt;/a&gt;,
and the abstract is included below: 
&lt;br&gt;
&lt;blockquote&gt;&lt;i&gt; 
&lt;p&gt;
This document is the report for the authors' joint effort in researching and designing
a query optimizer for Fast's next-generation search platform, known as MARS. The work
was done during our master thesis at the Department of Computer and Information Science
at the Norwegian University of Science and Technology, spring 2009.
&lt;/p&gt;
&lt;p&gt;
MARS does not currently employ any form of query optimizer, but does have a parser
and a runtime system. The report therefore focuses on the core query optimizing aspects,
like plan generation and optimizer design. First, we give an introduction to query
optimizers and selected problems. Then, we describe previous and ongoing efforts regarding
query optimizers, before shifting focus to our own design and results.
&lt;/p&gt;
&lt;p&gt;
MARS supports DAG-structured query plans for more efficient execution, which means
that the optimizer must do so too. This turned out to be a greater task than what
it might seem like -- since we must use algorithms that greatly differ from the optimizers
we were familiar with. The optimizer also needed to be extensible, including the ability
to deal with future query operators, as well as supporting arbitrary cost models.
&lt;/p&gt;
&lt;p&gt;
During the course of the master's thesis, we have laid out the design of an optimizer
that satisfies these goals. The optimizer is able to recognize common subexpressions
and construct DAGs from non-DAG inputs. Extensibility is solved by loose coupling
between optimizer components. Rules are used to model operators, and the cost model
is a separate, customizable component. We have also implemented a prototype that demonstrates
that the design actually works.
&lt;/p&gt;
&lt;p&gt;
The optimizer itself is designed as a separate component, not tied up to MARS. We
have been able tin inject it into the MARS query pipeline and run queries end-to-end
with optimization enabled, improving query evaluation time. For now, the project depends
on MARS assemblies, but reusing it for another engine and algebra is entirely feasible.
&lt;/p&gt;
&lt;/i&gt;&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=f8db1f0a-3a69-430d-b30f-41464af20a2c" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,f8db1f0a-3a69-430d-b30f-41464af20a2c.aspx</comments>
      <category>Computer Science</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=4c80d7ca-623a-47af-8bca-448b65fb9946</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,4c80d7ca-623a-47af-8bca-448b65fb9946.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,4c80d7ca-623a-47af-8bca-448b65fb9946.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4c80d7ca-623a-47af-8bca-448b65fb9946</wfw:commentRss>
      <slash:comments>14</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://hansolav.net/blog/content/binary/images/icon.png" align="right" />I
while ago I developed a Windows Vista Sidebar Gadget for tracking packages shipped
using the Norwegian Postal Service, Posten - or Bring as they call themselves these
days.<br /><br />
A couple of users (thanks Haakon and Morten) made me aware of that it's not working
anymore. I've looked into it and found that Posten has changed the address to the
page I'm downloading the tracking data from.<br /><br />
I've now updated it, so it should be working again. It looks like there's a delay
for updating gadgets at the Live Gallery, so in the meantime you can download it <a href="http://hansolav.net/blog/content/binary/Pakkesporing.gadget">here</a>.<br /><br /><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=4c80d7ca-623a-47af-8bca-448b65fb9946" /></body>
      <title>Update for My Package Tracking Gadget</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,4c80d7ca-623a-47af-8bca-448b65fb9946.aspx</guid>
      <link>http://hansolav.net/blog/UpdateForMyPackageTrackingGadget.aspx</link>
      <pubDate>Tue, 07 Jul 2009 13:25:57 GMT</pubDate>
      <description>&lt;img src="http://hansolav.net/blog/content/binary/images/icon.png" align=right&gt;I while
ago I developed a Windows Vista Sidebar Gadget for tracking packages shipped using
the Norwegian Postal Service, Posten - or Bring as they call themselves these days.&lt;br&gt;
&lt;br&gt;
A couple of users (thanks Haakon and Morten) made me aware of that it's not working
anymore. I've looked into it and found that Posten has changed the address to the
page I'm downloading the tracking data from.&lt;br&gt;
&lt;br&gt;
I've now updated it, so it should be working again. It looks like there's a delay
for updating gadgets at the Live Gallery, so in the meantime you can download it &lt;a href="http://hansolav.net/blog/content/binary/Pakkesporing.gadget"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=4c80d7ca-623a-47af-8bca-448b65fb9946" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,4c80d7ca-623a-47af-8bca-448b65fb9946.aspx</comments>
      <category>Coding</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=d38e1245-2884-46b4-8943-a137405eca02</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,d38e1245-2884-46b4-8943-a137405eca02.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,d38e1245-2884-46b4-8943-a137405eca02.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d38e1245-2884-46b4-8943-a137405eca02</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">I'm in my last semester here at the Norwegian
University of Science and Technology, which means that I'm starting on my master thesis
these days. Actually, I'm not starting now, I'm continuing on the "pre-project" I
worked on together with my friend, Alex Brasetvik from August to December last year.<br /><br />
Our master thesis is about building a query optimizer for <a href="http://www.fast.no">Fast</a>'s
(now a subsidiary of <a href="http://www.microsoft.com">Microsoft</a>, they bought
them) new Enterprise Search solution. 
<br /><img src="http://hansolav.net/blog/content/binary/dag.jpg" align="right" /><br />
The report itself can be found here: <a href="http://hansolav.net/blog/content/binary/MasterProjectReport.pdf">MasterProjectReport.pdf</a>,
and the abstract is included below: 
<br /><blockquote><i>This document is the report for the authors’ joint eﬀort in researching
and designing a query optimizer for fast’s next-generation search platform, known
as MARS. This work was done during the pre-project to the master thesis at the Department
of Computer and Information Science at the Norwegian University of Science and Technology,
autumn 2008.<br /><br />
MARS does not currently employ any form of query optimizer, but does have a parser
and a runtime system. The report therefore focuses on the core query optimizing aspects,
like plan generation and optimizer design. First, we give an introduction to query
optimizers and selected problems. Then, we describe previous and ongoing eﬀorts regarding
query optimizers, before shifting focus to our own design and results.<br /><br />
MARS supports </i><i>DAG-structured query plans, which means that the optimizer must
do so too. This turned out to be a greater task than what it might seem like. The
optimizer also needed to be extensible, including the ability to deal with query operators
it does not know, as well as supporting arbitrary cost models.<br /><br />
During the course of the project, we have laid out the design of an optimizer we believe
satisfies these goals. DAGs are currently not </i><i>fully supported, but the design
can be extended to do so. Extensibility is solved by loose coupling between optimizer
components. </i><i>Rules are used to model operators, and the </i><i>cost model is
a separate, customizable component. We have also implemented a prototype that demonstrates
that the design actually works.<br /></i><br /></blockquote><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=d38e1245-2884-46b4-8943-a137405eca02" /></body>
      <title>Master of Technology in Computer Science Project</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,d38e1245-2884-46b4-8943-a137405eca02.aspx</guid>
      <link>http://hansolav.net/blog/MasterOfTechnologyInComputerScienceProject.aspx</link>
      <pubDate>Fri, 30 Jan 2009 02:08:08 GMT</pubDate>
      <description>I'm in my last semester here at the Norwegian University of Science and Technology, which means that I'm starting on my master thesis these days. Actually, I'm not starting now, I'm continuing on the "pre-project" I worked on together with my friend, Alex Brasetvik from August to December last year.&lt;br&gt;
&lt;br&gt;
Our master thesis is about building a query optimizer for &lt;a href="http://www.fast.no"&gt;Fast&lt;/a&gt;'s
(now a subsidiary of &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt;, they bought
them) new Enterprise Search solution. 
&lt;br&gt;
&lt;img src="http://hansolav.net/blog/content/binary/dag.jpg" align="right"&gt;
&lt;br&gt;
The report itself can be found here: &lt;a href="http://hansolav.net/blog/content/binary/MasterProjectReport.pdf"&gt;MasterProjectReport.pdf&lt;/a&gt;,
and the abstract is included below: 
&lt;br&gt;
&lt;blockquote&gt;&lt;i&gt;This document is the report for the authors’ joint eﬀort in researching
and designing a query optimizer for fast’s next-generation search platform, known
as MARS. This work was done during the pre-project to the master thesis at the Department
of Computer and Information Science at the Norwegian University of Science and Technology,
autumn 2008.&lt;br&gt;
&lt;br&gt;
MARS does not currently employ any form of query optimizer, but does have a parser
and a runtime system. The report therefore focuses on the core query optimizing aspects,
like plan generation and optimizer design. First, we give an introduction to query
optimizers and selected problems. Then, we describe previous and ongoing eﬀorts regarding
query optimizers, before shifting focus to our own design and results.&lt;br&gt;
&lt;br&gt;
MARS supports &lt;/i&gt;&lt;i&gt;DAG-structured query plans, which means that the optimizer must
do so too. This turned out to be a greater task than what it might seem like. The
optimizer also needed to be extensible, including the ability to deal with query operators
it does not know, as well as supporting arbitrary cost models.&lt;br&gt;
&lt;br&gt;
During the course of the project, we have laid out the design of an optimizer we believe
satisfies these goals. DAGs are currently not &lt;/i&gt;&lt;i&gt;fully supported, but the design
can be extended to do so. Extensibility is solved by loose coupling between optimizer
components. &lt;/i&gt;&lt;i&gt;Rules are used to model operators, and the &lt;/i&gt;&lt;i&gt;cost model is
a separate, customizable component. We have also implemented a prototype that demonstrates
that the design actually works.&lt;br&gt;
&lt;/i&gt;
&lt;br&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=d38e1245-2884-46b4-8943-a137405eca02" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,d38e1245-2884-46b4-8943-a137405eca02.aspx</comments>
      <category>Coding</category>
      <category>Computer Science</category>
      <category>Microsoft</category>
      <category>Studying</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=29b91c9d-1b54-4857-ab4f-2a3ef1292dab</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,29b91c9d-1b54-4857-ab4f-2a3ef1292dab.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,29b91c9d-1b54-4857-ab4f-2a3ef1292dab.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=29b91c9d-1b54-4857-ab4f-2a3ef1292dab</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">Here are the slides and T-SQL code I used
during Thursday's Norwegian .NET User Group presentation.<br />
I presented basic transaction processing with emphasis on concurrency and isolation.
I hope everyone had a good time. I definitely had a good time presenting.<br /><br />
I also got some really good questions, one of them being what would happen if SQL
Server were to lose the log file for one of its databases during operation. Since
I didn't give the full explanation at the presentation, I've written a blog post about
it. It can be found <a href="http://hansolav.net/blog/WhatHappensIfYouLoseTheDataFileMDFLogFileLDFOrBoth.aspx">here</a>.<br /><br />
Also, I mentioned that SQL Server 2008 RTM'ed (it's done!) on or sometime before 6th
of August with build number 10.0.1600.22. I didn't blog about it here since I was
OOF at the time :-)<br /><p></p><a href="http://hansolav.net/blog/content/binary/Transaksjoner,%20isolasjonsniv%C3%A5er%20og%20l%C3%A5sing%20i%20SQL%20Server.pptx">Transaksjoner,
isolasjonsnivåer og låsing i SQL Server.pptx (151.12 KB)</a><br /><a href="http://hansolav.net/blog/content/binary/NNUGDemos-2008-08-28-HON.zip">NNUGDemos-2008-08-28-HON.zip
(2.92 KB)</a><br /><br /><img src="http://hansolav.net/blog/content/binary/NNUG.png" /><br /><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=29b91c9d-1b54-4857-ab4f-2a3ef1292dab" /></body>
      <title>Slides and Code From Thursday's NNUG Session</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,29b91c9d-1b54-4857-ab4f-2a3ef1292dab.aspx</guid>
      <link>http://hansolav.net/blog/SlidesAndCodeFromThursdaysNNUGSession.aspx</link>
      <pubDate>Mon, 01 Sep 2008 20:32:15 GMT</pubDate>
      <description>Here are the slides and T-SQL code I used during Thursday's Norwegian .NET User Group presentation.&lt;br&gt;
I presented basic transaction processing with emphasis on concurrency and isolation.
I hope everyone had a good time. I definitely had a good time presenting.&lt;br&gt;
&lt;br&gt;
I also got some really good questions, one of them being what would happen if SQL
Server were to lose the log file for one of its databases during operation. Since
I didn't give the full explanation at the presentation, I've written a blog post about
it. It can be found &lt;a href="http://hansolav.net/blog/WhatHappensIfYouLoseTheDataFileMDFLogFileLDFOrBoth.aspx"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Also, I mentioned that SQL Server 2008 RTM'ed (it's done!) on or sometime before 6th
of August with build number 10.0.1600.22. I didn't blog about it here since I was
OOF at the time :-)&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;a href="http://hansolav.net/blog/content/binary/Transaksjoner,%20isolasjonsniv%C3%A5er%20og%20l%C3%A5sing%20i%20SQL%20Server.pptx"&gt;Transaksjoner,
isolasjonsnivåer og låsing i SQL Server.pptx (151.12 KB)&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://hansolav.net/blog/content/binary/NNUGDemos-2008-08-28-HON.zip"&gt;NNUGDemos-2008-08-28-HON.zip
(2.92 KB)&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;img src="http://hansolav.net/blog/content/binary/NNUG.png"&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=29b91c9d-1b54-4857-ab4f-2a3ef1292dab" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,29b91c9d-1b54-4857-ab4f-2a3ef1292dab.aspx</comments>
      <category>Presentations</category>
      <category>SQL Server</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=0af6301b-e71f-44be-838f-905709eee792</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,0af6301b-e71f-44be-838f-905709eee792.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,0af6301b-e71f-44be-838f-905709eee792.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=0af6301b-e71f-44be-838f-905709eee792</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">I got a question at a .NET Community Event
a few days ago about what would happen if SQL Server were to lose the log (LDF) or
data (MDF/NDFs) file for a database while in operation (e.g. the disk with the data
or log file on crashes). If I've got my SQL Server disaster recovery right, this should
be what would happen:<br /><br />
First, if <b>both data and log are lost</b>, it's simple - SQL Server will stop servicing
requests for that DB and we'll need to restore everything from our last backup (possibly
some minutes/hours/days old, depending on your backup scheme).<br /><img src="http://hansolav.net/blog/content/binary/harddrive.jpg" style="margin: 10px;" align="right" border="0" /><br />
Second, if the <b>data file is lost</b>, while the log is good, SQL Server will probably
stop servicing requests pretty quickly here too, but we shouldn't lose any data (assuming
we're running under the <b>full recovery model</b> and have taken at least one full
backup and have the log chain intact - that is, we haven't truncated the transaction
log and we've got all log backups since the last full or differential backup ready
for restore). We can just restore the last full backup, then the last differential
one and then all log backups consecutively, up to and including the tail of the log
that is still good.<br /><br />
Third, if the <b>log file is lost</b>, while the data file is good, we may have bigger
problems. SQL Server will at least stop servicing any requests involving writing to
the database, and we now have the potential to lose data.<br />
But wait - we have the complete data file - why would we lose data? The reason for
this is the way SQL Server handles buffering and recovery, using the <a href="http://en.wikipedia.org/wiki/Algorithms_for_Recovery_and_Isolation_Exploiting_Semantics">ARIES </a>algorithm.
ARIES uses a so-called STEAL/NO-FORCE approach to optimize performance for the buffer
pool (SQL Server's in-memory data cache), which basically means that data from <i>uncommitted </i>transactions
can be written to the MDF/NDFs on disk and that data from <i>committed </i>transactions
can still only reside in memory.<br /><br />
This means that if there are open transactions or any transactions have been writing
data to the database since the last <a href="http://msdn.microsoft.com/en-us/library/ms189573.aspx">checkpoint </a>at
the time of the crash (and possibly more scenarios), the data file is potentially
in an inconsistent state. Losing the log file in such a situation can cause database
corruption, broken constraints, half-finished transactions, lost data and all sorts
of crap, since SQL Server will not be able to roll back uncommitted transactions or
roll forward committed ones.<br /><br />
If the log is lost, it can be rebuilt using <a href="http://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/18/636105.aspx"><i>Emergency
Mode Repair</i></a>, but as Paul S. Randall (former SQL Server employee) describes <a href="http://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/15/632398.aspx">here</a>,
this is something that shouldn't be done unless you're out of other options.<br /><br />
So, the only way to ensure you don't lose data is, once again, a plan for <b>backup </b>and <b>disaster
recovery</b>. Murphy states that if you don't, you WILL find yourself in deep shit
at some time in the future.<br /><br />
And when we're on the topic of losing the log - I've seen some pretty ridiculous ways
of reducing the size of your log file around different forums. I've seen posts advising
people to just delete or rebuild the log file whenever it gets too big. <b>That is
a pretty bad piece of advise </b>(unless you know what you're doing and are checkpointing
or detaching the database first)<b>.</b> Rebuilding the log is, due to the reasons
above, a pretty quick and handy way of inducing corruption into your database. To
reduce the size of your transaction log, back it up using the BACKUP LOG statement,
optionally shrinking the log files afterward.<br /><br />
So, do you agree with me? Feel free to post comments if I've got something wrong.<br /><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=0af6301b-e71f-44be-838f-905709eee792" /></body>
      <title>What Happens If You Lose the Data File (MDF), Log File (LDF) or Both?</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,0af6301b-e71f-44be-838f-905709eee792.aspx</guid>
      <link>http://hansolav.net/blog/WhatHappensIfYouLoseTheDataFileMDFLogFileLDFOrBoth.aspx</link>
      <pubDate>Mon, 01 Sep 2008 17:37:09 GMT</pubDate>
      <description>I got a question at a .NET Community Event a few days ago about what would happen if SQL Server were to lose the log (LDF) or data (MDF/NDFs) file for a database while in operation (e.g. the disk with the data or log file on crashes). If I've got my SQL Server disaster recovery right, this should be what would happen:&lt;br&gt;
&lt;br&gt;
First, if &lt;b&gt;both data and log are lost&lt;/b&gt;, it's simple - SQL Server will stop servicing
requests for that DB and we'll need to restore everything from our last backup (possibly
some minutes/hours/days old, depending on your backup scheme).&lt;br&gt;
&lt;img src="http://hansolav.net/blog/content/binary/harddrive.jpg" style="margin: 10px;" align="right" border="0"&gt;
&lt;br&gt;
Second, if the &lt;b&gt;data file is lost&lt;/b&gt;, while the log is good, SQL Server will probably
stop servicing requests pretty quickly here too, but we shouldn't lose any data (assuming
we're running under the &lt;b&gt;full recovery model&lt;/b&gt; and have taken at least one full
backup and have the log chain intact - that is, we haven't truncated the transaction
log and we've got all log backups since the last full or differential backup ready
for restore). We can just restore the last full backup, then the last differential
one and then all log backups consecutively, up to and including the tail of the log
that is still good.&lt;br&gt;
&lt;br&gt;
Third, if the &lt;b&gt;log file is lost&lt;/b&gt;, while the data file is good, we may have bigger
problems. SQL Server will at least stop servicing any requests involving writing to
the database, and we now have the potential to lose data.&lt;br&gt;
But wait - we have the complete data file - why would we lose data? The reason for
this is the way SQL Server handles buffering and recovery, using the &lt;a href="http://en.wikipedia.org/wiki/Algorithms_for_Recovery_and_Isolation_Exploiting_Semantics"&gt;ARIES &lt;/a&gt;algorithm.
ARIES uses a so-called STEAL/NO-FORCE approach to optimize performance for the buffer
pool (SQL Server's in-memory data cache), which basically means that data from &lt;i&gt;uncommitted &lt;/i&gt;transactions
can be written to the MDF/NDFs on disk and that data from &lt;i&gt;committed &lt;/i&gt;transactions
can still only reside in memory.&lt;br&gt;
&lt;br&gt;
This means that if there are open transactions or any transactions have been writing
data to the database since the last &lt;a href="http://msdn.microsoft.com/en-us/library/ms189573.aspx"&gt;checkpoint &lt;/a&gt;at
the time of the crash (and possibly more scenarios), the data file is potentially
in an inconsistent state. Losing the log file in such a situation can cause database
corruption, broken constraints, half-finished transactions, lost data and all sorts
of crap, since SQL Server will not be able to roll back uncommitted transactions or
roll forward committed ones.&lt;br&gt;
&lt;br&gt;
If the log is lost, it can be rebuilt using &lt;a href="http://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/18/636105.aspx"&gt;&lt;i&gt;Emergency
Mode Repair&lt;/i&gt;&lt;/a&gt;, but as Paul S. Randall (former SQL Server employee) describes &lt;a href="http://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/15/632398.aspx"&gt;here&lt;/a&gt;,
this is something that shouldn't be done unless you're out of other options.&lt;br&gt;
&lt;br&gt;
So, the only way to ensure you don't lose data is, once again, a plan for &lt;b&gt;backup &lt;/b&gt;and &lt;b&gt;disaster
recovery&lt;/b&gt;. Murphy states that if you don't, you WILL find yourself in deep shit
at some time in the future.&lt;br&gt;
&lt;br&gt;
And when we're on the topic of losing the log - I've seen some pretty ridiculous ways
of reducing the size of your log file around different forums. I've seen posts advising
people to just delete or rebuild the log file whenever it gets too big. &lt;b&gt;That is
a pretty bad piece of advise &lt;/b&gt;(unless you know what you're doing and are checkpointing
or detaching the database first)&lt;b&gt;.&lt;/b&gt; Rebuilding the log is, due to the reasons
above, a pretty quick and handy way of inducing corruption into your database. To
reduce the size of your transaction log, back it up using the BACKUP LOG statement,
optionally shrinking the log files afterward.&lt;br&gt;
&lt;br&gt;
So, do you agree with me? Feel free to post comments if I've got something wrong.&lt;br&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=0af6301b-e71f-44be-838f-905709eee792" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,0af6301b-e71f-44be-838f-905709eee792.aspx</comments>
      <category>SQL Server</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=2f446105-88ab-432e-ac85-fd2b68d060f5</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,2f446105-88ab-432e-ac85-fd2b68d060f5.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,2f446105-88ab-432e-ac85-fd2b68d060f5.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=2f446105-88ab-432e-ac85-fd2b68d060f5</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">A few months ago <a href="http://hansolav.net/blog/NewsOnSQLServer2008RTMDate.aspx">I
wrote</a> that a SQL Server 2008 RC (Release Candidate) was scheduled for Q2 this
year.<br /><br />
Looks like Microsoft is staying on their schedule - RC0 was just released to MSDN
and TechNet subscribers!<br /><br /><b>EDIT: </b>RC0 is now available <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=35F53843-03F7-4ED5-8142-24A4C024CA05&amp;displaylang=en">here </a>for
the public as well.<br /><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=2f446105-88ab-432e-ac85-fd2b68d060f5" /></body>
      <title>SQL Server 2008 RC0</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,2f446105-88ab-432e-ac85-fd2b68d060f5.aspx</guid>
      <link>http://hansolav.net/blog/SQLServer2008RC0.aspx</link>
      <pubDate>Sat, 07 Jun 2008 03:58:05 GMT</pubDate>
      <description>A few months ago &lt;a href="http://hansolav.net/blog/NewsOnSQLServer2008RTMDate.aspx"&gt;I
wrote&lt;/a&gt; that a SQL Server 2008 RC (Release Candidate) was scheduled for Q2 this
year.&lt;br&gt;
&lt;br&gt;
Looks like Microsoft is staying on their schedule - RC0 was just released to MSDN
and TechNet subscribers!&lt;br&gt;
&lt;br&gt;
&lt;b&gt;EDIT: &lt;/b&gt;RC0 is now available &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=35F53843-03F7-4ED5-8142-24A4C024CA05&amp;amp;displaylang=en"&gt;here &lt;/a&gt;for
the public as well.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=2f446105-88ab-432e-ac85-fd2b68d060f5" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,2f446105-88ab-432e-ac85-fd2b68d060f5.aspx</comments>
      <category>SQL Server</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=987894a9-22c4-4bd4-87cb-d3a3be08c735</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,987894a9-22c4-4bd4-87cb-d3a3be08c735.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,987894a9-22c4-4bd4-87cb-d3a3be08c735.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=987894a9-22c4-4bd4-87cb-d3a3be08c735</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">Microsoft has published SQL Server's new
logo:<br /><br /><img src="http://i.microsoft.com/global/sqlserver/2008/en/us/PublishingImages/logo-header-sql08-dg.gif" /><br /><br /><br />
I think it looks good :-)<br /><br />
Courtesy of Wesley from <a temp_href="Courtesy of Wesley from http://blogs.msdn.com/wesleyb/archive/2008/06/03/sql-server-logo.aspx" href="Courtesy%20of%20Wesley%20from%20http://blogs.msdn.com/wesleyb/archive/2008/06/03/sql-server-logo.aspx">http://blogs.msdn.com/wesleyb/archive/2008/06/03/sql-server-logo.aspx</a><br /><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=987894a9-22c4-4bd4-87cb-d3a3be08c735" /></body>
      <title>New SQL Server Logo</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,987894a9-22c4-4bd4-87cb-d3a3be08c735.aspx</guid>
      <link>http://hansolav.net/blog/NewSQLServerLogo.aspx</link>
      <pubDate>Wed, 04 Jun 2008 01:58:52 GMT</pubDate>
      <description>Microsoft has published SQL Server's new logo:&lt;br&gt;
&lt;br&gt;
&lt;img src="http://i.microsoft.com/global/sqlserver/2008/en/us/PublishingImages/logo-header-sql08-dg.gif"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
I think it looks good :-)&lt;br&gt;
&lt;br&gt;
Courtesy of Wesley from &lt;a temp_href="Courtesy of Wesley from http://blogs.msdn.com/wesleyb/archive/2008/06/03/sql-server-logo.aspx" href="Courtesy%20of%20Wesley%20from%20http://blogs.msdn.com/wesleyb/archive/2008/06/03/sql-server-logo.aspx"&gt;http://blogs.msdn.com/wesleyb/archive/2008/06/03/sql-server-logo.aspx&lt;/a&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=987894a9-22c4-4bd4-87cb-d3a3be08c735" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,987894a9-22c4-4bd4-87cb-d3a3be08c735.aspx</comments>
      <category>Microsoft</category>
      <category>SQL Server</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">I recently wrote a paper at school about
how flash memory impacts the database world. Those who are interested can read it
here: <a href="http://hansolav.net/blog/content/binary/HowFlashMemory.pdf">How Flash
Memory Changes the DBMS World - An Introduction</a><br /><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c" /></body>
      <title>Flash Memory and the DBMS World</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c.aspx</guid>
      <link>http://hansolav.net/blog/FlashMemoryAndTheDBMSWorld.aspx</link>
      <pubDate>Fri, 09 May 2008 14:30:30 GMT</pubDate>
      <description>I recently wrote a paper at school about how flash memory impacts the database world. Those who are interested can read it here: &lt;a href="http://hansolav.net/blog/content/binary/HowFlashMemory.pdf"&gt;How
Flash Memory Changes the DBMS World - An Introduction&lt;/a&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c.aspx</comments>
      <category>Computer Science</category>
      <category>Studying</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=1944e2db-e02d-4ce3-8e1e-148184656380</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,1944e2db-e02d-4ce3-8e1e-148184656380.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,1944e2db-e02d-4ce3-8e1e-148184656380.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1944e2db-e02d-4ce3-8e1e-148184656380</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">As promised, here are the resources from
the SQL Server 2008 presentation I did at NTNU 5/3. For those of you that didn't attend,
I still recommend you to take a look at the links below. I hope everyone had a good
time hearing about PowerShell, Reporting Services, and geospatial support - I sure
did have a good time presenting it.<br /><br /><b>Visual Studio</b><br />
How to configue Visual Studio to Debug .NET Framework Source Code: <a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx">http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx</a><br /><br /><b>SQL Server and PowerShell:<br /></b>The PowerShell script for selecting data: <a href="http://hansolav.net/blog/content/binary/powershellsql.txt">http://hansolav.net/blog/content/binary/powershellsql.txt</a><br />
Microsoft SQL Server Homepage: <a href="http://www.microsoft.com/sql">http://www.microsoft.com/sql</a><br /><br /><b>Reporting Services</b><br />
The report I created with Reporting Services: <a href="http://hansolav.net/blog/content/binary/report.rdl.txt">http://hansolav.net/blog/content/binary/report.rdl.txt</a> (rename
to .rdl)<br /><br /><b>Geospatial</b><br />
The spatial queries: <a href="http://hansolav.net/blog/content/binary/spatial.sql.txt">http://hansolav.net/blog/content/binary/spatial.sql.txt</a><br />
Utilities for loading shapefiles into SQL Server and visualizing spatial query results: <a href="http://www.sharpgis.net/post/2007/12/Shapefile-to-SqlServer-2008-to-WPF.aspx">http://www.sharpgis.net/post/2007/12/Shapefile-to-SqlServer-2008-to-WPF.aspx<br /></a>Background image for the visualization tool: <a href="http://visibleearth.nasa.gov/view_rec.php?id=7105">http://visibleearth.nasa.gov/view_rec.php?id=7105</a><br />
Some shapefiles:<br /><a href="http://www.census.gov/geo/www/cob/bdy_files.html">http://www.census.gov/geo/www/cob/bdy_files.html</a><br /><a href="http://www.geog.ucsb.edu/%7Eta176/g176b/lab6/lab6_data.zip">http://www.geog.ucsb.edu/~ta176/g176b/lab6/lab6_data.zip</a><br /><a href="http://www.cipotato.org/diva/data/MoreData.htm">http://www.cipotato.org/diva/data/MoreData.htm</a><br /><a href="http://biogeo.berkeley.edu/bgm/gdata.php">http://biogeo.berkeley.edu/bgm/gdata.php</a><br /><br /><a href="http://visibleearth.nasa.gov/view_rec.php?id=7105"></a>Another visualization
tool that I didn't use: <a href="http://conceptdevelopment.net/Database/Geoquery/">http://conceptdevelopment.net/Database/Geoquery/</a><br />
Isaac's blog on MSDN: <a href="http://blogs.msdn.com/isaac/default.aspx">http://blogs.msdn.com/isaac/default.aspx</a><a href="http://www.microsoft.com/sql"></a><br />
The SQL Server Battleship game that I mentioned: <a href="http://www.conceptdevelopment.net/Database/Battleship2008/">http://www.conceptdevelopment.net/Database/Battleship2008/</a><a href="http://www.microsoft.com/sql"></a><br /><br /><b>Imagine Cup</b><br />
More information about Imagine Cup: <a href="http://msstudent.no/ImagineCupNorge/ImagineCup2008/tabid/647/Default.aspx">http://msstudent.no/ImagineCupNorge/ImagineCup2008/tabid/647/Default.aspx</a><br /><br />
Feel free to send me questions at hansolav *AT* hansolav.net.<br /><br /><div align="center"><img src="http://hansolav.net/blog/content/binary/images/geospatial.jpg" /><br /></div><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=1944e2db-e02d-4ce3-8e1e-148184656380" /></body>
      <title>Resources from SQL Server 2008 Presentation</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,1944e2db-e02d-4ce3-8e1e-148184656380.aspx</guid>
      <link>http://hansolav.net/blog/ResourcesFromSQLServer2008Presentation.aspx</link>
      <pubDate>Thu, 06 Mar 2008 01:44:03 GMT</pubDate>
      <description>As promised, here are the resources from the SQL Server 2008 presentation I did at NTNU 5/3. For those of you that didn't attend, I still recommend you to take a look at the links below. I hope everyone had a good time hearing about PowerShell, Reporting Services, and geospatial support - I sure did have a good time presenting it.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Visual Studio&lt;/b&gt;
&lt;br&gt;
How to configue Visual Studio to Debug .NET Framework Source Code: &lt;a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx"&gt;http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;SQL Server and PowerShell:&lt;br&gt;
&lt;/b&gt;The PowerShell script for selecting data: &lt;a href="http://hansolav.net/blog/content/binary/powershellsql.txt"&gt;http://hansolav.net/blog/content/binary/powershellsql.txt&lt;/a&gt;
&lt;br&gt;
Microsoft SQL Server Homepage: &lt;a href="http://www.microsoft.com/sql"&gt;http://www.microsoft.com/sql&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Reporting Services&lt;/b&gt;
&lt;br&gt;
The report I created with Reporting Services: &lt;a href="http://hansolav.net/blog/content/binary/report.rdl.txt"&gt;http://hansolav.net/blog/content/binary/report.rdl.txt&lt;/a&gt; (rename
to .rdl)&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Geospatial&lt;/b&gt;
&lt;br&gt;
The spatial queries: &lt;a href="http://hansolav.net/blog/content/binary/spatial.sql.txt"&gt;http://hansolav.net/blog/content/binary/spatial.sql.txt&lt;/a&gt;
&lt;br&gt;
Utilities for loading shapefiles into SQL Server and visualizing spatial query results: &lt;a href="http://www.sharpgis.net/post/2007/12/Shapefile-to-SqlServer-2008-to-WPF.aspx"&gt;http://www.sharpgis.net/post/2007/12/Shapefile-to-SqlServer-2008-to-WPF.aspx&lt;br&gt;
&lt;/a&gt;Background image for the visualization tool: &lt;a href="http://visibleearth.nasa.gov/view_rec.php?id=7105"&gt;http://visibleearth.nasa.gov/view_rec.php?id=7105&lt;/a&gt;
&lt;br&gt;
Some shapefiles:&lt;br&gt;
&lt;a href="http://www.census.gov/geo/www/cob/bdy_files.html"&gt;http://www.census.gov/geo/www/cob/bdy_files.html&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.geog.ucsb.edu/%7Eta176/g176b/lab6/lab6_data.zip"&gt;http://www.geog.ucsb.edu/~ta176/g176b/lab6/lab6_data.zip&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.cipotato.org/diva/data/MoreData.htm"&gt;http://www.cipotato.org/diva/data/MoreData.htm&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://biogeo.berkeley.edu/bgm/gdata.php"&gt;http://biogeo.berkeley.edu/bgm/gdata.php&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://visibleearth.nasa.gov/view_rec.php?id=7105"&gt;&lt;/a&gt;Another visualization
tool that I didn't use: &lt;a href="http://conceptdevelopment.net/Database/Geoquery/"&gt;http://conceptdevelopment.net/Database/Geoquery/&lt;/a&gt;
&lt;br&gt;
Isaac's blog on MSDN: &lt;a href="http://blogs.msdn.com/isaac/default.aspx"&gt;http://blogs.msdn.com/isaac/default.aspx&lt;/a&gt;&lt;a href="http://www.microsoft.com/sql"&gt;&lt;/a&gt;
&lt;br&gt;
The SQL Server Battleship game that I mentioned: &lt;a href="http://www.conceptdevelopment.net/Database/Battleship2008/"&gt;http://www.conceptdevelopment.net/Database/Battleship2008/&lt;/a&gt;&lt;a href="http://www.microsoft.com/sql"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Imagine Cup&lt;/b&gt;
&lt;br&gt;
More information about Imagine Cup: &lt;a href="http://msstudent.no/ImagineCupNorge/ImagineCup2008/tabid/647/Default.aspx"&gt;http://msstudent.no/ImagineCupNorge/ImagineCup2008/tabid/647/Default.aspx&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Feel free to send me questions at hansolav *AT* hansolav.net.&lt;br&gt;
&lt;br&gt;
&lt;div align="center"&gt;&lt;img src="http://hansolav.net/blog/content/binary/images/geospatial.jpg"&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=1944e2db-e02d-4ce3-8e1e-148184656380" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,1944e2db-e02d-4ce3-8e1e-148184656380.aspx</comments>
      <category>SQL Server</category>
    </item>
    <item>
      <trackback:ping>http://hansolav.net/blog/Trackback.aspx?guid=053c54b7-9c1e-40dd-b33a-8f866320a5a5</trackback:ping>
      <pingback:server>http://hansolav.net/blog/pingback.aspx</pingback:server>
      <pingback:target>http://hansolav.net/blog/PermaLink,guid,053c54b7-9c1e-40dd-b33a-8f866320a5a5.aspx</pingback:target>
      <dc:creator>Hans Olav Norheim</dc:creator>
      <wfw:comment>http://hansolav.net/blog/CommentView,guid,053c54b7-9c1e-40dd-b33a-8f866320a5a5.aspx</wfw:comment>
      <wfw:commentRss>http://hansolav.net/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=053c54b7-9c1e-40dd-b33a-8f866320a5a5</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">...is out!<br /><br />
Download it here: <a href="http://www.microsoft.com/downloads/details.aspx?familyid=749bd760-f404-4d45-9ac0-d7f1b3ed1053&amp;displaylang=en&amp;tm">http://www.microsoft.com/downloads/details.aspx?familyid=749bd760-f404-4d45-9ac0-d7f1b3ed1053&amp;displaylang=en&amp;tm</a><br /><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=053c54b7-9c1e-40dd-b33a-8f866320a5a5" /></body>
      <title>SQL2008 February CTP ...</title>
      <guid isPermaLink="false">http://hansolav.net/blog/PermaLink,guid,053c54b7-9c1e-40dd-b33a-8f866320a5a5.aspx</guid>
      <link>http://hansolav.net/blog/SQL2008FebruaryCTP.aspx</link>
      <pubDate>Thu, 21 Feb 2008 14:50:37 GMT</pubDate>
      <description>...is out!&lt;br&gt;
&lt;br&gt;
Download it here: &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=749bd760-f404-4d45-9ac0-d7f1b3ed1053&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=749bd760-f404-4d45-9ac0-d7f1b3ed1053&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=053c54b7-9c1e-40dd-b33a-8f866320a5a5" /&gt;</description>
      <comments>http://hansolav.net/blog/CommentView,guid,053c54b7-9c1e-40dd-b33a-8f866320a5a5.aspx</comments>
    </item>
  </channel>
</rss>