I Have a New Job

No one panic – I’m still a Solid Quality Mentor. 🙂

I am honored to accept the responsibilities of PASS Regional Mentor for the US Southeast! What does this mean? Well, I get to work with SQL Server User Groups and PASS chapters from Texas to North Carolina.

If you’re interested in starting a SQL Server Users Group – regardless of where you are – let me know! If you’re in thte Southeastern US I can help. If not, I can put you in contact with my counterpart in your region of the country / world.

:{> Andy

Installing SQL Server 2008 RC0

Introduction

SQL Server 2008 RC0 has been out for a while. You can download it here.

This post is not a detailed examination of the setup options. There are much better articles and posts out there if you want more information. This post represents one way to get SQL Server 2008 RC0 up and running so you can start learning the new features!

Getting Started

I downloaded the software and installed it on a brand new virtual machine running Windows Server 2008 Enterprise (without Hyper-V). I used VMWare Workstation for this virtual machine because I need a 64-bit guest OS. I was also able to configure the machine to use both CPUs on my host system. This may be possible with Virtual Server or Virtual PC, but I don’t know how to do it (if it is).

I loaded the ISO image for SQL Server 2008 RC0 64-bit into the virtual DVD drive and started the setup application. The following screen displays:

Now this looks a lot different from previous SQL Server installation applications. In general, you navigate between pages using the Page List on the left. To continue installing click the Installation link in the Page List:

Installing a Stand-Alone Default Instance 

To install a new instance of SQL Server 2008, click the “New SQL Server stand-alone installation or add features to an existing installation” link. The Setup Support Rules wizard executes and checks your system configuration:

 

Green checkmarks == good. When you click OK the Product Key screen displays. On this screen you can select any of the available evaluation editions or enter a product key:

Click Next to continue. The License Terms page is next. Accept the license terms and click Next to proceed:

The Setup Support Files page displays next. Click Install to begin application setup:

 

The first step in setting up the application is checking the Setup Support Rules:

 On this execution, the Setup Support Rules detected Windows Firewall and issued the following warning:

 

 I will address this warning after setup is complete. The next page is Feature Selection. Select the SQL Server 2008 features you wish to install and their respective directories, then click the Next button:

 The Instance Configuration page allows you to specify the SQL Server instance name and root directory:

Next, disk space is checked. Click Next to proceed:

Before configuring the Server, I created a SQL Server service account. Right-click My Computer and select Manage:

Navigate to Server Manager \ Configuration \ Local Users and Groups \ Users. Right-click in the Users pane and select New User:

I named my service account SQLDude:

Returning to the Server Configuration page of the SQL Server 2008 RC0 installation application, I click the “Use the same account for all SQL Server services” button and supply the credentials for SQLDude:

 

Click OK to assign the credentials to all services:

 

Click Next to proceed to the Database Engine Configuration page. On this page, configure administrator accounts, data directories, and the filestream options:

On the Data Directories tab, set a data root directory and edit any associated default paths:

I enabled filestream on the FILESTREAM tab. I haven’t tested this yet. Configuring Filestream did not work in the CTPs (this was one the bugs I reported):

The next page is Analysis Services Configuration. Select administrators and data directories for SSAS 2008:

Reporting Services Configuration is the next page. I installed the native mode default configuration:

Click Next to set Error and Usage Reporting options on the next page:

Click Next to execute the Installation Rules. If there are no errors or warnings, click Next to proceed. Otherwise, stop here and address them:

Click Next to navigate to the Ready to Install page. Review the summary and click Back to make any changes. Click Install to install SQL Server 2008 RC0:

Once the installation completes the Next button will enable. Review the Status to make sure all items are marked Success and click Next to complete the installation:

Click Close on the Complete page to unload the SQL Server 2008 RC0 installation application:

That’s it! You’ve successfully installed SQL Server 2008 RC0 – congratulations!

:{> Andy

Installing SQL Server 2008 RC0

Introduction

SQL Server 2008 RC0 has been out for a while. You can download it here.

This post is not a detailed examination of the setup options. There are much better articles and posts out there if you want more information. This post represents one way to get SQL Server 2008 RC0 up and running so you can start learning the new features!

Getting Started

I downloaded the software and installed it on a brand new virtual machine running Windows Server 2008 Enterprise (without Hyper-V). I used VMWare Workstation for this virtual machine because I need a 64-bit guest OS. I was also able to configure the machine to use both CPUs on my host system. This may be possible with Virtual Server or Virtual PC, but I don’t know how to do it (if it is).

I loaded the ISO image for SQL Server 2008 RC0 64-bit into the virtual DVD drive and started the setup application. The following screen displays:

Now this looks a lot different from previous SQL Server installation applications. In general, you navigate between pages using the Page List on the left. To continue installing click the Installation link in the Page List:

Installing a Stand-Alone Default Instance 

To install a new instance of SQL Server 2008, click the “New SQL Server stand-alone installation or add features to an existing installation” link. The Setup Support Rules wizard executes and checks your system configuration:

 

Green checkmarks == good. When you click OK the Product Key screen displays. On this screen you can select any of the available evaluation editions or enter a product key:

Click Next to continue. The License Terms page is next. Accept the license terms and click Next to proceed:

The Setup Support Files page displays next. Click Install to begin application setup:

 

The first step in setting up the application is checking the Setup Support Rules:

 On this execution, the Setup Support Rules detected Windows Firewall and issued the following warning:

 

 I will address this warning after setup is complete. The next page is Feature Selection. Select the SQL Server 2008 features you wish to install and their respective directories, then click the Next button:

 The Instance Configuration page allows you to specify the SQL Server instance name and root directory:

Next, disk space is checked. Click Next to proceed:

Before configuring the Server, I created a SQL Server service account. Right-click My Computer and select Manage:

Navigate to Server Manager \ Configuration \ Local Users and Groups \ Users. Right-click in the Users pane and select New User:

I named my service account SQLDude:

Returning to the Server Configuration page of the SQL Server 2008 RC0 installation application, I click the “Use the same account for all SQL Server services” button and supply the credentials for SQLDude:

 

Click OK to assign the credentials to all services:

 

Click Next to proceed to the Database Engine Configuration page. On this page, configure administrator accounts, data directories, and the filestream options:

On the Data Directories tab, set a data root directory and edit any associated default paths:

I enabled filestream on the FILESTREAM tab. I haven’t tested this yet. Configuring Filestream did not work in the CTPs (this was one the bugs I reported):

The next page is Analysis Services Configuration. Select administrators and data directories for SSAS 2008:

Reporting Services Configuration is the next page. I installed the native mode default configuration:

Click Next to set Error and Usage Reporting options on the next page:

Click Next to execute the Installation Rules. If there are no errors or warnings, click Next to proceed. Otherwise, stop here and address them:

Click Next to navigate to the Ready to Install page. Review the summary and click Back to make any changes. Click Install to install SQL Server 2008 RC0:

Once the installation completes the Next button will enable. Review the Status to make sure all items are marked Success and click Next to complete the installation:

Click Close on the Complete page to unload the SQL Server 2008 RC0 installation application:

That’s it! You’ve successfully installed SQL Server 2008 RC0 – congratulations!

:{> Andy

Dear Google…

Dear Google,

   I am not a spammer. I’m a guy trying to inform 500 people in the Richmond .Net and SQL Server Developer Communities about upcoming meetings and events of interest to them. To protect their privacy and my sanity, I keep their email addresses in a Google Email Group and BCC that group each time I send them an email.

   The new email sending limits seem to be working fine when used against me, but my spam folder still receives more email than my inbox – and that’s saying something: I receive a bit of email.

   Is there a way to create a “white list” of some sort so I can contact the developer community without losing the privilege of sending email for 24 hours at a time?

Sincerely,
Andy

Software Development Meme

Frank La Vigne called me out on the Software Development Meme, so here goes:

How old were you when you first started programming?

I was 11 – almost 12. It was 1975, about this time of year. Has it been 33 years? Goodness…

How did you get started in programming?

I lived in the sticks (we had to pipe in sunshine but moonshine came in Mason jars…) when our neighbor retired from the Air Force. John was an engineer and built a Southwest Technical Products Motorola 6800-based computer trainer from a kit, followed by a computer.

What was your first language?

I learned M6800 machine language on the trainer. Set the toggle switch up for 1, down for 0, IncAddr, LDAA switches, etc. I learned BASIC later that year – we had no persistent storage so we had to key in hexadecimal from Byte magazine for a while before actually coding BASIC, if we got it right. Usually John would read and I would type. It was cool.

What was the first real program you wrote? 

I wrote a program to track weather systems across the US. The grid was initialized with periods and storm system centers were represented with asterisks.

What languages have you used since you started programming? 

Goodness…

Many variations of BASIC including GW and Commodore
C
Programmable Logic Controller (PLC) ladder logic (Allen-Bradley, Seimens, GE, Modicon, others…)
Human-Machine Interface (HMI) languages (RSView, Wonderware)
A handful of proprietary classified languages and protocols while in and working for the military
Several proprietary languages used in the banking industry to manage ATMs, teller currency dispensers, and alarm systems
Visual Basic, versions 2.0 – present
VBScript
JavaScript
HTML, ASP
PL/SQL
Transact-SQL
SSIS
SSRS

These days I work with T-SQL, SSIS, SSRS, and VB.Net scripting inside SSIS and SSRS.

What was your first professional programming gig? 

Programming was a hobby for a good couple decades (it is still my hobby). I found myself programming at a lot of jobs before it was my “job.” I programmed “stuff” while in the military during the 1980’s, and banking systems for about five years in the late 80’s/ early 90’s. I programmed machine controllers (PLCs) and HMIs while an industrial electrician. Once I became an engineer, I programmed even more of these systems. But I suppose my first official programming gig was when I started my first business in the mid-90’s. I was regularly able to attract and deliver software projects in between designing and building electrical control systems.

If you knew then what you know now, would you have started programming?

Without reservation! As I stated, programming remains my hobby!

If there is one thing you learned along the way that you would tell new developers, what would it be? 

Continue learning and growing. Don’t expect things to stay the same. If uncertainty bugs you and/or you need stability for your long-term peace-of-mind, you’re in the wrong field. Keep learning. If you enjoy learning, you’re in the right field.

What’s the most fun you’ve ever had … programming? 

I have a good friend who works for NASA. Bruce showed me this application that allowed him to connect to some big network NASA could access in the early 90’s. The application showed him pages with links which was cool in and of itself, but what really got me thinking was that it ran on his Sun workstation and his Mac. What’s more, there was a version that would run on my 486. Whoa! Cross-platform, and it looked and acted the same! It was Netscape and I immediately bought a copy (I think I paid $56 USD). I learned HTML. About that time, Rockwell bought Allen-Bradley and produced a suite of drivers that allowed me to communicate between VB (or VBScript) and an industrial RS-485 network of PLCs running at (a screaming) 19.2 kbps. I was inspired. I wrote an app in VB3 that would read registers in the PLC and generate *.htm files every 10 seconds. Folks in the plant – anywhere in the plant, running almost any platform – could see the latest counts and temperatures and process data from these machines – all the time! They just had to hit the refresh key. I realized later I had written the beginnings of one of the first web-based Manufacturing Execution Systems (MES’s) – called Decision Support Systems at the time.

Who are you calling out?

Steve Fibich
Kevin Israel
Jessica Moss
Kalen Delaney
Denis Gobo

I would call others if they bothered to blog!

:{> Andy

Five Bugs?

…continuing to follow the Entity Framework critics I mentioned earlier…

If A == B and B == C,…

A lot of life and nearly all business is based upon relationships. In business, it’s possible to lose money and remain afloat – and thrive in some cases – so long as you maintain positive cash flow. A business that is turning a profit can also fail by not properly managing or maintaining a positive cash flow. 

In the economy of relationships communication is the currency and courtesy is analogous to cash flow. This is why people will say things to you in business like “Pick your battles.” If you’re going to fight (ie, become discourteous) for something, it better be important.

So let me ask the participants in the Vote of No Confidence Petition a hypothetical question: As a technology professional who will – hypothetically – enjoy the benefits of a relationship with arguably the largest and most influential ISV on the planet, are five bugs worth it?

Let’s look at what you’ve done: Rather than communicate with Microsoft through one of the several readily-available methods, express your concerns, contribute to the conversation, and then help with any gaps in the implementation of which you are aware by blogging and posting ideas and suggestions and providing feedback for future releases, you’ve decided to exercise what Josh Holmes aptly describes as the nuclear option. In Farmville, we call this “throwing a hissy fit.”

In Response 

In my opinion the Entity Framework Team at Microsoft has responded to an irrational attack with dignity and grace. Kudos to them.

It seems the uproar is being mostly generated by one person. It also seems this isn’t the first overreaction for this particular individual. I am a huge fan of developer communities. Were I a member of the Alt.Net community I would not be afraid, I would be ashamed.

Free Speech

This isn’t advocating censorship of free speech, this is advocating responsibility for free speech. Sometimes people stand up for their right to free speech; sometimes (this is one of those times) the right to free speech stands up for an individual. Regardless, one is never free from the consequences of exercising their right to anything – free speech included.

This is about responsibility.

Stuff Happens

In Farmville, we call this a “mistake”. When you make a mistake the best thing to do is admit it, clean up the mess, move on, learn from it, and definitely do not repeat it.

Whatever you do, don’t continue justifying it. That’s another mistake.

:{> Andy

Databash

Introduction 

I just wrapped up an ETL With SSIS class in the Rochester, NY area and one of the students in the class pointed out “You haven’t blogged in over a week!” He’s right – I need to blog more and more often. I’ve been distracted with preparations to sell our house, releasing an e-book, writing the next volume in the e-book series, and working. No excuses, just information.

Shooting at Pots

I’ve seen some articles and posts lately taking aim at various technologies, some aimed at Microsoft and others aimed at a field of technology in general. The Microsoft uproar is about the ADO.Net Entity Framework. On one side is Microsoft, Tim Mallalieu, Ward Bell and the team that developed EF; on the other side are a group of people who decided to post an online petition to gather signatures and warn potential users of EF of potential dangers using the product. The “field of technology in general” is databases and data applications: Others are commenting about database and business intelligence topics.

On EF… 

Now, I won’t comment about the technical aspects of the ADO.Net Entity Framework because, well, I know very little about it.

I will say this: I do not like the way this is happening.

Here’s why: Microsoft has channels of communication for feedback from the community. Microsoft Connect is but one example of this (albeit a good one). For MVPs, there are direct communication channels to the Microsoft development teams or to those who communicate directly with those teams.

People Helping People 

Maybe I have this wrong, but I enjoy helping people learn to implement technical solutions. For me, that’s the juice. I enjoy watching a new application or database or website go – especially if it goes faster than it did before. I’m thrilled by the look on student’s faces when they put the pieces together about SSIS or database development.

So what happened here? Again, I’m not sure. I have seen similar things in the past. Maybe this applies to this situation, but probably not. 

You Don’t Always Get What You Want 

For everyone, there are things we like and things we don’t like. For everyone, there are things we understand and things we don’t. Most people I know respond to the things they do not understand by thinking (and perhaps blogging) “I don’t understand this.” Similarly, most people I know who do not like something state “I don’t like this.”

Others, though, respond to things they do not understand or do not like (or both) by saying “This is wrong.”

There is a world of difference between “I don’t like it / I don’t understand” and “This is wrong.” The former is an opinion; the latter, a judgment. And – this is crucial – you can fix “I don’t understand this” with education (if you’re willing to learn).

When I read a judgment about a technology topic, my initial reaction is to question the writer – especially when the writer has the talent and skill to help ordinary users address the issues they’ve identified and opts instead to bash the technology. It’s one thing to say “This is wrong” and another to say “I disagree with this implementation of technology but here’s how you can make it work like I think it should”. That’s a lot of verbiage but I think you get the point. One response is helpful.

On Database Bashing…

I understand this technology better than EF technology. Let me first start by saying that if I do not personally know how to do it, it cannot be done.

Did that last statement sound cocky? arrogant? conceited? accurate? Yes, yes, yes, and no. Suppose I write something like: “If you don’t know what I know, you’re stupid and should quit database work and go do something else.” Again, cocky? arrogant? conceited? accurate? Yes, yes, yes, and no. This doesn’t help you. This doesn’t help me. In fact, this doesn’t help anyone.

Check Please

So here’s my two cents: It’s better to help folks than to complain – even if you sincerely believe your complaining is helping folks, it’s not. Really.

:{> Andy

 

Database Edition Now Does DB2!

Tech Ed 2008 included some major announcements for database development folks. One of the biggees was this – and announcement that Database Edition is going to support DB2 development!

Gert and the team have been working hard to expand the underlying architecture and functionality of Database Edition (making it extrememly difficult for this one author I know in Farmville to keep up… I’m not complaining!). Rearchitecting Data Dude to utilize a provider-based model was no small task, but the team at Microsoft has been able to pull it off – way to go team!

These changes affect a lot of how Database Edition currently works. We were given a preview at the MVP Summit in April. The work is impressive, but the ability and agility provided by the new architecture is even more so.

You will see a ton of changes with the release of Visual Studio Team System 2008 Database Edition GDR. You can currently download the June CTP here.

:{> Andy