SQL Server Developers Get Taste of 'Juneau' Goodies

Here's good news if you're a database developer who doesn't like working with SQL Server Management Studio (SSMS): You may not have to use it too much longer.

At the recent PASS Summit, Microsoft showed a packed roomful of database developers how the next version of SQL Server--code-named "Denali"--will include a unified development environment based on Visual Studio.

Officially called SQL Server Developer Tools code-named "Juneau," the new bells and whistles were demonstrated by Microsoft's Don Box during a PASS keynote address by Quentin Clark.

"What we're trying to do with Juneau is really advance the state of the art of database development," Box said as he demonstrated the new functionality in a Visual Studio shell. "What we're doing is, we're looking at all the stuff we've done in the past, all the stuff that's been done in Visual Studio, around doing things like .NET, C++, C<--we're trying to bring that goodness to the database development world," Box said.

Working in the Visual Studio shell, Box said, lets developers "take advantage of the new shell, the new WPF-based text editor, new language services. All those accrue value to the SQL Server product. And this also accrues value to business intelligence, so the BIDS assets are going to be in the same shell as our relational database assets."

With a nod to those who happen to like SSMS, Box demonstrated the "connected experience that an SSMS user is going to be used to, inside of Juneau."

Box showed how Juneau lets developers use the Server Explorer to drill down into a database and get the same preview that SSMS provides. "I can say new query and I get the new text editor with new language services on top of T-SQL based on the database I'm deployed against," he said. He showed a simple Execute command and said, "I also can do execute with debugging, so basically anywhere I see SQL text in a text editor, I can select it and either execute it directly against the database, or I can execute under debugging and just start doing step into or step over, anyplace I see text."

A new table designer was also demoed that used the Visual Studio style panes of code, design or a split between the two. When changes were made to the design pane, they were immediately reflected in the text editor pane, and vice versa.

Also, Box noted that the table designer lets developers easily see subordinate objects such as check constraints, primary constraints and indices. As he clicked through these items, the relevant T-SQL code was brought up in the text editor, with the affected columns highlighted.

And in some ways, Juneau will surpass SSMS. When using a CREATE view, Box noted that it's not idempotent, so any changes made would normally involve transcribing them into ALTER commands. "One of the things that we do in the tool which is an advance of what I have in SSMS today, is I have the ability to take all these pending changes which I've been accruing and say 'figure out the ALTER script for me.' So if I say commit all to database, we actually do analysis of all the source text that you've now accrued vs. the actual catalog in the database and we figure out what needs to be done to make this so."

Plenty of other cool things were shown, also, including FileTable file storage, semantic searching and version-awareness and edition-awareness, which means Juneau enforces language constraints depending on your target, be it Denali, SQL Server 2008 or SQL Azure. And speaking of Azure and the cloud, while Box didn't address it directly, one of the aims of Juneau is to "is to make developing for SQL Azure and on-site SQL exactly the same," according to a recent interview with Clark by The Register.

You can register and see the Box demo yourself--along with other presentations--at the PASS Web site.

While the first Community Technology Preview (CTP) of Denali was released at the Summit, developers will have to wait a bit to get their hands on the Juneau technology--it's scheduled to be included in the next CTP, with no expected timeline provided.

Posted by David Ramel on 11/15/2010 at 1:15 PM1 comments


New SQL Server: Scanning 1 Trillion Rows Per Minute

There were plenty of "oohs" and "aahs" from the audience at the PASS Summit during Ted Kummert's keynote address Tuesday as he demonstrated new capabilities of the next version of SQL Server, called "Denali."

One notable demonstration was with Microsoft's Amir Netz, who ran a side-by-side comparison of a database query using some 2 billion records, with one side of the screen showing the query being run with regular technology and the other side showing the same query running many times faster with the VertiPaq technology borrowed from PowerPivot. Netz said the blinding speed of VertiPaq would equate to a theoretical processing rate of 1 trillion rows per minute.

The VertiPaq technology--using columnar storage as opposed to rows--is now available to parts of the new SQL Server, such as the new BI Development Studio running with Visual Studio 2010.

Netz also gathered applause by showing off "Crescent," the code name for "a new Web-based data visualization and reporting tool that extends PowerPivot," as described by Microsoft. Netz showed in a flashy demo how huge amounts of data can be manipulated to "tell a story" to others.

While the Community Technology Preview of Denali was released at PASS, Microsoft hasn't said when a final product is expected to ship.

Other enhancements introduced by Microsoft include:

  • A SQL Server 2008 R2 Parallel Data Warehouse appliance released with hardware partner HP (with other choices available in the future). "Through deep interoperability with the Microsoft Business Intelligence (BI) platform, customers can deliver managed self-service BI solutions to everyone in the organization," Microsoft said in a statement.
  • An updated Microsoft Certified Master (MCM) program for SQL Server that "allows SQL Server experts to achieve MCM certification with more flexibility and at a lower cost compared with the previous program."
  • Code-name "Atlanta," a configuration service hosted in the cloud that will "help IT proactively avoid configuration problems and rapidly resolve identified issues through step-by-step guidance."

The PASS Summit continues through Thursday.

Posted by David Ramel on 11/09/2010 at 1:15 PM1 comments


New DataMarket, Improved SQL Azure Services Announced

Microsoft last week announced that its portal to buy and sell data services has launched as DataMarket, part of the Windows Azure Marketplace.

Formerly called Project Codename "Dallas," the market serves as a repository "that makes it easy to discover, purchase and consume data through a variety of different sources, both public domain and commercial," said program manager Steve Yi in a PDC10 session.

DataMarket has a new Web site and new information sources available for subscription, with many more on the way. The site lists 13 data categories such as Financial, News, Statistics and Weather, along with 28 publishers and more than 70 individual data feeds.

The feeds are typically presented in the XML-based OData format and can be easily integrated into applications built with the .NET Framework, for example, or directly into PowerPivot and Tableau data visualization projects.

Microsoft is rolling out new paid services through Nov. 22, with a variety of pricing and consumption options. Users can also request early access to the paid subscriptions.

You can learn more about DataMarket here, and Microsoft has also put up several YouTube videos, dealing with topics such as discovering and subscribing to data and using DataMarket with PowerPivot.

In other data-centric news, the company announced several enhancements to the cloud-based SQL Azure, including a Community Technology Preview (CTP) of SQL Azure Reporting, bringing the same capabilities of SQL Server Reporting Services to the cloud.

A SQL Azure Data Sync CTP 2 was also announced, along with a lightweight, Silverlight-based database manager, formerly called "Project Codename Houston."

You can learn more by watching the following PDC10 video presentations:

Introduction to Windows Azure Marketplace DataMarket

What’s New in SQL Azure

Code First Development with Entity Framework

Building Engaging Apps with Windows Azure Marketplace DataMarket

Introduction to SQL Azure Data Sync

Introduction to SQL Azure Reporting

Introduction to Database Manager

What do you think about the new DataMarket and SQL Azure enhancements? Comment here or drop me a line.

Posted by David Ramel on 11/03/2010 at 1:15 PM0 comments


SQL Connectivity: Give Microsoft Your Two Cents' Worth

Even though SQL Server just underwent a major upgrade with 2008 R2, Microsoft is seeking customer input about new features you'd like to see added to the database technology.

The company this week posted the SQL Connectivity Customer Survey (Fall 2010), which will be up until Oct. 25.

The survey asks respondents to rate the importance of possible enhancements such as improved network performance (via tabular data stream compression), easier setup and configuration (through a richer GUI), "reducing the number of new connections that need to be opened" (through connection pooling improvements) and several others.

It was exactly one year ago that the SQL Connectivity team started "interacting on a regular basis with the developers and users in the form of surveys," said program manager Raghu Ram in the survey introduction.

"During the last 12 months, we completed surveys that focused on the broad SQL Connectivity components, including ODBC, ADO.NET, JDBC and PHP," Ram said. "These surveys provide us with an ability to validate some of the requests we have got from developers, users and partners." He said the roadmap for SQL Server has evolved based on this survey feedback.

Indeed, last summer saw the release of SQL Server Driver for PHP 2.0, which for the first time supports PHP Data Objects code.

So here's your chance to possibly influence the next upgrade. In addition to the possible enhancements listed above, the survey asks respondents to rate the importance of better support for multi-core CPUs and multiple network interface cards, better diagnostics and troubleshooting, transparent failover and new authentication types.

What's at the top of your list for SQL Server improvements? Comment here or drop me a line.

Posted by David Ramel on 10/20/2010 at 1:15 PM3 comments


Yup, No SQL Server CE in Windows Phone 7

Yesterday's Windows Phone 7 launch extravaganza renewed the months-long debate among developers about database options--specifically, whether the new mobile OS should come with persistent local storage such as built-in SQL Server Compact Edition.

Microsoft's answer, of course, is go to the cloud. And if you don't want to do that, you can opt for a local storage alternative such as XML files, isolated storage or third-party embedded solutions such as Perst.

Besides the "The cloud is the answer. What's the question?" mentality in Redmond, many (even Microsoft people) have pointed out that Win Phone 7 targets consumers more than enterprises, so there is less need of any SQL Server.

Still, considering all the integration with other Microsoft technologies such as Xbox, Office and so on, it seems strange there's no stated intention to provide SQL Server in the future, like they're doing with copy-and-paste functionality. Surely Microsoft isn't going to ignore the enterprise market, and developers in the enterprise market have clearly stated their preference. Check out these comments from the debate mentioned above on an MSDN forum:

  • No database in WM7 Phones? This is ridiculous! 
  • With this I may stick into iPhone development.
  • Without real database support, a phone is just a portal device.  It will have very little value in itself, and will be easily replaced with the next shiny new portal device with a flashy UI.
  • This is indeed a step backward from WM 6.5. Why not implement Sql CE Compact? You cannot write real business application without database support and cannot presume that we live in an always connected world. Developers need database support ... Are you really considering not to implement it?
  • This doesn't make any sense, surely it can't be a huge undertaking to incorporate SQL Server Compact with its managed wrapper into Windows Phone 7?
  • We just started our project (2 months ago) to move to WM ... THE one deciding factor was SqlCe ... with that gone we will definitely regroup and probably move to Droid or iPhone before we throw any more resources after WM with no stated intentions!
  • I concur with everyone else...developers NEED database support on Windows Phone 7!

It's pretty obvious what mobile developers want. Is Microsoft listening?

What do you think? We'd love to hear your arguments, pro and con. Has anybody seen definitive indications that SQL Server CE is coming to Windows Phone 7? Comment here or drop me a line.

Posted by David Ramel on 10/12/2010 at 1:15 PM27 comments


Using WebMatrix with PHP, OData, SQL Azure, Entity Framework and More

I've written before about Microsoft's overtures to the PHP community, with the August release of PHP Drivers for SQL Server being the latest step in an ongoing effort to provide interoperability between PHP and Microsoft technologies.

With a slew of other new products and services released (relatively) recently, such as SQL Azure, OData and WebMatrix, I decided to see if they all work together.

Amazingly, they do. Well, amazing that I got them to work, anyway. And as I've said before, if I can do it, anyone can do it. But that's the whole point: WebMatrix is targeted at noobs, and I wanted to see if a hobbyist could use it in conjunction with some other new stuff.

WebMatrix is a lightweight stack or tool that comes with stripped-down IIS and SQL Server components, packaged together so pros can do quick deployments and beginners can get started in Web development.

WebMatrix is all over PHP. It provides PHP code syntax highlighting (though not IntelliSense). It even includes a Web Gallery that lets you install popular PHP apps such as WordPress (see Ruslan Yakushev's tutorial). Doing so installs and configures PHP and the MySQL database.

I chose to install PHP myself and configure it for use in WebMatrix (see Brian Swan's tutorial).

After doing that, I tested the new PHP Drivers for SQL Server. The August release added PDO support, which allows object-oriented programming.

I used the PDO driver to access the AdventureWorksLTAZ2008R2 test database I have hosted in SQL Azure. After creating a PDO connection object, I could query the database and loop over the results in different ways, such as with the PDO FETCH_ASSOC constant:

(while $row = $sqlquery->fetch(PDO::FETCH_ASSOC) )

or with just the connection object:

foreach ($conn->query($sqlquery) as $row)

which both basically return the same results. You can see those results as a raw array on a site I created and deployed on one of the WebMatrix hosting partners, Applied Innovations, which is offering its services for free throughout the WebMatrix beta, along with several other providers. (By the way, Applied Innovations provided great service when I ran into a problem of my own making, even though the account was free.)

Having tested successfully with a regular SQL Azure database, I tried using PHP to access the same database enabled as an OData feed, courtesy of SQL Azure Labs. That eventually worked, but was a bit problematic in that this was my first exposure to PHP and I haven't worked that much with OData's Atom-based XML feed that contains namespaces, which greatly complicated things.

It was simple enough to grab the OData feed ($xml = file_get_contents ("ODataURL"), for one example), but to get down to the Customer record details buried in namespaces took a lot of investigation and resulted in ridiculous code such as this:

echo $xmlfile->entry[(int)$customerid]->children
('http://www.w3.org/2005/Atom')->content->
children
('http://schemas.microsoft.com/ado/2007/08/dataservices/metadata')->
children
('http://schemas.microsoft.com/ado/2007/08/dataservices')->
CompanyName->asXML();

just to display the customer's company name. I later found that registering an XPath Namespace could greatly reduce that monstrous line, but did require a couple more lines of code. There's probably a better way to do it, though, if someone in the know would care to drop me a line (see below).

Anyway, the ridiculous code worked, as you can see here.

I also checked out the OData SDK for PHP. It generates proxy classes that you can use to work with OData feeds. It worked fine on my localhost Web server, but I couldn't get it to work on my hosted site. Microsoft Developer Evangelist Jim O'Neil, who used the SDK to access the "Dallas" OData feed repository, suggested I needed "admin privileges to configure the php.ini file to add the OData directory to the include variable and configure the required extensions" on the remote host. I'm sure that could be done easily enough, but I didn't want to bother the Applied Innovations people any further about my free account.

So I accessed OData from a WebMatrix project in two different ways. But that was using PHP files. At first, I couldn't figure out how to easily display the OData feed in a regular WebMatrix (.cshtml) page. I guess I could've written a bunch of C# code to do it, but WebMatrix is supposed to shield you from having to do that. Which it does, in fact, with the OData Helper, one of several "helpers" for tasks such as using Windows Azure Storage or displaying a Twitter feed (you can see an example of the latter on my project site). You can find more helpers online.

The OData Helper made it trivial to grab the feed and display it in a WebMatrix "WebGrid" using the Razor syntax:

@using Microsoft.Samples.WebPages.Helpers
@{
var odatafeed = OData.Get("[feedurl]");
var grid = new WebGrid(odatafeed, columnNames : new []{"CustomerID",
"CompanyName", "FirstName", "LastName"});

@grid.GetHtml();

which results in this display.

Of course, using the built-in SQL Server Compact to access an embedded database was trivial:

@{
var db = Database.OpenFile("MyDatabase.sdf");
var query = "SELECT * FROM Products ORDER BY Name";
var result = db.Query(query);
var grid = new WebGrid(result);
 }
@grid.GetHtml();

which results in this.

Finally, I tackled the Entity Framework, to see if I could do a regular old query on the SQL Azure database. I clicked the button to launch the WebMatrix project in Visual Studio and built an Entity Data Model that I used to successfully query the database with both the ObjectQuery and Iqueryable approaches. Both of the queries' code and resulting display can be seen here.

Basically everything I tried to do actually worked. You can access all the example results from my Applied Innovations guest site. By the way, it was fairly simple to deploy my project to the Applied Innovations hosting site. That kind of thing is usually complicated and frustrating for me, but the Web Deploy feature of WebMatrix really streamlined the process.

Of course, WebMatrix is in beta, and the Web Deploy quit working for me after a while. I just started FTPing all my changed files, which worked fine.

I encountered other little glitches along the way, but no showstoppers. For example, the WebMatrix default file type, .cshtml, stopped showing up as an option when creating new files. In fact, the options available for me seemed to differ greatly from those I found in various tutorials. That's quite a minor problem, but I noticed it.

As befits a beta, there are a lot of known issues, which you can see here.

Overall, (much like LightSwitch) I was impressed with WebMatrix. It allows easy ASP.NET Web development and deployment for beginners and accommodates further exploration by those with a smattering of experience.

We'd love to hear your thoughts about WebMatrix, Microsoft's embrace of PHP, or (kind of) new stuff like OData and SQL Azure in general. Comment below or drop me a line.

Posted by David Ramel on 09/30/2010 at 1:15 PM2 comments


LightSwitch: From Download to a Cloud App in 55 Minutes

You've probably heard about the uproar from professional developers about Microsoft's new direction of catering to amateurs with low-end tools like WebMatrix and Visual Studio LightSwitch, designed for quickly building data-centric apps without that pesky code-writing thing.

Some people complain that Microsoft is promoting poor programming practices; some complain that it devalues their jobs and leads to impossible expectations ("Joe in Finance did this in an hour, why can't you just flesh it out into a companywide app by the end of the day?"); some apparently just don't like opening up software development to the great unwashed masses.

From what I've read, it seems like WebMatrix is targeted to hobbyists or techies just looking to experiment with programming , possibly leading to more advanced coding and escalation of skills, while LightSwitch is designed to let non-programmers quickly get small business apps going for single or small group use.

Or, as Eric Nelson wrote in an MSDN blog: "LightSwitch is targeted at business developers and power users creating custom LOB applications leveraging data from multiple sources that can be easily deployed to the desktop or cloud."

I could fake being a business developer or power user, so I decided to find out just how easy it is to build a LightSwitch data-centric app, using a SQL Azure database in the cloud.

I started from scratch, downloading LightSwitch, installing it and building the app. The timeline went something like this:

  • 11:15 -- Search for LightSwitch; download it.
  • 11:31 -- Begin installation.
  • 11:47 -- Setup Complete, Thank You For Installing, Run The Product Now.
  • 11:48 -- Restart required to finish installation (?) but installation doesn't continue after restart.
  • 11:53 -- Start building an app, roughly following a tutorial.
  • 11:59 -- Connect to my SQL Azure database.
  • 12:10 -- Display a query-based "screen" that lets me add, edit and delete records. Like this:
Flipping LightSwitch on
Figure 1. A LightSwitch query-based 'screen' showing a SQL Azure database. [Click image for larger view.]

So, in less than an hour, with no LightSwitch experience whatsoever, I was looking at a customized pseudo-app in Visual Studio. (Of course, that doesn't include 45 minutes or so of fumbling around because I couldn't find any LightSwitch new project templates in VS until it finally dawned on me I had to target .NET 4 instead of 3.5, but that's just my usual inept Ramel-specific experience that other people don't have to go through).

Deployment is a whole other issue, and seems to be a little buggy in this beta. I couldn't get a "three-tier" app running on my hosted server with msdeploy.exe, but a less ambitious "two-tier" desktop app was easy to get going on localhost.
So the tool seems to do the job it was designed for and should get even better in final release.

I've also been tinkering with the WebMatrix beta. It has required more coding from me, but that's because I've been attempting far more complex experiments with PHP, Odata, SQL Azure and the like.

But it too seems to fulfill its promise. It combines low-end versions of IIS (Developer Express) and SQL Server (Compact, or embedded) with the ASP.NET framework that make it easy to get data-centric Web apps up and running. It provides many templates for common technologies such as WordPress, DotNetNuke, Joomla! and more. And deployment worked out much better. It has a simple "Web Deploy" (apparently a packaged msdeploy.exe) feature that allowed me to get some apps up and running on one of the suggested hosts, Applied Innovations (great service from these guys!).

I like fooling around with these tools. Quite simply, some .NET concepts (covariance, contravariance, anyone?) are beyond me and will never be mastered. The framework is just too complex. It's frustrating to muck around in C# and know there are ways to do what I want to do, but it takes endless hours of searching and blunt-force, trial-and-error drudgery to do it.

Maybe that's not an issue for professional developers who devote their working lives to learning .NET and the like, but I wonder how hard it is for some of them, too. There are a lot of experts out there, but they all seem to have their own little areas of expertise. Has anyone mastered the whole thing?

I greatly admire professional developers and the work they do. But there's a great middle ground between absolute novices and skilled pros, and Microsoft is trying to address that market. Why not?

What do you think? Comment here or drop me a line.

Posted by David Ramel on 09/22/2010 at 1:15 PM11 comments


The Future Of Data And Search--Or At Least A Fun Toy

This data stuff is getting cooler all the time.

Continuing to explore new ways of looking at data, I've been fooling around with Pivot from Microsoft Live Labs.

It takes data visualization to a spectacular new level with intriguing manipulation of images and data. It uses "Collections," composed of XML data and images, that "combine large groups of similar items on the Internet, so we can begin viewing the relationships between individual pieces of information in a new way. By visualizing hidden patterns, Pivot enables users to discover new insights while interacting with thousands of things at once."

Pivot projects can range from simple to extraordinarily complex. For a simple example, I downloaded the Excel plugin. It adds a Pivot Collections tab to the Excel ribbon where you can enter items for your collection, including image location, name, Href if applicable and description.

Entering data into Excel Pivot tool -- in the cloud.
Figure 1. Entering image information and accompanying metadata into the Excel Pivot tool. [Click image for larger view.]

It took just minutes to choose 10 photos of family visits to South Carolina beaches and enter them into Excel, with the description field indicating family members featured in each photo: a combination of David, Laura, Justin and Kristen. I could then then preview the collection and publish it.

Calling up the collection in the Pivot viewer presented all 10 photos.

Ramel pics, done.
Figure 2. The completed Ramel family beach outing collection. [Click image for larger view.]

The viewer lets me enter a keyword to find the photos with descriptions matching that keyword. So entering "David" makes the seven photos without me in them animate off the screen, leaving the three photos that include me.

Filtering for David
Figure 3. Choosing to view just photos featuring "David." [Click image for larger view.]

Entering "Justin" shows all photos with the both of us, and adding "Kristen" presents all photos that feature all three of us and so on.

I did a similar project with stock photos on my Windows 7 machine, featuring landscapes, animals and flowers. If you download the Pivot tool you can point its browser to view my project here and sort by "animal," "flower" and "earth."

Also, a Silverlight PivotViewer control lets Web devs embed Pivot into their sites; you can see the above example as a Silverlight app here (I used a SDK example, so on this page there are nav links to other collections such as new cars and AMG movies in the top right corner).

Filtering for flowers
Figure 4. The stock photo collection, narrowed down to just flowers. [Click image for larger view.]

Those two simple "Hello World"-type projects give you the basic idea, but the complexity can increase markedly, of course. There are Linked collections that can contain several thousand items and Just in Time collections that are built dynamically from user input and can be of unlimited size, with various types of selection tools, such as checkboxes and sliders to narrow results.

This enables endless possibilities. For examples, if you're into the new fantasy football season, you can use one of the collections in the Pivot gallery to view all NFL players and their stats from the 2009 season, sorting by position, team and the usual stats: touchdowns, rushing yards, passing yards and so on.

Or you can search through national parks monuments and historic places, sorting by state, type, number of annual visits, typical crowd size and more, using checkboxes and sliders to adjust different parameters.

National parks and Montana, filtered.
Figure 5. National parks and such in Montana. [Click image for larger view.]

If you haven't downloaded the Pivot viewer, you can quickly check out the functionality--and animation--by going to MSDN Magazine's Web site and clicking on the big "Launch Pivot" button. Then you can explore 10 years worth of magazine articles, sorting by popularity ("viewed often" or "viewed occasionally"), topic, issue date, author, column name and even if the article has associated downloadable source code or not. Though I must say, the logo/text images aren't nearly as spectacular as those in the national parks collection. (In the interest of full disclosure, I'm the features editor for MSDN Magazine, though not a Microsoft employee.)

There are dozens, if not hundreds, of interesting Pivot examples out there. It can also be used to find Web pages and do other cool stuff. It may just be the future of search on the Web.

If you've tried Pivot, let us know what you think about it. Or share other cool Pivot examples.

Posted by David Ramel on 09/13/2010 at 1:15 PM0 comments


SQL Azure Gets New Features -- Users Want More!

Microsoft last week updated its cloud-based SQL Azure service, but some users are still clamoring for additional features to bring it up to par with SQL Server.

Service Update 4 enables database copying, among other improvements. Several readers, however, immediately responded to the announcement by asking for more. One issue is lack of a road map of future enhancements planned for SQL Azure.

"It is great to see the SQL Azure team constantly improving the service," wrote a poster called Savstars. "I think what a lot of people would like to see a feature implementation road map from the SQL Azure teams' management. This should assist project managers figure out when would be the best time to release their projects to the SQL Azure platform, based on when the required features become available."

A reader named Niall agreed: "Yeah I have been asking for some sort of road map previously. It would really help so that we can plan on when or if we use SQL Azure for production." He also said Reporting Services was his big requirement, while another reader asked for "free text support" -- I'm thinking he might've meant "full-text search support" or "free tech support."

Other limitations of SQL Azure as compared to SQL Server are numerous, as Microsoft points out. It also lists a page full of general similarities and differences.

Michael K. Campbell earlier this year wrote that missing features such as Geography or Geometry data types, Typed XML and CLR functionality could serve as "showstoppers" for database developers considering moving to the Azure cloud.

The lack of BACKUP and RESTORE commands has long been a sore point, though, which the new copy capability addresses. Other enhancements in the new service update include more data centers for the management tool code-named Houston, which will improve performance. Also, a documentation page has been put together, though right now topics there are about just connecting to SQL Azure through various means such as ADO.NET, ASP.NET, Entity Framework and PHP.

What features would you like to see added next? Comment below or drop me a line.

Posted by David Ramel on 08/31/2010 at 1:15 PM2 comments


Try Your Own OData Feed In The Cloud--Or Not!

So, being a good Data Driver, I was all pumped up to tackle a project exploring OData in the cloud and Microsoft's new PHP drivers for SQL Server, the latest embodiments of its "We Are The World" open-source technology sing-along.

I was going to throw some other things in, too, if I could, like the Pivot data visualization tool. I literally spent days boning up on the technologies and trying different tutorials (by the way, if someone finds on the Web a tutorial on anything that actually works, please let me know about it; you wouldn't believe all the outdated, broken crap out there--some of it even coming from good ol' Redmond).

So part of the project was going to use my very own Odata feed in the cloud, hosted on SQL Azure. The boys at SQL Azure Labs worked up a portal that lets you turn your Azure-hosted database into an OData feed with a couple of clicks. It also lets you try out the Project Houston CTP 1 and SQL Azure Data Sync.

The https://www.sqlazurelabs.com/ portal states:

SQL Azure Labs provides a place where you can access incubations and early preview bits for products and enhancements to SQL Azure. The goal is to gather feedback to ensure we are providing the features you want to see in the product.

Well, I provided some feedback: It doesn't work.

Every time I clicked on the "SQL Azure OData Service" tab and checked the "Enable OData" checkbox, I got the error in Fig. 1.

Enable SQL Azure OData begets an error
Figure 1. Problems on my end when I try to get to enable the SQL Azure OData Service. [Click image for larger view.]

I figured the problem was on my end. It always is. I have an uncanny knack of failing where others succeed in anything technology-related. It's always some missed configuration or incorrect setting or wrong version or outdated software or … you get the idea. Sometimes the cause of my failure is unknown. Sometimes it's just the tech gods punishing me for something, it seems. Check out what just now happened as I was searching for some links for this blog. This is a screenshot of the search results:

Garbled message
Figure 2. Stephen Forte's blog can be difficult to read at times. But it's absolutely not his fault. [Click image for larger view.]

I mean, does this stuff happen to anyone else?

Basically, though, I'm just not that good. But hey, there are other tech dilettantes out there or beginners who like to muck around where they don't belong, so I keep trying in the hopes of learning and sharing knowledge. And, truthfully, 99 percent of the time, I persevere through sheer, stubborn, blunt force trial-and-error doggedness. But it usually takes insane amounts of time--you've no idea.

So I took my usual approach and started trying different things. Different databases to upload to Azure. Different scripts to upload these different databases. Different servers to host these different databases uploaded with different scripts. I tried combination after combination, and nothing worked. I combed forums and search engines. I found no help.

(By the way, try searching for that error message above. I can almost always find a solution to problems like this by Googling the error message. But in this case, nothing comes up except for one similar entry--but not an exact match. That is absolutely incredible. I didn't even think there were any combinations of words that didn't come up as hits in today's search engines.)

Usually, a call to tech support or a forum post is my last resort. They don't usually work, and worse, they often just serve to highlight how ignorant I am.

But, after days of trying different things, I sent a message to the Lab guys. That, after all, is the purpose for the Lab, as they stated above: feedback.

So things went something like this in my exchange with the Labs feedback machine:

Me: When I check box to enable Odata on any database, I get error:

SQL Azure Labs - OData Incubation Error Report
Error: Data at the root level is invalid. Line 1, position 1.
Page: https://www.sqlazurelabs.com:20000/ConfigOData.aspx
Time: 8/9/2010 2:56:16 PM

D., at SQL Azure Labs: Adding a couple others..
Anything change guys?

J., at SQL Azure Labs: None from me.

M., at SQL Azure Labs: I'm seeing the same error, though I haven't changed anything either.
J., can you look at the change log of the sources to see if anything changed?
D., have you published any changes in the past week?

J., at SQL Azure Labs: OK. Will have to wait until this afternoon, however.

M., at SQL Azure Labs: J.; might something have changed on the ACS side?
The error is coming from an xml reader somewhere, and occurs when the "Enable OData" checkbox is selected...

So that was a couple days ago and I'm still waiting for a fix. But at least I know it wasn't me, for a change. That's a blessed relief.

But that made me wonder: Just how many people are tinkering around with OData if this issue went unreported for some unknown amount of time, and hasn't been fixed for several days? Is it not catching on? Is no one besides me interested in this stuff? That's scary.

I'm not complaining, mind you. I was gratified to get a response, and a rapid one at that--not a common occurence with big companies. I think Microsoft in general and the Lab guys specifically are doing some great stuff. I was enthusiastic about the possibilities of OData and open government/public/private data feeds being accessible to all. And the new ways coming out to visualize data and manipulate it are cool. And a few others out there agree with me, judging from various blog entries. But now I wonder. Maybe I'm in the tiny minority.

Anyway, today I found myself at Data Driver deadline with no OData project to write about, as I had planned to. So I had to come up with something, quick. Hmmm... what to write about?

What do you think of OData? Have you messed around with it? Do you plan to? Have you ever seen a Web tutorial that works? Comment here or drop me a line.

Posted by David Ramel on 08/12/2010 at 1:15 PM1 comments


Good Deed for Those In Need

SQL Server expert and Microsoft MVP Arnie Rowland struggled with how to disperse his valuable MSDN Ultimate subscriptions a few years ago. He ended up giving them to people who pledged to code for non-profit organizations.

That worked out well, so this year he launched a program to award the subscriptions--with a retail value of about $12,000--and more goodies to unemployed and underemployed developers who contributed their talents to a non-profit organization.

Other MVPs and organizations have picked up on his initiative and it has snowballed, growing in scope seemingly by the day. Who knows where it will end up?

Here's Arnie's proposition:

We are inviting unemployed or underemployed developers to propose a software project for a non-profit agency, school, or church. The idea is that we will provide a package of the latest software, tools, and training resources to help you improve your skills, get up to date with current technologies, gain practical experience, potentially earn a recommendation for your efforts, and in general, enjoy the feeling of accomplishing something useful for others. We are not giving out a ‘free lunch', just supporting your efforts to personally gain from your own ‘sweat equity'.

He started out small, with four other MVPs joining him. Also, several companies offered training, books and other software. He planned on selecting one qualifying project each month.

Recently, his blog listed 15 MVPs who have joined him, along with several more companies. The number of projects jumped to two and then three per month.

"I come to you humbled..." Arnie titled a recent post on his "Ramblings of a Harried Technogeek" blog on SQLblog.com. "I didn't anticipate the level of resonance this has received in the development community," he said. Readers have responded with offers of help and the project may well keep growing. Arnie may have to give up his day job.

Project criteria is listed as:

  • Client is a USA IRS 503(c)3 non-profit, school, or church, OR a Canadian CRA registered charity
  • Solves a problem or satisfies a need for the client
  • Client desires the project and is supportive
  • Uses any combination of .NET 4.0, Windows Server 2008, SQL Server 2008, or Windows Phone 7
  • May be a new software solution, or an upgrade to an existing software solution.

Developers can submit proposals here.

Non-profits can submit projects here.

His original post is here.

Share your thoughts in the comment section or drop me a line.

Posted by David Ramel on 07/28/2010 at 1:15 PM1 comments


Microsoft Tool Eases Management of Cloud Databases

Microsoft yesterday released a rough-around-the-edges CTP of a SQL Azure database management tool code-named "Houston," designed to let Web devs easily create and manipulate data-driven apps in the cloud.

"Project 'Houston' provides a Web-based database management tool for basic database management tasks like authoring and executing queries, designing and editing a database schema and editing table data," said Microsoft's David Robinson in the Azure Team Blog announcing the release.

Users can go to SQL Azure Labs to access the CTP of the Sliverlight-based tool, previewed at PDC09 and updated at MIX in April.

If you do, however, be prepared to deal with the usual hiccups in a Community Technology Preview. Robinson listed 19 "issues" with the CTP, ranging from not being able to reopen the Start page to zoom-related browser display problems.

Other bugs and suggestions have been submitted to the feedback page, including one complaining that the keyboard shortcuts don't behave as they do in SQL Server Management Studio, the tool previously used to manage databases in Microsoft's cloud (though the poster did say, "I understand that it's beta, so won't complain too much").

SQL Azure team member Liam Cavanagh, though, sees Houston as a great improvement over SSMS in regard to Data Sync Management. He said that prior to Houston, if he wanted to work with a customer who wanted to try Data Sync Management, the user had to install SSMS. "Now with Microsoft Project Code-Named 'Houston,' people can go directly to this Web-based management tool and start creating their SQL Azure databases without installing anything," he said in a blog posting.

Cavanagh expounds more on "Extending SQL Server Data to the Cloud using SQL Azure Data Sync" in a video tutorial. Other instructional videos about Houston can be viewed on TechNet.

Cavanagh also lauded the increased performance over SSMS. Because Houston is hosted on the SQL Azure data centers (just one so far), the latency is reduced from that experienced with SSMS, "which in many cases has far greater distance to communicate with my SQL Azure database," he said.

So check it out and let me know what you think. Comment here or drop me a line.

Posted by David Ramel on 07/22/2010 at 1:15 PM1 comments


Upcoming Events

.NET Insight

Sign up for our newsletter.

I agree to this site's Privacy Policy.