SQL Server 2008: FIXED “Saving changes is not permitted”

Working in SQL Server 2008 I received this confusing error when editing the structure of a table:

“Saving changes is not permitted. The changes that you have made require the following tables to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes that require the table to be re-created.”

I tried many things but I kept getting this error. After some trouble shooting I found the following information:

This error happens because “Saving Changes is not permitted” when using SQL Server 2008 Management Studio to modify the structure of a table especially when SQL Server needs to drop and recreate a table to save the structural changes. It is always advised to make a structural change for a table using TSQL. However, it is a convenient option for database developers to use SQL Server Management Studio make such changes  as the  Prevent Saving Changes That Require Table Re-creation option is enabled by default in SQL Server 2008 Management Studio.

I can understand why this feature would be helpful to have but to have it enabled by default is just silly.

I found that you can disable this feature by:

  1. Open the Tools menu then click on Options
  2. Open the “Designers” tree
  3. Click on “Table and Database Designers”
  4. Uncheck “Prevent saving changes that require table-creation”
  5. Press “Ok”

Once I disabled the “Prevent saving changes that require the table re-creation” option,  I was ahead and save the changes I needed to make.

Remove Unwanted Firefox Auto-Suggest Entries

Firefox 3 is awesome we all know that, but there are some things that that would just be nice to have. One of those things would be the ability to control what appears for the auto suggest when you type in the URL bar.

Most of the time FireFox does a very good job of figuring out what you want to do, but when it goes bad, it goes really bad and gets annoying fast.

The other day I accidentally typed in “google.com/a”, and from that moment time on, everytime I wanted to go to “google.com”, it would auto complete to “google.com/a”, and i would end up going there. Very annoying.

I searched the Firefox menus but couldn’t find anything to help. I didn’t want to wipe out all of the auto complete entries, I find most of them helpful. I did some research and realized that you can remove these entries manually, but you have to do it in an unconventional way.

How remove those unwanted auto suggest entries

1. The list appears as you type something.
2. Select an entry by pointing you mouse at the item in the list, it will highlight.
3. Press Shift + Delete from your keyboard to delete the entry.

That’s all! You can remove entries from the address bar.  This trick works on any Firefox auto complete list, including text fields and other dropdown suggestions.

This also works on windows, mac and linux machines

SQL Server 2008: FIXED “Data has changed since the Results pane was last retrieved”

Today I was trying to edit the value in a table cell through the query browser in Microsoft SQL Server Management Itudio and I kept getting the following error:

Data has changed since the Results pane was last retrieved. Do you want to save your changes now?
(Optimistic Concurrency Control Error)
Click Yes to commit your changes to database anyway.
Click No to discard your change and retrieve the current data for this row.
Click Cancel to continue editing.

I would click “Yes”, and get another error:

No row was updated.
The data in row X was not committed.
Error Source: Microsoft.VisualStudio.DataTools.
Error Message: The row value(s) updated or deleted either do not make the row unique or they alter multiple rows(N rows).
Correct the errors and retry or press ESC to cancel the change(s).

I was killing myself trying to figure out what was wrong. I was the only person working on the database, so the data wasnt being changed behind my back.

After an hour on goolge I came across a Microsoft tech article for MS SQL 2005, http://support.microsoft.com/kb/925719

It stated the issue could occure from one of the following conditions:

  • The table contains one or more columns of the text or ntext data type.
  • The value of one of these columns contains the following characters:
  • Percent sign (%)
  • Underscore (_)
  • Left bracket ([)
  • The table does not contain a primary key.

I double checked the table I was working on and realized it didnt have a primary key. It must have gotten dropped in the data migration from MS SQL 2000 to MS SQL 2008. A simple right click, set primary key and my problem was fixed.

Verify the primary keys! It’s a simple fix to a head breaker of a problem. I hope someone finds this and it fixes their issue.

Internet Explorer 6 must die!

noIE

As a professional web developer I have the authority to say this, Internet Explorer is a pain in the ass to support. IE 6 is the browser that shipped with Windows XP, so it was pretty wide spread. Every year on the web is like 10 years in any other industry. This makes IE 6 about 80 years old in practical terms, a literal antique. Microsoft is now on version 8 of Internet Explorer. IE6 is not considered a “modern browser”. Modern browsers honor web site development standards and promote a consistent visual experience are users. The most notable of these modern browsers are FireFox, Chrome, Safari, and even Opera.

In a nut shell, a web browsers is an interpreter of code. Programmers write the code to power a website, but the displaying and presentation of the site is up to the web browser. Modern browsers will all react the programmers code in a similar manner, this gives users a consistent experience and lets programmers worry more about making cool stuff instead of worrying about how to make their pages look consistent on all browsers. IE 6 doesn’t play by the modern rules, it does its own thing, which is often unpredictable. This means that programmers have to write special code just for people who use IE 6 to look at their site.

Despite IE 6 being a horrible browser that is full of security holes, people continue to use it which is mind blowing to me. Upgrading to IE 7 or IE 8 is free, and mandatory if you have Windows XP service pack 2 or 3 installed. Better yet, IE 6 doesn’t come with  Windows Vista or Windows 7. Get with the time people and upgrade your computers!

Because IE 6 is still widely used but doesn’t play by today’s rules so to speak, and it is old, the decision has been made, IE 6 MUST DIE!

Major website announced this week that they would be displaying special messages to IE 6 users telling them to upgrade to a modern browser or lose the use of the site. Some of the big boys behind this effort include Twitter, Facebook, Digg and YouTube. In time these sites are going to stop worrying about IE 6 users all together.

I think this is an amazing step towards the future and would like to see some of the larger websites join together to solve some of the webs other problems.

youtube-ie6.png