Tuesday, July 31, 2007

Cannot resolve collation conflict for equal to operation

You set up your linked server, you write a query which joins two tables, you execute the query and the error message is this
Cannot resolve collation conflict for equal to operation

What does this mean? This mean that the collation on the two tables is different

Let's look at an example. Le's create two tables, onme with Traditional_Spanish_CI_AI collation and one with the default. The default collation for me is SQL_Latin1_General_CP1_CI_AS.

CREATE TABLE #Foo (SomeCol varchar(50) COLLATE Traditional_Spanish_CI_AI)
CREATE TABLE #Foo2 (SomeCol varchar(50))



Now run this query and you will get the error message

JOIN #Foo2 f2 ON f1.SomeCol = f2.SomeCol

Server: Msg 446, Level 16, State 9, Line 1
Cannot resolve collation conflict for equal to operation.

Now add COLLATE Traditional_Spanish_CI_AI to #Foo2 SomeCol

JOIN #Foo2 f2 ON f1.SomeCol = f2.SomeCol COLLATE Traditional_Spanish_CI_AI

That works, if you add COLLATE SQL_Latin1_General_CP1_CI_AS to #Foo SomeCol that will work also

JOIN #Foo2 f2 ON f1.SomeCol COLLATE SQL_Latin1_General_CP1_CI_AS = f2.SomeCol

If you want to know what these collations mean then run the following query (yes that is not a typo it is indeed ::).

FROM ::fn_helpcollations()
WHERE name in('SQL_Latin1_General_CP1_CI_AS','Traditional_Spanish_CI_AI')


width-insensitive for Unicode Data,
SQL Server Sort Order 52 on Code Page 1252 for non-Unicode Data

Bunch Of Silverlight Links

A couple of Silverlight links

Introduction to Microsoft Silverlight for Developers (Webcast)
Silverlight Error Codes explained
How to show a line being drawn
Setting up a Silverlight development environment
Encoding Silverlight Video with GPS coordinates
Silverlight and Camtasia

Video: First Look at Visual Studio .NET 2008 and the LinqDataSource Control

Visual Studio .NET 2008 provides many new features that will definitely enhance developer productivity. In this video tutorial I provide an introductory look at VS.NET 2008 and show a few features such as multi-targeting, split view, and the LinqDataSource control. In the video you'll see how to build an ASP.NET page that retrieves data from a data context object (created with the new LINQ to SQL designer) and binds it to various controls using the LinqDataSource control.

Watch the video here: http://blogs.interfacett.com/dan-wahlins-blog/2007/7/27/video-first-look-at-visual-studio-net-2008-and-the-linqdatas.html

Monday, July 30, 2007

Screencast: Enabling LINQ: Kit George Shows Off His Favorite VB 9.0 Language Features

Channel 9 has published their latest screen cast. from the site:

In this interview Kit George, a Program Manager on the Visual Basic Team and a former member of the CLR Team, shows us his favorite language features that enable LINQ without actually talking about the queries themselves. His excitement about Extension Methods, Anonymous Types, Object Initializers, Type Inference and the new Refactor! shows through in typical Kit fashion. It's an interview that's as much fun to watch as it was to produce!

00:00 Intro
01:22 Extension Methods
07:31 Anonymous Types and Refactor!
13:16 Object Initializers
14:15 Type Inference
17:30 Option Infer
21:41 Making Inferred Types Explicit with Refactor!

Watch the screencast(WMV)

Best Traffic Sign Ever

Friday, July 27, 2007

Video: S. Somasegar (Soma) and Scott Guthrie on Orcas Beta 2: What's in it?

Channel 9 has posted their latest video:
Visual Studio 2008 Code Name "Orcas" Beta 2 has just hit the wire and, since it's Beta 2, this means VS2008 is feature complete (oh, and it's GoLive! as well)!!!

"Orcas" represents a major evolution for Visual Studio and our suite of .NET languages. Who better to talk about what's new in "Orcas" than our friends S. Somasegar (Everybody calls him Soma), VP of the Developer Division (the group that makes all of our development technologies), and Scott Guthrie, General Manager and one of Microsoft's most prolific employees (now a senior manager, but he keeps his hands in the technologies he and team build and innovate).

Here, we talk about what's new, exactly, why you (the developer) should care about it, what's changed from Beta 1 to Beta 2, what's the general process of building "Orcas" (we will dig deeper into this with the folks who drive the new, improved development process in the Developer Division), how feature cut decisions are made.

In this conversation, Scott makes a very interesting comment about the state of .NET languages like VB9 and C# 3.0: In his mind, they represent the most dramatic change since .NET 1.0 in terms of power and productivity.

As always, it's great to chat with Soma and Scott. DevDiv is loaded with talent, from top to bottom.

Play with Beta 2!


Listen to the podcast(MP3)
Listen to the podcast(WMA)
Download the Video
Watch the Video

Thursday, July 26, 2007

Visual Studio 2008 Beta 2 is here

Visual Studio Team System 2008 Beta 2 Team Suite (VPC)
Microsoft Visual Studio 2008 is the next-generation development tool for Windows Vista, the 2007 Office System, and the Web.

Visual Studio 2008 Beta 2 Standard Edition
Microsoft Visual Studio 2008 is the next-generation development tool for Windows Vista, the 2007 Office System, and the Web.

Visual Studio 2008 Beta 2 Team Foundation Server (VPC)
Microsoft Visual Studio 2008 is the next-generation development tool for Windows Vista, the 2007 Office System, and the Web.

MSDN Library for Visual Studio 2008 Beta 2
MSDN Library provides access to essential programming information, including technical reference documentations, white papers, software development kits and code samples necessary to develop web services and applications. This is an updated version of the MSDN Library for Visual Studio 2008 Beta 2.

Visual Studio Team System 2008 Beta 2 Team Suite
Microsoft Visual Studio 2008 is the next-generation development tool for Windows Vista, the 2007 Office System, and the Web.

Visual Studio 2008 Beta 2 Professional Edition
Microsoft Visual Studio 2008 is the next-generation development tool for Windows Vista, the 2007 Office System, and the Web.

Visual Studio 2008 Beta 2 Team Foundation Server
Microsoft Visual Studio 2008 is the next-generation development tool for Windows Vista, the 2007 Office System, and the Web.

Visual Studio Code Name "Orcas" Beta 1 Professional (self-extracting install)
Microsoft Visual Studio Code Name "Orcas" is the next generation development tool for Windows Vista, the 2007 Office System, and the Web.

Visual Studio Code Name "Orcas" Beta 1 Team Foundation Server (VPC)
Microsoft Visual Studio Code Name "Orcas" is the next generation development tool for Windows Vista, the 2007 Office System, and the Web.

Wednesday, July 25, 2007

.NET Dynamic Languages Group on Facebook

Facebook has a .NET Dynamic Languages Group

Here is the URL: http://www.facebook.com/group.php?gid=2430928882

Some members you might know
Miguel De Icaza
Scott Hanselman
John Lam

YSlow: Speed up your web pages

YSlow analyzes web pages and tells you why they're slow based on the rules for high performance web sites. YSlow is a Firefox add-on integrated with the popular Firebug web development tool. YSlow gives you:
Performance report card
HTTP/HTML summary
List of components in the page
Tools including JSLint

Learn more and download YSlow here: http://developer.yahoo.com/yslow/

Tuesday, July 24, 2007

Screencast: Performance Improvements in Visual Studio 2008

Channel 9 has posted their latest screen cast:
In this interview Cameron McColl, a Developer on the Visual Basic Team, shows us what kinds of performance improvements were made in Visual Studio 2008. He walks us through a set of scenarios that suffered from performance issues and then shows us the same scenarios in Visual Studio 2008 describing what was happening and how they fixed the issues.

0:00 Intro / History
1:45 Stepping in the IDE
4:08 Too Many Errors in the Task List
6:18 Favorite Fix
7:48 IDE Locks Up on Large Solutions
11:42 Editor Delay with Large Web Apps
13:56 Rebuild All on Large Web Apps

Watch the screencast(WMV)

Screencast: Preparing for Silverlight Release Candidate

A quick screencast showing some simple steps in preparing your Silverlight 1.0 applications for the release candiate. We walk through 2 samples on silverlight.net and prep them for RC.

This is a very simple screencast demonstrating some of the more required steps. Every preparation for your sample may vary depending on the amount of code, but this is intended to show you some quick steps.

Watch the screencast(WMV)

Visual Studio Team Edition for Database Professionals Service Release 1 Released

Visual Studio Team Edition for Database Professionals Service Release 1 has been Released

This service release addresses the top issues that were found through feedback from customers and partners. This release includes the following features:

• Cross-database references

Support is improved to enable you to reference objects in different databases by using database project references or referencing a database metafile (.dbmeta). This support will reduce or eliminate the cross database reference warnings within a database project.

• Improved file support within SQL Server file groups

You may define files within file groups as database project properties instead of having to create files and file groups within the pre-deployment storage script.

• Variables

A Variables page is added to the database properties. This new page enables you to define setvar variables for use in the deployment scripts. Additionally, SR1 supports the latest service pack release from Microsoft SQL Server 2005 (SP2). The SR1 also supports the Windows Vista operating system.

The knowledge base (KB) article describing this service release is here http://support.microsoft.com/kb/936612/

The actual download is here:

Monday, July 23, 2007

Why Robert Scoble Is Not Yet Another Promiscuous Web 2.0 Whore

Why did Robert Scoble leave Microsoft for PodTech where he is Vice President of Media Development? The reason is because Robert Scoble gets Web 2.0 and het gets it big time. You want to be a friend of Robert Scoble on facebook? No problem he will add you. You want to be a friend on Pownce? No problem either, Scoble adds everyone everywhere. Right now he has 1557 friends on Pwonce (http://pownce.com/Scobleizer/) and 3757 friends on facebook(http://www.facebook.com/profile.php?id=501319654)

Now why on earth would a person do such a thing? Is it an “I have more friends than you” thing? No, Robert Scoble is going to create a marketing department’s wet dream: a huge target audience. That is right, once Scoble has the numbers he is looking for PodTech will take off big time. He posts on Pownce and 1557 people get the message, he posts on facebook and 3757 will get his message. I am not even covering Jaiku or twitter here. Advertisers will love this man, who can blame them? What is your opinion?

IronRuby Pre-Alpha Has Been Released

A pre-alpha version of IronRuby has been released. John Lam writes:

We've been working very hard over the past couple of months to get our first source code release ready. I'm happy to announce today the first drop of the IronRuby source code. IronRuby is licensed under very liberal terms as set out by the Microsoft Permissive License.
We're also happy to announce that we will be accepting source code contributions into the IronRuby libraries. Right now we have a lot of logistical work that we still need to do, but we fully intend on getting IronRuby onto Rubyforge by the end of August.

Read the rest here: http://www.iunknown.com/2007/07/a-first-look-at.html

SQL Server Podcast: James Luetkehoelter Talks About Disaster Recovery Planning

SQL Down Under has made available their latest podcast. From the site:

Announcing show 23 with SQL Server MVP James Luetkehoelter. In this show, James discusses disaster recovery planning and technology for SQL Server, clustering, log shipping, mirroring and snapshots.
Dowmload it here: http://www.sqldownunder.com/

Microsoft Robotics Studio and Lego Mindstorms NXT Programming Article

Coding4Fun has punlished their latest article: Microsoft Robotics Studio and Lego Mindstorms NXT
In this article, Brian Peek will demonstrate how to use Microsoft Robotics Studio to control the Lego Mindstorms NXT kit. A simple remote-controlled robot will be built and controlled using C# and the MSRS Visual Programming Language (VPL).

Thursday, July 19, 2007

SQL Server 2005 tempdb tip

When upgrading to SQL server 2005 you already know that you have to rebuild your indexes and update the statistics. In addition to that, create 1 data file per CPU core for the TEMPDB (Dual core counts as 2 CPUs; logical procs (hyperthreading) do not)
This will make a big difference, SQL Server 2005 uses the tempdb different than 2000, by adding more files you will see a dramatic performance improvement for big queries

Our queries on SQL Server 2005 ran slower than on 2000, by adding more files the queries are twice as fast than on the SQL Server 2000 box now

This behaviour is documented here: http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/storage-top-10.mspx

Look at number 7 (Consider configuration of TEMPDB database)
and number 8 (Lining up the number of data files with CPU’s has scalability advantages for allocation intensive workloads. )

Podcast: Nick Landry on Microsoft Robotics Studio

DotNetRocks posted their latest show: Nick Landry on Robotics Studio

Nick Landry from Infusion calls in to discuss his experiences with (and
knowledge of) the somewhat new Microsoft Robotics Studio.
Nickolas Landry is
a senior .NET architect and trainer in New York for Infusion Development Corp.,
a Microsoft Gold Partner which offers quality software development services,
developer training and consulting services for large financial firms in the New
York and Toronto areas (http://www.infusiondev.com/). Known for his
dynamic and engaging style, he is a frequent speaker at major software
development conferences worldwide, a member of the MSDN Canada Speakers Bureau,
a Microsoft MVP on the .NET Compact Framework, and a former Microsoft Regional
Director in Montreal. He also sits on the Board of Directors of IASA-NY (http://www.iasahome.org/), and is a Founding Member
of WWISA (http://www.wwisa.org/).
His primary goal is to help businesses connect their information, systems,
and people together in a seamless integration to achieve complete enterprise
agility. Aside from his work in designing business solution architectures using
.NET technologies, Nick provides mentoring services in architecture, design and
.NET development, authors and teaches .NET classes, performs system audits, and
profiles technologies for various enterprise scenarios. With over 13 years of
professional experience – starting with Visual Basic 1.0 – and a career almost
entirely dedicated to Microsoft technologies, Nick specializes in .NET mobility,
OOP, SOA, architecture and design patterns. He wrote "Mobile CoDe.NET" articles
for CoDe Magazine and several .NET mobility courses for Microsoft, has been a
technical editor for many books, and holds several professional certifications
from Microsoft and IBM. Contact and Blog: http://activenick.infusionblogs.com/.

Download the podcast here: http://dotnetrocks.com/default.aspx?showID=260

Wednesday, July 18, 2007

Podcast: Miguel de Icaza Talks About Mono

DotNetRocks posted their latest show: Catching up with Miguel de Icaza

Miguel de Icaza is back to tell us what's new with the Mono project, an open source implementation of the .NET Framework based on FreeBSD with support for Windows, Mac, and Linux.
Miguel de Icaza is the creator and owner of the Mono project. Mono is an open-source implementation of the .NET Framework for Linux and MacOS (as well as Windows).

Download the show here: http://www.dotnetrocks.com/default.aspx?showNum=255

Monday, July 16, 2007

ASP.NET Ajax Health Care Toolkit Controls Available From CodePlex

The Microsoft Health Common User Interface (CUI) provides Design Guidance and Toolkit controls which allow a new generation of safer, more usable and compelling health applications to be quickly and easily created. It is aimed at user interface designers, application developers and patient safety experts who want to find out more about the benefits of a standardized approach to user interface design.

Patient safety is a critical issue for healthcare organizations worldwide. Microsoft has been working with the National Health Service (NHS) in England to improve patient safety by creating a common look and feel for NHS systems through the NHS Common User Interface (CUI) Programme. This partnership initiative is in conjunction with the UK government agency called NHS Connecting for Health. Microsoft is now publishing the Design Guidance produced through this collaboration and providing the healthcare community with access to the associated Toolkit controls.

Toolkit Controls:
The Toolkit controls developed for this release conform to the recommendations contained in the Design Guidance documents. The Toolkit is a set of .NET 2.0 controls that help Independent Software Vendors (ISVs) build safe, consistent user interfaces for healthcare applications.
The Toolkit controls have been created for use in both ASP.NET AJAX applications and WinForms.NET. The web versions of the controls are based on the ASP.NET AJAX Toolkit.

Once installed into the Visual Studio® 2005 Toolbox, full IntelliSense and context-sensitive help are available to help developers understand how to use the various Toolkit control features. The Toolkit controls also support server-side and client-side data binding. In addition, the ASP.NET AJAX controls support CSS styles, allowing these controls to reflect the look and feel of the hosting application.

Examples of the controls that implement the Design Guidance in specific scenarios, and a demonstration of how different Toolkit controls can be combined and different styling applied can be found here.

Get it all here: http://www.codeplex.com/mscui

Windows Home Server has been released to manufacturing (RTM)

From the Windows Home Server Blog

Woo-hoo! We did it. Today we are announcing that Windows Home Server has been released to manufacturing (RTM). We have finalized the software and now handing it off to our OEM partners. The evaluation version (with 120 day evaluation period) and the system builder version are also heading into the distribution channels and will be available in the next couple of months. French, German and Spanish versions will be finalized shortly, and OEM products will hit retail shelves this fall.

We're also excited to announce Iomega and Fujitsu-Siemens Computers (FSC) as new OEMs planning to ship Windows Home Server products later this year.

Read the announcement here: http://blogs.technet.com/homeserver/archive/2007/07/16/ship-it.aspx

Saturday, July 14, 2007

Best Practice: Backups

What if I told you to take your latest production backup, restore it on a different machine and try using the database? Are you comfortable with that task? Do you think it will work? When was the last time you tested your backups?

Do you even have a backup?
Why am I asking all these things? Because your data is as good as your last good backup. Is your data backed up regularly? You will say “Of course it is we use [Insert expensive backup solution here] for all our enterprise backups”. Prove it, go to work on Monday and ask them to give you the latest backup. I bet out of a 100 people who ask this question to their backup team there will be several people without a backup file.
Here is another problem: three years ago the backups were taking about 1 hour. The backup started at 12 it would be done at 1, at 1:30 a job from another machine would ftp the file down. Two years later the backup takes 2 hours to complete, you didn’t realize this. Can you guess what will happen if you try to restore once of those backup that were moved by FTP? I will tell you it won’t work. What if there is no backup and you do a FTP? Oh yes the 0kb file will be created.

Where do you keep your backups?
Are you backups in the same building? If you would say yes then you have a big problem. Let me tell you a little story. I worked for a company in New York City between 2001 and 2005. This company had their office in WTC tower one. To be safe they kept their backups in WTC tower two. Well I don’t have to tell you what happened with the backup. If you do store your backup offsite (and why wouldn’t you?) make sure it is at least 100 miles away. If you don’t want to go that far from your current location then pick a location which is safe from floods, fires and not worthy to attack.

Where is your Source Code?
Do you backup your source code? Most people will say they keep it in Subversion or Visual Source Safe. But does that get backed up? What happens if your building goes up in flames? What we do is we have a full source code backup every day. In addition to that we also have differential backups every n revisions. We have jobs that create these backups and then FTP them to 3 different locations. If you have 20 developers and you lose 6 hours of work then you have lost 120 * $$ (you do the math). This is the best case scenarios. If the backup was in the building together with all the workstations then you got a lot bigger problem to deal with.
SQL developers are notorious for not using source control. They will tell you that the database backup is their source control. A source control system does not have to be expensive; we use Subversion (which is free and better than VSS). You can either use Tortoise or the plugin for Visual Studio to do your check ins.

DMVStats (A SQL Server 2005 Dynamic Management View Performance Data Warehouse ) Has Been Released

Over the last year, Tom Davidson has been working on a tool called DMVstats with some of his CAT colleagues. DMVstats collects performance oriented DMVs into a data warehouse, and provides a methodology called 'Waits' and 'Queues' to identify and track down performance issues. Drill-through analysis is provided by reporting services reports.

DMVStats 1.01
A SQL Server 2005 Dynamic Management View Performance Data Warehouse

Microsoft SQL Server 2005 provides Dynamic Management Views (DMVs) to expose valuable information that you can use for performance analysis. DMVstats 1.0 is an application that can collect, analyze and report on SQL Server 2005 DMV performance data. DMVstats does not support Microsoft SQL Server 2000 and earlier versions.

Main Components
The three main components of DMVstats are:
• DMV data collection
• DMV data warehouse repository
• Analysis and reporting.
Data collection is managed by SQL Agent jobs. The DMVstats data warehouse is called DMVstatsDB. Analysis and reporting is provided by means of Reporting Services reports.

Download it here: http://www.codeplex.com/sqldmvstats/

Friday, July 13, 2007

Asynchronous Pattern in Windows Communication Foundation Article

Keyvan Nayyeri has written an article about the Asynchronous Design Pattern in Windows Communication Foundation.

Article Contents:
Asynchronous Pattern in a Nutshell

Thursday, July 12, 2007

Podcast: John Lam on the DLR (Dynamic Language Runtime), IronPython, IronRuby And RubyCLR

DotNetRocks has published their latest podcast: John Lam on the DLR.
From the site:

John Lam talks to Carl and Richard about his trek from Canada to Redmond, and his work on dynamic languages, including Ruby CLR, and the Microsoft DLR (Dynamic Language Runtime), which we may find in some future version of the .NET Framework.

John recently emigrated from Canada to the Microsoft Republic to join the Dynamic Language Runtime team. He works on the IronRuby implementation, and pitches in where necessary on the DLR, and on integration with partners like the Silverlight team. Before he joined Microsoft, he created RubyCLR, an innovative high performance open-source bridge between the Ruby interpreter and the CLR. You can track what John is doing with IronRuby and the DLR via his blog:

Download it here: http://www.dotnetrocks.com/default.aspx?showNum=254

Wednesday, July 11, 2007

Global Warming Shoes

Got this in an email. Pretty funny

Oracle Unveils Oracle Database 11g

Oracle today introduced Oracle(r) Database 11g, the latest release of the world's most popular database. With more than 400 features, 15 million test hours, and 36,000 person-months of development, Oracle Database 11g is the most innovative and highest quality software product Oracle have ever announced.
"Oracle Database 11g, built on 30 years of design experience, delivers the next generation of enterprise information management," said Andy Mendelsohn, senior vice president of Database Server Technologies, Oracle. "More than ever, our customers are facing the challenges of, rapid data growth, increased data integration, and data connectivity IT cost pressures. Oracle Database 10g pioneered grid computing, and more than half of Oracle customers have moved to that release. Oracle Database 11g delivers the key features our customers have asked for to accelerate broad adoption and growth of Oracle grids; representing real innovation, that addresses real challenges, as told to us by real customers."

Oracle Database 11g can help organizations take control of their enterprise information, gain better business insight, and quickly and confidently adapt to an increasingly changing competitive environment. To do this, the new release extends Oracle's unique database clustering, data center automation, and workload management capabilities. With secure, highly available and scalable grids of low-cost servers and storage, Oracle customers can tackle the most demanding transaction processing, data warehousing, and content management applications.

Real Application Testing Helps Reduce Time, Risk and Cost of Change
Oracle Database 11g features advanced self-management and automation features to help organizations meet service level agreements. For example, with organizations facing regular database and operating system software upgrades, and hardware and system changes, Oracle Database 11g introduces Oracle Real Application Testing, making it the first database to help customers test and manage changes to their IT environment quickly, in a controlled, cost effective manner.

Increase Return On Investment for Disaster Recovery Solutions
In Oracle Database 11g, Oracle Data Guard enables customers to use their standby database to improve performance in their production environments as well as provide protection from system failures and site-wide disasters. Oracle Data Guard uniquely enables simultaneous read and recovery of a single standby database making it available for reporting, backup, testing and 'rolling' upgrades to production databases. By offloading workloads from production to a standby system, Oracle Data Guard helps enhance the performance of production systems and provides a more cost-effective disaster recovery solution.

Enhanced Information Lifecycle Management and Storage Management
Oracle Database 11g has significant new data partitioning and compression capabilities, for more cost-effective Information Lifecycle Management and storage management. Oracle Database 11g automates many manual data partitioning operations and extends existing range, hash and list partitioning to include interval, reference and virtual column partitioning. In addition, Oracle Database 11g provides a complete set of composite partitioning options, allowing storage management that is driven by business rules.

Building on its long-standing data compression capabilities, Oracle Database 11g offers advanced data compression for both structured and unstructured (LOB) data managed in transaction processing, data warehousing, and content management environments. Compression ratios of 2x to 3x or more for all data can be achieved with the new advanced compression capabilities in Oracle Database 11g.

Total Recall of Data Changes
The new release also features "Oracle Total Recall," enabling administrators to query data in designated tables "as of" earlier times in the past. This offers an easy, practical way to add a time dimension to data for change tracking, auditing, and compliance.

Maximum Availability of Information
Oracle has consistently led the industry in protecting database applications from planned and unplanned downtime. Oracle Database 11g continues this lead by making it easier for administrators to meet their users' availability expectations. New availability features include Oracle Flashback Transaction which makes it easy to back out a transaction made in error, as well as any dependent transactions; Parallel Backup and Restore which helps improve the backup and restore performance of very large databases; and 'hot patching,' which improves system availability by allowing database patches to be applied without the need to shut databases down. In addition, a new advisor - Data Recovery Advisor - helps administrators significantly reduce recovery downtime by automating problem investigation, intelligently determining recovery plan and handling multiple failure situations.

Oracle Fast Files
The next-generation capability for storing large objects (LOBs) such as images, large text objects, or advanced data types � including XML, medical imaging, and three-dimensional objects - within the database. Oracle Fast Files offers database applications performance fully comparable to file systems. By storing a wider range of enterprise information and retrieving it quickly and easily, enterprises can know more about their business and adapt more rapidly.

Faster XML
Oracle Database 11g includes significant performance enhancements to XML DB, a feature of Oracle database that enables customers to natively store, and manipulate XML data. Support for binary XML has been added offering customers a choice of XML storage options to match their specific application and performance requirements. XML DB also enables manipulation of XML data using industry standard interfaces with support for XQuery, Java Specification Requests (JSR)-170 and SQL/XML standards.

Transparent Encryption
Oracle Database 11g continues to build on its unmatched security capabilities through the addition of significant enhancements. The new release features improved Oracle Transparent Data Encryption capabilities beyond column level encryption. Oracle Database 11g offers tablespace encryption that can be utilized to encrypt entire tables, indexes, and other data storage. Encryption is also provided for LOBs stored in the database.

Embedded OLAP Cubes
Oracle Database 11g also provides data warehousing innovations. OLAP cubes are enhanced to behave as materialized views in the database. This allows developers to use industry standard SQL for data query, but still benefit from the high performance delivered by an OLAP cube. New Continuous Query Notification features allow applications to be immediately notified when important changes are made to database data without burdening the database with constant polling.

Connection Pooling and Query Result Caches
The performance and scalability features in Oracle Database 11g are designed to help organizations maintain a highly performant, scalable infrastructure to provide users' with the best quality of service. Oracle Database 11g further enhances Oracle's position as the industry's performance and scalability leader with new features such as Query Result Caches which improves application performance and scalability by caching and reusing the results of often called database queries and functions in database and application tiers, and Database Resident Connection Pooling which improves the scalability of web-based systems by providing connection pooling for non-multi-threaded applications.

Enhanced Application Development
Oracle Database 11g offers developers a choice of development tools, and a streamlined application development process that takes full advantage of key Oracle Database 11g features. These include new features such as Client Side Caching, Binary XML for faster application performance, XML processing, and the storing and retrieving of files. In addition, Oracle Database 11g also includes a new Java just-in-time Compiler to execute database Java procedures faster without the need for a third party compiler; native integration with Visual Studio 2005 for developing .NET applications on Oracle; Access migration tools with Oracle Application Express; and SQL Developer easy query building feature for fast coding of SQL and PL/SQL routines.

Enhanced Self-Management and Automation
The manageability features in Oracle Database 11g are designed to help organizations easily manage enterprise grids and deliver on their users' service level expectations. Oracle Database 11g introduces more self-management and automation that will help customers reduce their system management costs, while increasing performance, scalability, availability and security of their database applications. New manageability capabilities in Oracle Database 11g include Automatic SQL and memory tuning, a new Partitioning Advisor which automatically advises administrators on how to partition tables and indexes in order to improve performance, and enhanced performance diagnostics for database clusters. In addition, Oracle Database 11g includes a new Support Workbench which provides an easy-to-use interface that presents database health-related incidents to administrators along with information on how to quickly manage the resolution of incidents.

Oracle is the #1 Database: Gartner 2006 Worldwide RDBMS Market Share Reports 47.1 Percent Share for Oracle
Gartner recently published their market share numbers by operating system for 2006 based on total software revenues. According to Gartner, Oracle:

* Has 47.1 percent share (up from 46.8 percent in 2005);

* Has revenue growth of 14.9 percent, faster than the market average of 14.2 percent with US$7.2 Billions in revenues; and,

* Continues to hold more market share than its two closest competitors combined.

About Oracle Database 11g
Oracle Database is the only database designed for grid computing. With the release of Oracle Database 11g, Oracle is making the management of enterprise information easier than ever; enabling customers to know more about their business and innovate more quickly. Oracle Database 11g delivers superior performance, scalability, availability, security and ease of management on a low-cost grid of industry standard storage and servers. Oracle Database 11g is designed to be effectively deployed on everything from small blade servers to the biggest SMP servers and clusters of all sizes. It features automated management capabilities for easy, cost-effective operation. Oracle Database 11g's unique ability to manage all data from traditional business information to XML and 3D spatial information makes it the ideal choice to power transaction processing, data warehousing, and content management applications.

Podcast: CSLA with Rockford Lhotka

DotNetRocks has published their latest podcast: CSLA with Rockford Lhotka

Rocky Lhotka talks about CSLA 3.0, the relationship with WPF and Silverlight, "paranoid" code, publishing and his experience with ebooks.
Rockford Lhotka is the author of numerous books, including the Expert Visual Basic .NET & C# Business Objects books. He is a Microsoft Software Legend, Regional Director, MVP and INETA speaker. Rockford speaks at many conferences and user groups around the world and is a columnist for MSDN Online. Rockford is the Principal Technology Evangelist for Magenic Technologies, one of the nation's premiere Microsoft Gold Certified Partners dedicated to solving today's most challenging business problems using 100% Microsoft tools and technology.

Download it here: http://dotnetrocks.com/default.aspx?showID=257

Tuesday, July 10, 2007

Windows Server 2008, Visual Studio 2008 and Microsoft SQL Server 2008 will launch Feb. 27, 2008

Microsoft Corp. today kicked off the Microsoft® Worldwide Partner Conference 2007 by showcasing the innovative products, services and business models that will expose Microsoft partners to increased levels of opportunity in a rapidly changing market. The combination of upcoming Microsoft product releases and the evolution of software delivery is creating important new opportunities for Microsoft partners to deliver greater customer value and choice.

In their keynotes, Steve Ballmer, chief executive officer of Microsoft, and Kevin Turner, chief operating officer, focused on the critical role that Microsoft partners play in delivering innovation and value to businesses around the world, particularly through a software-plus-services strategy. Ballmer outlined four pillars that serve as the foundation for Microsoft’s approach to software delivery:

• Deliver a consistent, seamless user experience across devices

• Provide deployment options — on-premise or hosted — based on customer needs

• Extend development platform and tools to encompass services in addition to clients and servers

• Support new business models and define the ways partners can increase their revenue and grow their businesses

“Everyone in our industry is rethinking the relationship between software and services,” Ballmer said. “We believe the future is in software plus services — combinations that give customers more options and create great new opportunities for partners. Microsoft, with our partners, is positioned to lead the way.”

As part of this focus on software plus services, Turner announced a partner-led program for early customer access for Microsoft Dynamics™ Live CRM, giving Microsoft another fast and flexible way to address the unique customer relationship management (CRM) needs of each customer. This new Live service gives Microsoft Dynamics CRM partners opportunities to deliver customer value and grow their businesses by developing and deploying solutions through Live, on-premise and partner-hosted delivery methods. More information about Microsoft Dynamics Live CRM is available at http://www.microsoft.com/Presspass/press/2007/jul07/07-10CRMWPCPR.mspx

Driving Customer Value and Partner Revenue Through Software Plus Services

To help partners understand how they can increase their opportunities and revenue through the software-plus-services approach, Microsoft is highlighting some of the ways in which partners can monetize the new opportunities, including advertising, hosting, referrals, customization, reselling, consulting, design, development, support and training.

“Our product portfolio, long-term investments in XML and .Net and the diversity of our partner ecosystem give Microsoft a competitive advantage in the software-plus-services era,” said Allison L. Watson, corporate vice president, Microsoft Worldwide Partner Group. “This unique combination allows us to empower people and partners in their roles with rich solutions that drive new business opportunities. Ultimately, the software-plus-services transformation is about giving customers more choice and flexibility in how software is delivered.”

Turner also outlined new partner opportunities created by the introduction of successful products such as the Windows Vista® operating system, the 2007 Microsoft Office system and Microsoft Exchange Server 2007 and People-Ready Business offerings. “Every partner aims to be the best at what they do, and Microsoft is here to help them achieve their goals by providing solutions and tools that allow them to provide customers what is right for their business at the right time,” he said.

In anticipation for the most significant Microsoft enterprise event in the next year, Turner announced that Windows Server® 2008, Visual Studio® 2008 and Microsoft SQL Server™ 2008 will launch together at an event in Los Angeles on Feb. 27, 2008, kicking off hundreds of launch events around the world. As the next wave of innovation from Microsoft’s Server and Tools Business, these three products will provide a reliable and security-enhanced enterprise platform, serve as the foundation for the next generation of Web-based service applications, and broadly support virtualization and business intelligence. Windows Server 2008, SQL Server 2008 and Visual Studio 2008 represent tremendous opportunities for partners and customers, and as part of the launch wave throughout 2008, Microsoft is planning extensive and far-reaching IT pro, developer and partner outreach, including worldwide training, online and virtual events, as well as myriad resources that will be made available in the coming months to help ensure partners and customers are ready to capitalize on the new benefits offered by these products.

Maximizing the Opportunity Created by Windows Vista

Further evidence of the value of the Windows Vista operating system is highlighted by the release of a Microsoft-commissioned IDC white paper titled “The Economic Impact of Microsoft’s Windows Vista Worldwide in the Coming Year” (Doc# 6282007, July 2007), outlining the opportunity being created by Windows Vista in the coming year. The report notes that for every dollar of Microsoft revenue from Windows Vista in 2008, the partner ecosystem beyond Microsoft will reap roughly $22. Microsoft today delivered new tools designed to help partners capitalize on this opportunity: the Windows Vista Hardware Assessment 2.0 and the Windows Vista Business Value Assessment. Both are part of a new program announced called Windows® Partner Solutions, which enables value-added resellers, system integrators and managed service providers to deliver customized solutions that meet the specific needs of their customers to help them potentially realize an increased value of up to $130 per PC annually. The Windows Vista Hardware Assessment 2.0 helps partners determine their customers’ hardware and device readiness for Windows Vista within hours, and this new version adds increased network assessment support for up to 25,000 PCs and hardware assessment for the 2007 Microsoft Office system. Also available for partners is the new Windows Vista Business Value Assessment. Developed in coordination with IDC and Alinean Inc., the tool helps partners calculate the financial benefit of their customers upgrading to Windows Vista and is specifically geared toward the midsized customer segment.

Microsoft also reaffirmed its commitment to help partners level the playing field against unscrupulous resellers of counterfeit software through the Windows Genuine Advantage program and highlighted ASAP Software Inc. and Tata Consultancy Services Ltd. as partners endorsing the program. In 2006 global software piracy represented a loss to the industry of more than $40 billion, according to the Business Software Alliance.

Microsoft Introduces an Easy Way for Partners to Maximize Sales Opportunities

Microsoft today is also introducing a new tool to help partners maximize sales opportunities. Microsoft LicenseWise is a one-stop shop for accessing up-to-date, comprehensive product and licensing information. Microsoft LicenseWise helps partners strengthen their customer relationships through quick access to additional licensing guidance and gives them the ability to assemble and customize customer solution quotes. Microsoft LicenseWise is linked with the Microsoft Product Licensing Advisor to strengthen collaboration between partners and their customers through a seamless, consistent and predictable interaction.

New Resources That Build Partner Opportunity

Microsoft’s Information Worker Group today announced a set of new and updated resources that open up more opportunities for partners that team up with Microsoft to deliver Information Worker solutions. Partner opportunities span solutions built on the Microsoft Office system platform and extend to new products and programs in areas such as unified communications, business intelligence, software plus services and Microsoft Office Business Applications. Key announcements include an updated Microsoft Office Live Solution Developers program, a new Microsoft Office Business Applications OnRamp program, and new Desktop and SharePoint® Deployment Planning Services programs.

Microsoft Makes a Commitment to Help Partners Deliver Solutions

Microsoft’s promise is to help partners deliver value consistently and predictably through one of 13 competencies to help ensure that partners receive the benefits, tools, information and business opportunities that are most valuable to them. Microsoft today announced two new competencies that highlight growth areas and opportunities:

• Hosting Solutions (formerly a specialization in the Advanced Infrastructure Solutions Competency)

• Business Intelligence Solutions (formerly a specialization in the Information Worker competency)

More information about the Worldwide Partner Conference is available at the virtual event site at http://partner.microsoft.com/digitalwpc. Visitors can watch select keynotes live or on-demand, register to view sessions, and learn more about the news and events coming out of the conference.

About the Microsoft Worldwide Partner Conference

More information about the Worldwide Partner Conference is available on the virtual event site at http://partner.microsoft.com/digitalwpc. Visitors can watch select keynotes live or on demand, register to view sessions, and learn more about the news and events coming out of the conference.

The Microsoft Worldwide Partner Conference provides Microsoft’s partner community with access to key marketing and business strategies, leadership, and information regarding specific customer solutions designed to help partners succeed in the marketplace. Along with informative learning opportunities covering sales, marketing, services and technology, the Worldwide Partner Conference is an ideal setting for partners to garner valuable knowledge from their peers and from Microsoft. More information can be found at http://www.microsoft.com/partner/events/wwpartnerconference and https://partner.microsoft.com.

Adding Ajax

Adding AjaxTitle: Adding Ajax
First Edition: June 2007
ISBN 10: 0-596-52936-8
ISBN 13: 9780596529369
Pages: 399

Ajax can bring many advantages to an existing web application without forcing you to redo the whole thing. This book explains how you can add Ajax to enhance, rather than replace, the way your application works. For instance, if you have a traditional web application based on submitting a form to update a table, you can enhance it by adding the capability to update the table with changes to the form fields, without actually having to submit the form. That's just one example.

Adding Ajax is for those of you more interested in extending existing applications than in creating Rich Internet Applications (RIA). You already know the "business-side" of applications-web forms, server-side driven pages, and static content-and now you want to make your web pages livelier, more fun, and much more interactive. This book:

  • Provides an overview of Ajax technologies, and the importance of developing a strategy for changing your site before you sit down to code

  • Explains the heart and soul of Ajax: how to work with the XMLHttpRequest object

  • Introduces and demonstrates several important Ajax libraries, including Prototype, script.aculo.us, rico, Mochikit

  • Explores the interactive element that is Ajax, including how to work with events and event handlers that work across browsers

  • Introduces the concept of web page as space, and covers three popular approaches to managing web space

  • Explains how to make data updates, including adding new data, deleting, and making updates, all from within a single page

  • Describes the effects Ajax has on the Web-breaking the back button, losing browser history, dynamic effects that disappear when the page is refreshed, and more

  • Covers advanced CSS effects, including drag and drop "scroll bars", pagination, and the use of SVG and the Canvas object

  • Explores mashups-Ajax's ability to combine data from different web services in any number of ways, directly in our web pages

You don't need to start over to use Ajax. You can simply add to what you already have. This book explains how.

Amazon link: Adding Ajax

Sample Chapter 4: Interactive Effects (PDF Format)

3 different ways to host WCF services

MSDN has a good article about Hosting and Consuming WCF Services

These are the 3 ways to host your services
1 Self-Hosting Your Service
2 Hosting in Windows Services
3 Hosting Using Internet Information Services

This article discusses Windows Communication Foundation (WCF) hosting options and consuming WCF services. The traditional ASMX Web services were hosted only on Microsoft Internet Information Services (IIS). The hosting options for WCF services are significantly enhanced in Microsoft .NET Framework 3.0. We will discuss extending the hosting model to include Windows Services and Self-Hosting options. We will also explore in detail IIS hosting (versions 5.1, 6.0, and 7.0) and Windows Activation Services (WAS) hosting options available for WCF services. The content for this article is based on Chapter 5 of Pro WCF: Practical Microsoft SOA Implementation, published by Apress. This book is authored by a global team of Avanade consultants. It is targeted towards beginner-to-intermediate readers and is part of the Apress series that discusses Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and Windows Workflow Foundation (WF). (27 printed pages)

Read it here: http://msdn2.microsoft.com/en-us/library/bb332338.aspx

Monday, July 9, 2007

Microsoft Launches Update of Its Robotics Software Platform Microsoft Robotics Studio

Microsoft Corp. today announced an improved version of Microsoft® Robotics Studio, just months after the December 2006 introduction of its robotics application development toolkit. The new Microsoft Robotics Studio 1.5 adds support for Windows® Embedded CE 6.0 and Windows Mobile® 6, which allows developers to more easily deploy advanced scenarios and software applications on embedded platforms of a wider variety and lower cost.

“We’re constantly seeking ways to improve the product through new features and provide a catalyst to academic, hobbyist and commercial segments,” said Tandy Trower, general manager of the Microsoft Robotics Group at Microsoft.

Microsoft Robotics Studio 1.5 includes improvements to its visual programming language and 3-D real-world-physics-based visual simulation environment, built on the AGEIA Technologies Inc.-based PhysX engine. New services have also been added, including support for vision and speech recognition, expanded documentation and a new editor that makes it easier to configure and target software services for robotics platforms.

Microsoft Sponsors RoboCup 2007 and Delivers 3-D Soccer Simulation Competition

Teams competing in RoboCup 2007, an international robotics competition, experienced these improvements firsthand by participating in a Microsoft-sponsored tournament of simulated soccer matches. Powering the competition was a new robot soccer simulation, which includes a 3-D simulated soccer field and scoring services, as well as support that enables different simulated robots to be configured as players. The services are also available to non-Robocup participants at http://www.microsoft.com/robotics. A compatible simulated robot player called robuDOG, from Robosoft, is also available for download from the Robosoft Web site at http://www.robosoft.com, enabling contestants to play virtual soccer with four-legged robots in a realistic 3-D environment. Robosoft also previewed its hardware-based robuDOG robot, and the services used in simulation can be deployed directly on this new robot. The soccer simulation featured at RoboCup 2007 joins a robot sumo simulation also released today, which offers participants an opportunity to create and program simulated robots in a sumo wrestling competition.

Microsoft Broadens Reach to Diverse Robotics Markets

Microsoft Robotics Studio continues to be adopted in the broader robotics academic market. For instance KUKA Roboter GmbH, a leading vendor in the robotics industry, announced the availability of its KUKA Educational Framework software, which teaches students how to calculate and orchestrate robot arm motions, and perform autonomous task solutions.

“We are excited to release our KUKA Educational Framework based on Microsoft Robotics Studio,” said Bernd Liepert, CEO of KUKA Roboter. “This helps us extend the reach of our robots into the academic and research community, using a common software base.”

In addition, Microsoft Robotics Studio is being used by many academic institutions, including Princeton University, which will use it to power its entry in this year’s DARPA Grand Challenge robotics competition, where teams will navigate driverless automobiles autonomously through a mock urban environment; the University of Texas, which is applying the software to support advanced control of robot manipulators; the University of Washington Biorobotics Lab, which is using it in the development of software for its human-assistive robot research; and the University of California, Merced, which is building models for Microsoft Robotics Studio to support urban search and rescue multirobot simulation.

Commercial adoption of Microsoft Robotics Studio continues to grow. These companies join more than 30 companies already participating in the Microsoft Robotics Studio Partner Program since the 1.0 launch in December 2006: ALLmotion Inc., Diversity Associates Ltd., Element Products Inc., Energid Technologies Corp., Hokuyo Automation Co. Ltd., ICOP Technology Corp., Microbot Co. Ltd., Roborealm, Scatterweb GmbH, Segway Inc. and Skilligent LLC. Support from these third parties expands the breadth of Microsoft Robotics Studio-compliant hardware as well as software libraries in areas such as vision, mapping, localization and learning.

To foster greater interoperability across all industry segments, Microsoft has placed the Decentralized Software Services Protocol (DSSP) used in Microsoft Robotics Studio under its Open Specification Promise. This means that the Microsoft patents for the services-oriented protocol specification may be used by anyone in the world, at no cost, and for any type of development including free software, open source, academic, or commercial, enabling interoperability among a wide variety of devices and applications. More information about the Open Specification Promise can be found online at http://www.microsoft.com/interop/osp.

Screencast: LINQ's relationship to the new C#3 and VB9 features

Channel 9 has made available their latest screen cast: LINQ's relationship to the new C#3 and VB9 features. From the site:

Introduction: The Language
Integrated Query (LINQ)
is the headline feature of the Visual Studio
2008 release. Most of LINQ is based on the new C#3 and VB9 language
features. In this video, I demonstrate the association between the compiler
features and LINQ. In particular, you learn about the relationship to LINQ of Local
Variable Type Inference
, Object
, Anonymous
, Extension
, Lambda
and Query

Watch the screencast(WMV)

Sunday, July 8, 2007

An Interview With Ken Henderson About The Book SQL Server 2005 Practical Troubleshooting: The Database Engine

I posted this on my SQL Server blog but decided to post it here also.
I am a big fan of Ken Henderson’s books, I believe that every SQL Server developer should have a copy of his books. When I noticed on Amazon.com that the book SQL Server 2005 Practical Troubleshooting: The Database Engine which listed Ken Henderson as its editor would be coming out soon I got very excited. I decided to send Ken an email to see if he would be willing to answer some questions I had about the book. To my surprise Ken was more than willing to accommodate my request.
The question-and-answer session with Ken that follows was conducted via email.

Denis: What is the audience for this book, is it the enterprise user or can a small department benefit from the tips in this book?

Ken: Both types of users would benefit. Anyone who’s ever had a problem with SQL Server has probably noticed how few resources there are out there for troubleshooting SQL Server issues. There are plenty of resources that talk about how it works. There are many that discuss how to write code for it. But there are scant few that talk about what to do when something goes wrong. This book is intended for that audience. It is also intended for those who want to better understand how the product works and to be prepared in the event that something does go wrong with it. SQL Server doesn’t break often, but, when it does, this book will help you deal with it.

Denis: For a customer who has a performance problem that is not hardware related, what would you say are the most important chapters in this book (in order of importance)?

Ken: The Query Processor Issues chapter and the Procedure Cache Issues chapter are the two best for this type of problem.

Denis: Seven developers from the SQL Server development team and three support professionals from Microsoft Customer Support Services wrote this book. What took so long to write a book like this, and why wasn’t there a SQL Server 2000 version? Is it because SQL Server has truly grown to be a major player in the enterprise market and there is a definitive need for a book like this now?

Ken: The book took so long because all of the authors are first-time authors, and they are very busy people. There was no SQL Server 2000 version because I was too busy with my own projects to begin this project back then. SQL Server is indeed a major player in the enterprise, but I believe it has been since SQL Server 7.0. That particular aspect had nothing to do with the timing of this book.

Denis: I noticed you are listed as editor of this book. Have you written any chapters in this book?

Ken: No, I did not write any of the chapters of the book. I also tried to preserve each author’s writing style. Each chapter includes its own byline, and I have edited them as little as possible. Because some of the authors were more capable than others, I necessarily had to be involved to varying degrees with each chapter. Some chapters needed lots of editing; some very little. I think each individual perspective represented in the book is a valuable one, but I also think they speak in unison on the important points of practical troubleshooting with SQL Server.

Denis: What new technologies in SQL Server 2005 do you think are the most beneficial for performance?

Ken: There are really too many to list. A few that come to mind at the moment: instant file growth, improved wildcard support, more sophisticated cache management, improved scaling on big hardware, the XML data type and richer XML support in general, CLR integration, etc.

Denis: This book as I understand has a lot of internals information from the people who either wrote the product or have supported it that currently is not available anywhere else--is that right?

Ken: Yes, the majority of the authors were actually developers on the product. A few were support engineers who supported the product. All have had full access to the SQL Server source code for many years.

Denis: What will a person who reads this book gain in terms of understanding how to performance tune a server?

Ken: They will better understand both how the server works and also how to recognize and troubleshoot common performance problems.

Denis: Is the book geared towards a beginner/intermediate level user or do you have to be an advanced user to really utilize the information in this book?

Ken: There is something in this book for everyone. I’d like to think that beginners, intermediates, and advanced users alike would benefit from reading it.

Denis: What are the most important things a person can do to master SQL Server?

Ken: Naturally, the best thing a person could do would be to do what the authors of this book did: study the SQL Server source code. Studying the SQL Server source gives you insight into how the product works that is impossible to gain through any other means. But, given that that excludes pretty much everyone outside of Microsoft, here are some general thoughts:

#1, understand how Windows works at a very low level and how SQL Server utilizes the many facilities it offers

#2, understand how the product was designed and how it was intended to be used

#3, explore it not only as a user, but as a developer. Fire up a debugger and see how it works under the hood

#4, build real apps with it, using its various components as they were intended to be used

Denis: What are the most important things a person can do to master Transact-SQL?

Ken: My initial thought is that, again, studying the SQL Server source code is the shortest path to the deepest understanding of the language. That said, here are some general thoughts in no particular order:

#1, understand how SQL Server works. Understand the intricacies of performance tuning on SQL Server. Know how data is stored. Understand memory management and scheduling at a very low level. Understand logging and tempdb semantics. Remember that SQL Server is just an application. It’s not magical and can be misused and abused just like any other app

#2, learn the syntax and semantics of the language inside-out. Get a feel for its strengths and weaknesses, and code to those strengths. Always lean toward writing set-oriented code when you can

#3, study solutions to hard problems that are available in various forms, and apply the techniques you learn to solve your own problems

#4, learn other SQL dialects so that you can become familiar with their unique attributes and understand how T-SQL compares with them. Gain an understanding of where T-SQL fits in the general taxonomy of SQL dialects

#5, learn other languages besides SQL. If your favorite programming language is T-SQL, you probably don’t know many languages. Learn C#, VB, Perl, Ruby, C++, or any others you can work into your research so that you can better understand software engineering as a discipline and so that you can more clearly see T-SQL’s strengths and weaknesses when compared with those other languages. Try to see where you might apply techniques from those other languages to solve problems you encounter in T-SQL. Familiarize yourself with what a design pattern is, what an idiom is, what refactoring is, and apply these concepts in T-SQL just as you would in any other “real” language

#6, understand the various SQL Server components and other technologies so that you can accurately ascertain when it’s appropriate to use T-SQL. It’s not the solution for every problem. As the old saying goes, “When all you have is a hammer, everything starts to look like a nail.” By broadening your knowledge of the tools and problem solutions available to you, you’ll be more likely to choose the best one when deciding how to design a piece of software or solve a particular problem. T-SQL may turn out not to be the best way to go in a given situation

And I will end with 9 questions for Ken not related to this book

Denis: What SQL Server books are on your bookshelf?

Ken: I have Celko’s books, Darren Green’s book, and a few others. Unfortunately, I don’t have time to read as much as I’d like. I spend most of my time either writing code for the product or studying code written by others on the SQL Server development team. The majority of my research into how SQL Server works happens via studying its source code directly.

Denis: Why do you write technical books?

Ken: I write technical books because I enjoy passing on what I’ve learned as a developer. That’s different from enjoying teaching people. I do enjoy teaching people, but that’s not why I write books. Some of the things I’ve learned about SQL Server took me years to master. I enjoy passing that on to people so that they don’t have to travel the same arduous roads that I did. I enjoy helping people. That’s different from teaching for the sake of teaching. I could never train people for a living. I am a programmer by trade, and everything else is an offshoot of that.

If I didn’t think I had something unique to bring to the discussion, I don’t think I’d write books. I don’t ever want to do what has already been done. I want to bring a fresh perspective to technical books, and I want to explore things in ways most other authors wouldn’t. If my work was exactly like everyone else’s, there’d be no reason for it to exist, and I wouldn’t bother. Given that I’ve never written fulltime but have always held down a regular day job while writing my books, the work itself is simply too hard to do just to be a clone of someone else. When people pick up one of my books, I hope they know right away that it’s one of mine, that it speaks with a distinctive voice, and I hope they think they might learn something from it simply because they trust me as an author.

Denis: Why did you join Microsoft?

Ken: I joined Microsoft to get inside SQL Server. I felt that the only way to go beyond the books and whitepapers currently out there on SQL Server was to see the source code for myself, and the only way that was going to happen is if I joined the company. I wanted to approach the exploration of SQL Server from a career developer’s standpoint, something that I had not seen done before. Most SQL Server books were written by professional trainers and former DBAs. As a career developer, I thought I could bring a fresh perspective to the coverage of SQL Server, and I felt the only way to really do that was to “go live with the natives” for a few years.

Denis: Who are your favorite authors?

Ken: Mark Twain, Kurt Vonnegut, Bart D. Erhman, Robert Price, Dean Koontz, Stephen King, Joe Celko, Sam Harris, Richard Carrier, Don Box, David Solomon, Charles Petzold, Kent Beck, Martin Fowler, Bruce Eckel, and many others.

Denis: Who do you consider your rival authors?

Ken: I don’t really think of anyone else out there as a rival. When I write a book, I mainly measure my work against my concept of the perfect book. I write for me. There’s a great book out there titled On Writing Well where the author, William Zinsser, repeats the old truism that quality is its own reward. It really is. I love the fact that people enjoy my books, but, really, the day I finish the final draft of a book and can say that I’m really done with it (at least for the moment :-) ), I’ve accomplished my goal. If it never sold a copy, I’d still feel fulfilled. I do care how it sells against other books, but I don’t really focus on it and don’t get caught up in any type of rivalries with other authors or other books.

Because I always want to write a better book than I wrote last time, I necessarily compete with my previous work and I compete against what I think the ideal technical book is. I think there’s enough room out there for lots of technical authors (it’s not as though people only buy one technical book and no others), and I have special empathy for my comrades out there who have to slog along in the middle of the night to crank their books out.

Denis: Where did the “Guru’s Guide” concept come from?

Ken: Wayne Snyder, one of the MVPs reviewing the manuscript for the first Guru’s Guide (which was at that time unnamed), wrote in the margin, “Hey, Ken, this is really a guru’s guide to solutions to hard T-SQL problems!” at which point the marketing folk at Addison-Wesley saw this and seized upon it. We had kicked around several titles, but hadn’t settled on any of them. As soon as they saw this, they pushed me hard to use it, and I reluctantly agreed. I didn’t like it initially because I thought the title of a technical book should focus on either the subject material or its intended audience, not its author. There was an understanding that we’d revisit the title when we did the second book (I was originally under contract to do three SQL Server books for Addison-Wesley), but then sales of the first book exploded, and there was no way we could change it at that point.

Denis: What do you think of all the accolades the Guru’s Guide books have received?

Ken: I am appreciative of them, but continue to be surprised by the longevity of the books and the reception they’ve garnered. I thought I was writing a niche book when I wrote that first Guru’s Guide book. I just wanted to get down everything I knew about T-SQL before I forgot it ;-). I will continue to write the kinds of books I like to read as long as people will buy them, so I hope that people continue to enjoy my work.

Denis: Will you be updating your Guru’s Guide books for SQL Server 2005? If so, when will they be out?

Ken: Yes. The second editions of the Guru’s Guide books should be out in 2007.

Denis: Describe your most unpleasant experience as an author.

Ken: I had a particularly unpleasant experience during the work on my architecture book when I had to send one of the technical reviewers packing. He was someone who’d provided useful feedback on my work in the past and someone I’d handpicked to review the book for technical issues. I usually appreciate negative feedback during the technical review process and generally consider it the most useful type of feedback, but this reviewer focused more on arguing with me about what should and shouldn’t be in the book than reviewing what was there for technical accuracy. He had a problem with the fact that I spent the first 300 pages of the book (the book ended up being over 1000 pages long) covering fundamental concepts (e.g., Windows internals) that I thought people needed to understand in order to understand the rest of the book.

I had seen people within Microsoft struggle to understand SQL Server internals because they did not have a good grasp of how Windows worked or how XML worked or how COM worked, or whatever, and, assuming readers would likely face the same types of challenges, I set out to remedy that in my book. I also wanted to go deeper than any SQL Server book ever had, and that necessitated being able to assume a certain amount of fundamental knowledge going in. I wrote him back after his first objection to the section and told him that, while I respected his opinion, I had my reasons for including it, and I explained those reasons as best I could.

He suggested I just refer people to authors like Richter and Solomon and those guys, and I told him I’d considered that, but that ultimately I felt that would be cutting corners and would be a huge inconvenience since readers would have to purchase several other books just to understand mine. No single other book had all the technical fundamentals I felt were essential, nor did any of them cover the material the way that I wanted it covered--in a manner that was designed especially for DBAs and database people. At the same time, most readers wouldn’t be able to skip the fundamentals coverage in some form or fashion because they wouldn’t be able to understand my SQL Server internals coverage without it. While it was certainly a huge amount of work for me to include this section (it was much like writing a whole separate book), I felt it was the right thing to do.

He persisted with his objections and continued to voice them not only to me but also to the editing team at Addison-Wesley. I told him on several occasions that I respected his opinion, but that, as the author, the call was mine to make and that I’d made it. This seemed to irritate him, and he continued to consume a certain amount of my time with correspondence related to the subject. At one point, I counted 7 separate threads from him on that one subject in my Inbox, and the folks at Addison-Wesley had begun to complain about him. The fundamentals section, and his negative remarks regarding it, came to dominate all the feedback we got from him. While other reviewers were either indifferent to the coverage of Windows internals in a SQL Server book (it was certainly a novel approach) or embraced it outright, he became increasingly more negative as we went along. We got useful feedback on the entirety of the manuscript from all the other reviewers, but he seemed unable to move on from the fundamentals issue. Eventually, I had my fill of dealing with him and cut him loose from the project. I’m a fairly patient person, but I just didn’t have time to deal with him anymore.

Technical reviewers sometimes get on crusades and attempt to usurp the role of the author to some extent. Until this happened, I’d never personally experienced it, but I’d heard of it. At the end of the day, the decision as to what is and isn’t in a book is the author’s to make, and the role of the technical reviewer is to identify technical issues with whatever it is that will be in the book. Decisions about content belong to the author, and, to a lesser extent, the publisher and the publisher’s editing team. I guess the lesson I learned here was to be more careful with whom I select for involvement with my projects. I always want honest feedback, and, fortunately, I know a lot of people who will happily point out every technical issue they find with my work without trying to become a de facto coauthor.

About the book:
Paperback: 456 pages
Publisher: Addison-Wesley; 1ST edition
Language: English
ISBN: 0321447743

Chapter 1 Waiting and Blocking Issues
Chapter 2 Data Corruption and Recovery Issues
Chapter 3 Memory Issues
Chapter 4 Procedure Cache Issues
Chapter 5 Query Processor Issues
Chapter 6 Server Crashes and Other Critical Failures
Chapter 7 Service Broker Issues
Chapter 8 SQLOS and Scheduling Issues
Chapter 9 Tempdb Issues
Chapter 10 Clustering Issues

Thanks to Ken for answering all these questions and if there is one reason this year to buy your own holiday gift then SQL Server 2005 Practical Troubleshooting: The Database Engine is it

Amazon Links: CA FR DE UK JP US

Thursday, July 5, 2007

Acropolis July Community Technology Preview Released

Microsoft Code Name "Acropolis" July Community Technology Preview

Brief Description
Microsoft Code Name “Acropolis” is a set of components and tools intended to make it easier for developers to build and manage modular, business focused, client applications for Microsoft Windows on the .NET Framework

Building on the vision of software + services, Microsoft Code Name “Acropolis” makes it easier to build and manage modular, business-focused, client applications for Microsoft Windows with the .NET Framework. It builds on the rich capabilities of Microsoft Windows and the .NET Framework, including the Windows Presentation Foundation (WPF), by providing tools and pre-built components that help developers quickly assemble an application from loosely-coupled parts and services. Code Name “Acropolis” reduces the complexities of building occasionally connected client applications and provides the ability to assemble and reconfigure systems without having to write as much code. It is part of the .NET Client Futures release, Microsoft’s preview of upcoming technologies in Microsoft Windows client development, available now at www.windowsclient.net.

There are three downloads. One is an .MSI file that includes the July Community Technology Preview product, and the second download is the set of samples that accompanies this Community Technology Preview. You can also download a .CHM file with the Help documentation.

AcropolisMSI The July Community Technology Preview version of Microsoft Code Name "Acropolis".

AcropolisSamples The July Community Technology Preview version of Microsoft Code Name "Acropolis" Samples.

Acropolis_Help The July Community Technology Preview version of Microsoft Code Name "Acropolis" Help documentation.

Download it all here: http://www.microsoft.com/downloads/details.aspx?FamilyId=44977885-86B5-4AA0-9F20-DB365BFB9D10&displaylang=en

Wednesday, July 4, 2007

End of Support for SQL Server 2000 Service Pack 3a

Microsoft would like to remind customers that support for SQL Server 2000 Service Pack 3a (SP3a) will end on July 10, 2007.

Microsoft will end technical support on this date, which also includes security updates for this Service Pack. Microsoft is ending support for this product as part of our Service Pack support policy, found http://support.microsoft.com/lifecycle

Customers running SQL Server 2000 Service Pack 3a are encouraged to migrate to SQL Server 2000 Service Pack 4 or SQL Server 2005. Remaining current on your service pack installation ensures that your products remain supported per the Support Lifecycle policy. Additionally, your software benefits from the many enhancements, fixes, and security updates provided through the latest service pack.

Tuesday, July 3, 2007

Microsoft .NET Framework 3.5 June 2007 Community Technology Preview Released

Brief Description
Microsoft .NET Framework 3.5 contains many new features that are compatible with both .NET Framework 2.0 and .NET Framework 3.0. .NET Framework 3.5 includes servicing for .NET Framework 2.0 and .NET Framework 3.0.

.NET Framework 3.5 builds incrementally on the new features added in .NET Framework 3.0, for example, Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF) and Windows CardSpace. In addition, .NET Framework 3.5 contains a number of new features in several technology areas. These new features have been added as new assemblies to avoid breaking changes. They include the following:
Deep integration of Language Integrated Query (LINQ) and data awareness. This new feature will let you write code written in LINQ-enabled languages to filter, enumerate, and create projections of several types of SQL data, collections, XML, and DataSets by using the same syntax.
ASP.NET AJAX lets you create more efficient, more interactive, and highly-personalized Web experiences that work across all the most popular browsers.
New Web protocol support for building WCF services including AJAX, JSON, REST, POX, RSS, ATOM, and several new WS-* standards.
Full tooling support for WF, WCF, and WPF, including the new workflow-enabled services technology.
New classes in .NET Framework 3.5 base class library (BCL) address the most common customer requests.

Download it here: http://www.microsoft.com/downloads/details.aspx?FamilyID=e6fd8663-8b77-4649-8d36-3830e18528fa&DisplayLang=en

Podcast: A conversation with Pablo Castro about Astoria's RESTful data services

Channel 9 has made available their latest podcast: A conversation with Pablo Castro about Astoria's RESTful data services

from the site:

In the latest episode of my Microsoft Conversations series I
talked with Pablo Castro about Astoria, a layer of middleware that makes data
readable and writeable by means of a RESTful interface. Even if you don't know
or care about the buzzwords, it's easy to show what Astoria does and to explain
why it's interesting. One of the sample databases configured to work with the
experimental version of Astoria is a subset of the Encarta encyclopedia. You
don't have be a programmer or grok XML in order to appreciate the Astoria-enhanced version of Encarta.
A database with Astoria layered on top of it isn't a web application, but
it's within shouting distance of being one, and you don't even have to shout
very loudly.
Pablo's presentation at MIX is chock full of
demos and explanations. Our podcast refers to and complements that
I'm not even close to being an expert in the underlying data
access technologies, including ADO.NET, the Entity Data Model, and LINQ, so
parts of the discussion quite frankly went over my head. Nor am I yet familiar
with the tooling that's required to wrap this kind of services layer around a
plain data source. But I'm 100% clear that it's a good idea, and a great example
of RESTful web services -- a book that Pablo Castro says is
"required reading" for members of the Astoria team.

Listen to the podcast(MP3)
Listen to the podcast(WMA)

Microsoft Announces Small Business Developer Center

To help address the needs of the small business developer, Microsoft designed a web site based around the top tasks that these developers are faced with regularly: integrating data between systems, building reports, building small web and windows LOB applications. The Small Business Developer Center is focused on providing practical, actionable platform guidance for developers working with small businesses.

Here are some links to get you started:

Integrate Data
Efficiently extract customer data that exists in various formats, clean it up and transform it into a consistent format that can be imported and utilized for reporting.

Create Reports
Take full advantage of Microsoft Office Excel and SQL Server Reporting Services to give your customers powerful reports – including pivot tables, charts and interactivity – that they can update and share internally or online.

Build Web Applications
Quickly develop static Web sites for customers in need of a simple online presence or leverage the ASP.NET platform and Visual Studio to create dynamic, interactive Web sites with deep customization.

Build Windows Applications
Create applications that small businesses can run on their existing Windows-based infrastructure, enabling them to manipulate and then synchronize data both internally and externally.

Deploy and Secure Your Applications
Ensure the Windows and Web applications you develop can be fully utilized by your customers once deployed and that data housed in an online environment is well-secured.