Google Drive Trick – Google Spreadsheet Formatting Dates to String

I have been using google drive and google spreadsheet for a while. I work with experts around the world and we all use different date format. The biggest confusion which often happens when we are sharing data is a timestamp. For some people it is natural to have dates time like dd/mm/yyyy and for some it is natural to have mm/dd/yyyy. Sometimes we are just confused looking at the date as there is no instruction about the format. Finally, we all decided that we will spell out the dates. For example, if we have date like 11/9/2014 to avoid confusion if it is November 9, 2014 or September 11, 2014 we decided to just write it in the string.

Now here is the problem with Google Spreadsheet – when I type any datetime, like as following, it will immediately convert them to mm/dd/yyyy format and defeat our purpose of spelling that out.

googlespreadsheet1 Google Drive Trick   Google Spreadsheet Formatting Dates to String

Finally, we figured out the solution how we can preserve the datetime as a string in Google Spreadsheet. Just start your datetime with a single quotes. For example now we enter datetime as follows:

‘September 9, 2014 instead of September 9, 2014. The best part is that, the single quotes are not visible on the screen.

googlespreadsheet2 Google Drive Trick   Google Spreadsheet Formatting Dates to String

Well, if there was any other way to do this and I was not aware of it, please let me know.

Reference: Pinal Dave (

Professional Development – Dr W. Edwards Deming’s 14 Principles on Total Quality Management

deming Professional Development   Dr W. Edwards Demings 14 Principles on Total Quality ManagementI was just reading Dr. W. Edwards Demings 14 principles of Total Quality Management. It is indeed very impressive and interesting. I have tried to collect a few of the important resources related to the same over here.

Dr. Demings’s 14 principles

  1. Create a constant purpose toward improvement
  2. Adopt the new philosophy
  3. Cease dependence on mass inspection
  4. Use a single supplier for any one item
  5. Improve every process
  6. Create training on the job
  7. Adopt and institute leadership aimed at helping people do a better job
  8. Drive out fear
  9. Break down barriers between departments
  10. Get rid of unclear slogans
  11. Eliminate arbitrary numerical targets
  12. Permit pride of workmanship
  13. Implement education and self-improvement
  14. Make transformation everyone’s job

Here are few other interesting resources related to Dr. W Edwards Demings

  • Wikipedia page (Link)
  • Original White Paper with 14 Key Principles (Link)
  • Original Website of Demings Institute (Link)
  • SlideShare PPT (Link)

Here is the Official YouTube channel of Demings Institute. They have excellent videos and I strongly encourage everyone to view them.  Additionally, here is the famous Deming’s Red Bead Experiment Video.

Before I end the post I would like to include the video of Daniel Pink who has authored books Drive, which is very motivational book and often time I felt it resonated with the same message as Dr. Demings. This video is from TED presentation of Dan where he discussed The Puzzle of Motivation.

Reference: Pinal Dave (

Personal Technology – From Floppy to CD, DVD to USB Drive – Quick Note on Evolution of Personal Storage Device

Floppy Disk Coasters Personal Technology   From Floppy to CD, DVD to USB Drive   Quick Note on Evolution of Personal Storage DeviceRecently I was cleaning my house – clearing out old books and computer junk that I’ve been storing for a long time, when I found a box of floppy disks.  I was filled with nostalgia.  There was a time when I used floppy disks for everything – games, images, and so many backups!  I am the type of guy who is always thinking of backups, and floppies had a tendency to fail, so I always made backups of my backups.  Now here I was, holding all these useless floppy disks, and thinking of how the world has changed.

I hardly even see anyone with a floppy disk recently, let alone a computer with a floppy drive.  These  Personal Technology   From Floppy to CD, DVD to USB Drive   Quick Note on Evolution of Personal Storage Devicefloppy disks would only hold 1.44 MB, and I started remembering how I had to use a computer program called ZipDivider.  If you had a program or file that was larger that 1.44 MB, say 6 MB for example, you would need to use this program to divide it up into 1.44 MB chunks to fit on multiple floppy disks.  Then the other user would have to download all these files into a folder on their own computer, and starts zipping the files back together with another program.  This was an interesting experience, and a quick way to learn that you cannot damage even one floppy disk, or you would not be able to put together the file!

I was thinking about all these nostalgic programs when my daughter walked into the room.  She is four years old, and she had no idea what I was holding in my hand.  She asked me, “Why do you have a save button in your hand?”  She saw this floppy drive, and all she saw was an icon for the save function, the same way a bluebird represents Twitter, or a blue “F” represents Facebook.  I tried to explain to my daughter what a floppy disk is, that we used to use it as storage, and she just laughed and said “no, no, no, you store data on a USB drive!”  At this moment, I was speechless – because she is right!

usbcolor Personal Technology   From Floppy to CD, DVD to USB Drive   Quick Note on Evolution of Personal Storage DeviceAt this point, my wife came in the room to tell me that she needed an mp3 burned onto a CD for a dance program at my daughter’s school – every student is performing a dance, and the school has old computers that need the music on a CD to play for the program.  I looked around and realized – my laptop does not have a CD drive, my servers don’t have CD drives, my desktop computer has a CD drive, but it doesn’t work!  I never installed the drivers to make it work.  So I spent some time downloading the drivers and CD writing software, only to realize that the program is not compatible with Windows 8.1.  I had to walk through our apartment building knocking on doors, and almost everyone said they didn’t have a CD driver, and didn’t even know how to use one!  Finally, our apartment manager answered his door – he is an older man, with an older computer.  After begging, pleading, and many thanks, he agreed to burn the mp3 to a CD for my daughter.

The world is changing so fast, it is like the ground is moving underneath us while we are still walking.  A floppy disk is just a save button, and no one knows about CD or DVD drivers!  We all use USB thumb drives and “cloud” storage like Dropbox.  So here is my question, and it is one I do not have the answer to: what is next now?  How will we communicate six weeks, six months, or six years from now?  How will we exchange files?  Will we even need to exchange files?  What is the next big thing?

Reference: Pinal Dave (


SQLAuthority News – MS Access Database is the Way to Go – April 1st Humor

First of all, today is April 1- April Fool’s Day, so I have written this post for some light entertainment. My friend has just sent me an email about why a person should go for Access Database. For a short background, I used to be an MS Access user once (I will not call myself MS Access DBA), and I must say I had a good time with Database at that time. As time passed by, I moved from MS Access to SQL Server. Well, as for my friend’s email, his reasons considering MS Access usage really made me laugh. MS Access may have a few points where it totally makes sense to use it. However, in the email that I received, there was not a single reason which was valid.  In fact, I thought it is an April 1st joke- just delivered a little earlier. Let us see some of the reasons from that email. Thanks to Mahesh Bhesania for sending this email to me.

  • MS Access comes with lots of free stuff, e.g. MS Excel
  • MS Access is the most preferred desktop database system
  • MS Access can import data from MS Excel and SQL Server
  • MS Access provides a real time database
  • MS Access has a free IDE-to-VB Script
  • MS Access fits well in your hard drive

I actually think that the above points are either incorrect beliefs of some users, or someone just wrote them to give some laughter with such inaccurate data. And, for the same reason I decided to browse the Internet and do some research on MS Access database to verify my thoughts.

While searching on this subject, I found the following two interesting statements from the site: Microsoft Access Database, Why Choose It?

  • Other software manufacturers are more likely to provide interfaces to MS Access than any other desktop database system
  • Microsoft Access consulting rates are typically lower for Access consultants compared to Oracle or SQL Server consultants

The second one is may be the worst reason for you to switch to MS Access if you are already an SQL Server consultant.

chicken SQLAuthority News   MS Access Database is the Way to Go   April 1st Humor

With this cartoon, have you ever felt like you were one of these chickens at some point in time? I guess that the moment might have just happened before the minute we say “I guess we were on the same page?” Does this mean we are IN the same table, or ON the same table?! (I accept bad joke!)

It is All Fools’ Day after all, so just laugh! If you have something funny but non-offensive to share, just  leave your comment here.

Reference: Pinal Dave (, Cartoon source unknown.

SQL SERVER – Enumerations in Relational Database – Best Practice

Marko Parkkola

Marko Parkkola

This article has been submitted by Marko Parkkola, Data systems designer at Saarionen Oy, Finland. Marko is excellent developer and always thinking at next level. You can read his earlier comment which created very interesting discussion here: SQL SERVER- IF EXISTS(Select null from table) vs IF EXISTS(Select 1 from table). I must express my special thanks to Marko for sending this best practice for Enumerations in Relational Database. He has really wrote excellent piece here and welcome comments here.

Enumerations in Relational Database

This is a subject which is very basic thing in relational databases but often not very well understood and sometimes badly implemented. There are of course many ways to do this but I concentrate only two cases, one which is “the right way” and one which is definitely wrong way.

The concept

Let’s say we have table Person in our database. Person has properties/fields like Firstname, Lastname, Birthday and so on. Then there’s a field that tells person’s marital status and let’s name it the same way; MaritalStatus.

Now MaritalStatus is an enumeration. In C# I would definitely make it an enumeration with values likes Single, InRelationship, Married, Divorced. Now here comes the problem, SQL doesn’t have enumerations.

The wrong way

This is, in my opinion, absolutely the wrong way to do this. It has one upside though; you’ll see the enumeration’s description instantly when you do simple SELECT query and you don’t have to deal with mysterious values. There’s plenty of downsides too and one would be database fragmentation.

Consider this (I’ve left all indexes and constraints out of the query on purpose).

CREATE TABLE [dbo].[Person]
[Firstname] NVARCHAR(100),
[Lastname] NVARCHAR(100),
[Birthday] datetime,
[MaritalStatus] NVARCHAR(10)

You have nvarchar(20) field in the table that tells the marital status. Obvious problem with this is that what if you create a new value which doesn’t fit into 20 characters? You’ll have to come and alter the table. There are other problems also but I’ll leave those for the reader to think about.

The correct way

Here’s how I’ve done this in many projects. This model still has one problem but it can be alleviated in the application layer or with CHECK constraints if you like.

First I will create a namespace table which tells the name of the enumeration. I will add one row to it too. I’ll write all the indexes and constraints here too.

CREATE TABLE [CodeNamespace]
[Id] INT IDENTITY(1, 1),

INSERT INTO [CodeNamespace] SELECT 'MaritalStatus'

Then I create a table that holds the actual values and which reference to namespace table in order to group the values under different namespaces. I’ll add couple of rows here too.

[CodeNamespaceId] INT NOT NULL,
[Description] NVARCHAR(100) NOT NULL,
[OrderBy] INT,
CONSTRAINT [PK_CodeValue] PRIMARY KEY CLUSTERED ([CodeNamespaceId], [Value]),
CONSTRAINT [FK_CodeValue_CodeNamespace] FOREIGN KEY ([CodeNamespaceId]) REFERENCES [CodeNamespace] ([Id])
-- 1 is the 'MaritalStatus' namespace
INSERT INTO [CodeValue] SELECT 1, 1, 'Single', 1
INSERT INTO [CodeValue] SELECT 1, 2, 'In relationship', 2
INSERT INTO [CodeValue] SELECT 1, 3, 'Married', 3
INSERT INTO [CodeValue] SELECT 1, 4, 'Divorced', 4

Now there’s four columns in CodeValue table. CodeNamespaceId tells under which namespace values belongs to. Value tells the enumeration value which is used in Person table (I’ll show how this is done below). Description tells what the value means. You can use this, for example, column in UI’s combo box. OrderBy tells if the values needs to be ordered in some way when displayed in the UI.

And here’s the Person table again now with correct columns. I’ll add one row here to show how enumerations are to be used.

CREATE TABLE [dbo].[Person]
[Firstname] NVARCHAR(100),
[Lastname] NVARCHAR(100),
[Birthday] datetime,
[MaritalStatus] INT
INSERT INTO [Person] SELECT 'Marko', 'Parkkola', '1977-03-04', 3

Now I said earlier that there is one problem with this. MaritalStatus column doesn’t have any database enforced relationship to the CodeValue table so you can enter any value you like into this field. I’ve solved this problem in the application layer by selecting all the values from the CodeValue table and put them into a combobox / dropdownlist (with Value field as value and Description as text) so the end user can’t enter any illegal values; and of course I’ll check the entered value in data access layer also.

I said in the “The wrong way” section that there is one benefit to it. In fact, you can have the same benefit here by using a simple view, which I schema bound so you can even index it if you like.

CREATE VIEW [dbo].[Person_v]
p.[Firstname], p.[Lastname], p.[BirthDay], c.[Description] MaritalStatus
FROM [dbo].[Person] p
JOIN [dbo].[CodeValue] c ON p.[MaritalStatus] = c.[Value]
JOIN [dbo].[CodeNamespace] n ON n.[Id] = c.[CodeNamespaceId] AND n.[Name] = 'MaritalStatus'
-- Select from View
FROM [dbo].[Person_v]

enum1 SQL SERVER   Enumerations in Relational Database   Best Practice

This is excellent write up byMarko Parkkola. Do you have this kind of design setup at your organization? Let us know your opinion.

Reference: Pinal Dave (

SQL SERVER – Policy Based Management – Create, Evaluate and Fix Policies


This article will cover the most spectacular feature of SQL 2008 – Policy-based management and how the configuration of SQL Server with policy-based management architecture can make a powerful difference. Policy based management is loaded with several advantages. It can help you implement various policies for reliable configuration of the system. It also provides additional administration assistance to DBAs and helps them effortlessly manage various tasks of SQL Server across the enterprise.

Basics of Policy Management

SQL server 2008 has introduced policy management framework, which is the latest technique for SQL server database engine. SQL policy administrator uses SQL Server Management Studio to create policies that can handle entities on the server side like the SQL Server objects and the instance of SQL Server databases. It consists of three components: policy administrators (who create policies), policy management, and explicit administration. Policy-based management in SQL Server assists the database administrators in defining and enforcing policies that tie to database objects and instances. These policies allow the administrator to configure and manage SQL server across the enterprise.

The following advantages can be achieved by appropriate administration of policy management system.

  • It interacts with various policies for successful system configuration.
  • It handles the changes in the systems that are the result of configuration against authoring policies.
  • It reduces the cost of ownership with simple elaboration of administration tasks.
  • It detects various compliance issues in SQL Server Management Studio.

Policy Management Terms

To have a better grip on the concept of Policy-based management there are some key terms you need to understand.

  • Target – A type of entity that is appropriately managed by Policy-based management. For example, a table, database and index, to name a few.
  • Facet -A property that can be managed in policy-based management. A clear example of facet is the name of Trigger or the Auto Shrink Property of database.
  • Conditions – Criteria that specifies the state of facet to true or false. For example, you can adjust the state of a facet that gives you clear specifications of all stored procedures in the Schema “Banking”.
  • Policy – A set of rules specified for the server objects or the properties of database.

Practical Example of Policy Management

Exploring of Facets

Facets are database objects and each of them is a container of one or more database object. First, you need to navigate the object explorer and expand the policy-based management node and the management node. You will see conditions, policies and facets nodes. SQL Server 2008 has many different facets available to use.

PolicyManagement1 SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

To view the list of facets, expand the facet node

PolicyManagement2 SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

Double click on each of these facets to the list of the facet properties.

PolicyManagement3 SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

Let us understand the two next elements of creating condition and creating policy with real life example of Statistics. We will try to create statistic property of the database. We have property of statistic IsAutoCreated. We can set that using database property window under option tab. This property takes two values True or False.

PolicyManagement3a SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

We will follow up on this property in different steps. We will first create condition and right after we will use the same condition in a policy. That policy will be evaluated by user. User will have to two options either let us evaluated by scheduled task or fix non complaining policy manually.

Create a Condition

Creation of condition in Policy-based management is the next thing after identifying the problem. In our case, we want to make sure that everywhere IsAutoCreate is set to True everywhere.

PolicyManagement4 SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

Each facet displays different kinds of properties. As we are interested in the IsAutoCreated property of the statistics we have to select facet as Statistic.

Create a Policy

Creating a policy is the next important task after creating a condition. The condition has to be created to select the proper property of the object. However, a policy is created to specify the location where the condition has to be applied.

PolicyManagement5 SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

Please follow the instructions given in the above image. Make sure to select all target databases. In given example I have two database installed on my server that brings up two different targets servers.

This brings up an interesting concept of targets. Targets are database objects. They can be whole database or single parts of the database. It may be possible that they are different kind of objects but have same kind of properties.

While creating a policy we have kept the evaluation mode as “on demand”, which means that we will be running this policy manually, instead of scheduled job. Scheduled job is good idea to run policy.

Evaluate a Policy

As in the previous step, we have selected to evaluate the policy manually; we will evaluate that using SSMS. Right click on policy brings up with lots of options. Select Evaluate from the menu, this will bring up the following image.

PolicyManagement8 SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

On the screen of Evaluate Policies there is a button which suggests evaluating the policies. Once clicked it will give the following kind of screen with a status.

PolicyManagement8a SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

You will see a green icon in the image. This icon indicates the policy evaluated the status to True. If you notice you will find that in our example all the policies are complied with.

Fix Non-complying Policy

Now, let us change the IsAutoCreate policy of one of test databases to true and run the evaluation all over again. If you observe you will notice that one of the statuses is marked as false with a little red image on the left.

PolicyManagement9 SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

Furthermore, once you select the checkbox and clicked on the Apply button you will find an additional checkbox on the side. This Apply button will raise a popup confirming that the property of the target has been changed to comply with the policy. Next, click Ok to confirm. This will change the properties of the Test database to comply with the new policy on all of our targets specified earlier.

PolicyManagement9a SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

PolicyManagement9b SQL SERVER   Policy Based Management   Create, Evaluate and Fix Policies

In our example, we have manually evaluated the policy and fixed its noncompliance. With powershell you can perform the same using SQL Server Agent.


Policy-Based Management empowers you with greater control over the procedures of database as a Database Administrator. It provides you the ability to enforce paper policies at database level. Paper polices are used as guidelines for understanding database standards. However, it necessitates some skills, time and efforts to enforce these polices. You need to go with a fine toothed comb to enforce these policies. Policy-based management system helps you define these polices and ensure that they will be enforced appropriately.

Reference : Pinal Dave (, DNS

SQLAuthority News – Effect of Oracle acquiring MySQL – A Delayed Analysis

ss2008 SQLAuthority News   Effect of Oracle acquiring MySQL   A Delayed Analysisoracle SQLAuthority News   Effect of Oracle acquiring MySQL   A Delayed AnalysisMySQL SQLAuthority News   Effect of Oracle acquiring MySQL   A Delayed Analysis

On 20 April 2009, Oracle Corporation announced its acquisition of Sun Microsystems in a deal worth about US$ 6 billion. This would have been just another one of corporate mega-deals that sound interesting in the news but really have no effect on your life. Except for the fact that with the purchase, Oracle acquired the world’s most widely used open-source database engine- MySQL. About 12 million small databases, mainly in websites and small businesses, run on the open-source MySQL platform, since it is stable, easily adaptable and most important of all for cash-strapped small companies, free. Note that ‘free’ here means that there is no software license to purchase (unlike commercial database engines like Oracle DB and Microsoft SQL Server), but most customers still have to pay third-party vendors for additional services like user interface design, technical support, bug fixes and so on. This is what makes the open-source model paradoxically both free and profitable.

First of all, why did Oracle buy Sun Microsystems? The main reason for the purchase was to get Sun’s major products- Sun hardware, Solaris and Java. The SunServer+Solaris+Oracle combination (especially the Oracle database), is globally used in mission-critical systems, from banks to hospitals to nuclear power stations, because of its stability and robustness. It is perhaps the most trusted combination of hardware, operating system and database there is. Java is also a key platform and supporting component for several Oracle products, for example Oracle’s Fusion Middleware is wholly built to run on Java.

So the MySQL acquisition was not really the focal point of the purchase, but it was nevertheless an important aside. Sun itself acquired MySQL in 2008 for about US$ 1 billion, Oracle now owns both of them. While Sun was known for its commitment to open source software, Oracle is a corporate giant without a track record for supporting open-source initiatives. So there arose understandable concern within the IT community about what will happen to MySQL. Will Oracle try to kill MySQL so that it does not compete with Oracle’s own offering? Will Oracle help to develop MySQL further as a platform? Will they leave it alone and not be bothered? Will they sell it off to another company? The real answer right now is that nobody knows, except perhaps Oracle senior management.

Major Outcomes

Let us now examine the different outcomes being put forth by pundits. The first one, from insiders like IHL Consulting Group President Greg Buzek, is the glum opinion that Oracle will kill off MySQL because it partially competes with Oracle’s own database engine. Matters are complicated more by the fact that even though Oracle is mainly bought by large organizations (whose chief concern is system stability, vendor robustness and support, and not the software license fee), while MySQL is primarily used by small companies and small websites, its development has recently scaled up and MySQL can now offer enterprise-class computing, which then becomes a major headache for Oracle.

Another reason given for Oracle deciding to bury MySQL is that the company is not really a supporter of the open-source model, instead preferring the tried and tested pay-per-license route. In fact Oracle is viewed with some suspicion in the open-source community- a sort of mega-corporation bent on world (software) domination. This is the chief cause for concern for the MySQL community. However, Oracle does have some redeeming acts in its interaction with open-source products. For example, the company has fully supported development of its software products to run on Linux.

The second possible outcome is that Oracle will continue to encourage and support MySQL development. One argument for this is that MySQL, as part of the Sun purchase together with Java and Solaris, offers Oracle CEO Larry Ellison a weapon to fight his main rival Microsoft. Also, don’t discount the fact that Oracle is keenly aware that MySQL is open-source, meaning its source code and original developers are still around. So even if Oracle were to try and kill MySQL, either by stopping development or by licensing and charging for it, the development community can simply start working on an open-source, similar clone application. This is how Linux itself was originally conceived- as a free spin-off of commercial Unix operating systems.

A third possibility is that Oracle executives may decide that MySQL is simply too much bother, and decide to sell off the company to someone else. Sun Microsystems acquired MySQL for about a billion dollars, and Oracle may decide that since MySQL was not the main reason they bought Sun anyway, they might as well dispose of it for roughly the same amount.

A fourth possible outcome is that Oracle may elect to offer support contracts and consulting on MySQL to companies that need a lighter-weight solution than Oracle’s full, and at times bloated, database products. In this way, they offer the comfort of their large-vendor status to the potential clients who may be worried about using open-source software- a shrewd market-capturing move.

But that same decision may have its own potential pitfall. Oracle’s main reason for buying Sun was to integrate and sell whole computing platforms. But IT managers might choose to avoid this one-vendor offering, from server to database application to support services, because it can also result in a single point of failure or arbitrary price changes in the platform’s licensing.


In conclusion, the truth is that simply don’t know what Oracle will do with MySQL. There are several interesting alternatives, some more viable than others. But it is safe to assume that in the short-term, Larry Ellison will not take any drastic steps that may alienate his huge client base. Only time will tell.

My Opinion

In many of the application, I do not need full featured SQL Server Enterprise Version. I just need something simple and free. This is when I use SQL Server Express Edition. You can read the complete reference over here SQL SERVER – SQL Server Express – A Complete Reference Guide.

Please contribute here with your comments and opinion.

Reference : Pinal Dave (

SQLAuthority News – Proposed eGov Standards Policy – Benefit for All or Only A Chosen Few

Does the proposed eGov Standards Policy benefit all or only a chosen few?

As a wider audience comes to accept new technology, so the technology itself grows. The recent debate in India on the eGov Standards policy has been a point of contention for some time. I would like to start our discussion on this topic by posing two questions:

Question 1: Should government mandate single standards for a given technology domain?

The obvious answer would appear to be “Yes”, but the considered answer is actually “No”.

The stipulation of a “single standard” would unnecessarily restrict the technology choices for the Government and would result in the exclusion from Government projects of Indian ISV’s who do not conform to the standard. In the Indian IT ecosystem, not many software companies offer their products for free. This is not only an Indian phenomenon, but a global one too. Software is not generally free.

Question 2: Should royalty free IP in standards be used in eGovernment solutions as suggested in section 5.1.1?

Once again, the obvious answer would appear to be “Yes”, but the considered answer is actually “No”.

If everything is free, who will pay the bills? We all know that in life there is no such thing as a free lunch. To build a sustainable standard takes time, people and money. The Ethernet standards, developed in the IEEE in the IEEE 802 series, provide us with a good example of this. If everything has to be royalty-free, how is the inventor to be paid for his efforts? It is simply impractical to expect everything to be free.

Open Standard vs. Open Source

The real eGovernment debate revolves around understanding the true meaning of “Open Standards”. Wikipedia is a great source on the subject and provides various points of view.

A clear understanding of the differences between Open Standards and Open Source is necessary. Open Standards can be used both in Open Source and paid technologies. For example, UNICODE is standardized under RAND terms and is used in both Windows and Linux. Sadly, Open Source has become a tool of exploitation in hands of the few who usurp the claim on Open Standard.

Facing Reality

For Government procurements, the lowest bidder is generally awarded the contract. The “artificial” imposition of a single royalty-free standard would preclude Government Departments from selecting solutions on a value-for-money basis. Many eGovernment Interoperability Frameworks across the globe do not impose such stipulations for the very reason that they have adverse effects on interoperability.

A number of organizations offer their software for free, but profit by charging surreptitiously for support. To my mind, it is better to be upfront and open about the real costs. Many have found themselves locked into agreements, only to be shocked by the actual long-term costs. This is what most Open Source implementations end up doing.

By towing the “free line”, effectively the Government is siding with the Open Source philosophy and killing vendors who charge for their software upfront. This is not in the best interests of the emerging software economy, nor the development of intellectual property.

The debate on standards is NOT purely academic in nature. If this standard is passed, Open Source commercial vendors stand to gain millions in Government contracts. Please refer to section 7.4 on this point. The debate is also NOT about what is good or bad. It is really a debate on how the proponents of a single standard will secure their profits from the Government.

The proponents of a single standard have a loud voice, and they appeal loudly to higher authorities and institutions. I believe that this should come to and end. The real issue, i.e. the confusion between Open Standards and Open Source needs to be clarified before a crucial error is made.

Suggestion for Better eGovernment Standard Policy

As we have seen, the term “open standard” means different things to different bodies. While I support the Indian Government’s goals to achieve interoperability for e-government, I recommend the following amendments to the eGov Standards policy:

  1. Remove section 5.1.4, because to prove that a particular standard is better than all other existing standard is virtually impossible to do objectively.
  2. Remove all preferences in section 5.2 for Open Source as they only favor commercial Open Source companies.
  3. If preference needs to be given at all, give them to software developed in India by Indian companies. As an added advantage, the Government can more tightly regulate these companies.
  4. To let the taxpayer’s money be utilized most effectively and to meet the objectives detailed in section 3.4, the committee should think of including a “lowest cost preference” clause in section 5.
  5. Define Open Extensions and/or Open Subsets clearly.

I sincerely urge the intellectuals of this country to climb down from “socialist” viewpoints and ensure that the IT the ecosystem is best leveraged to the benefit of the nation.

To better e-governance!

Reference : Pinal Dave (

SQL SERVER – Introduction to Cloud Computing


“Cloud Computing,” to put it simply, means “Internet Computing.” The Internet is commonly visualized as clouds; hence the term “cloud computing” for computation done through the Internet. With Cloud Computing users can access database resources via the Internet from anywhere, for as long as they need, without worrying about any maintenance or management of actual resources. Besides, databases in cloud are very dynamic and scalable.

Cloud computing is unlike grid computing, utility computing, or autonomic computing. In fact, it is a very independent platform in terms of computing. The best example of cloud computing is Google Apps where any application can be accessed using a browser and it can be deployed on thousands of computer through the Internet.

Key Characteristics

Cloud computing is cost-effective. Here, cost is greatly reduced as initial expense and recurring expenses are much lower than traditional computing. Maintenance cost is reduced as a third party maintains everything from running the cloud to storing data. Cloud is characterized by features such as platform, location and device independency, which make it easily adoptable for all sizes of businesses, in particular small and mid-sized. However, owing to redundancy of computer system networks and storage system cloud may not be reliable for data, but it scores well as far as security is concerned. In cloud computing, security is tremendously improved because of a superior technology security system, which is now easily available and affordable. Yet another important characteristic of cloud is scalability, which is achieved through server virtualization.

In a nutshell, cloud computing means getting the best performing system with the best value for money.

Cloud Computing Architecture

Cloud computing architecture, just like any other system, is categorized into two main sections: Front End and Back End. Front End can be end user or client or any application (i.e. web browser etc.) which is using cloud services. Back End is the network of servers with any computer program and data storage system. It is usually assumed that cloud contains infinite storage capacity for any software available in market. Cloud has different applications that are hosted on their own dedicated server farms.

Cloud has centralized server administration system. Centralized server administers the system, balances client supply, adjusts demands, monitors traffic and avoids congestion. This server follows protocols, commonly known as middleware. Middleware controls the communication of cloud network among them.

Cloud Architecture runs on a very important assumption, which is mostly true. The assumption is that the demand for resources is not always consistent from client to cloud. Because of this reason the servers of cloud are unable to run at their full capacity. To avoid this scenario, server virtualization technique is applied. In sever virtualization, all physical servers are virtualized and they run multiple servers with either same or different application. As one physical server acts as multiple physical servers, it curtails the need for more physical machines.

As a matter of fact, data is the most important part of cloud computing; thus, data security is the top most priority in all the data operations of cloud. Here, all the data are backed up at multiple locations. This astoundingly increases the data storage to multiple times in cloud compared with a regular system. Redundancy of data is crucial, which is a must-have attribute of cloud computing.

Different forms of Cloud Computing

Google Apps.,, Zoho Office and various other online applications use cloud computing as Software-As-Service (SAAS) model. These applications are delivered through browser, and multiple customers can access it from various locations. This model has become the most common form of cloud computing because it is beneficial and practical for both the customers and the services providers. For customers, there is no upfront investment and they can Pay-As-They-Go and Pay-As-They-Grow. On the other hand, the service providers, can grow easily as their customer base grows., Sun and IBM offer on-demand storage and computing resources. Web service and APIs enable developers to use all the cloud from internet and allow them to create large-scale, full-featured application. Cloud is not simply limited to providing data storage or computing resources, it can also provide managed services or specific application services through web.

Cloud Computing Concerns

Security of confidential data (e.g., SSN or Credit Card Numbers) is a very important area of concern as it can make way for very big problems if unauthorized users get access to it. Misuse of data can create big issues; hence, in cloud computing it is very important to be aware of data administrators and their extent of data access rights. Large organizations dealing with sensitive data often have well laid out regulatory compliance policies. However, these polices should be verified prior to engaging them in cloud computing. There is a possibility that in cloud computing network, sometimes the network utilizes resources from another country or they might not be fully protected; hence, the need arises for appropriate regulatory compliance policies.

In cloud computing, it is very common to store data of multiple customers at one common location. Cloud computing should have proper techniques where data is segregated properly for data security and confidentiality. Care must be taken to ensure that one customer’s data does not affect another customer’s data. In addition, Cloud computing providers must be equipped with proper disaster recovery policies to deal with any unfortunate event.

Selection of Provider

A good service provider is the key to good service. So, it is imperative to select the right service provider. One must make sure that the provider is reliable, well-reputed for their customer service and should have a proven track record in IT- related ventures. The Cloud Computing Incidents Database (CCID) records and monitors verifiable, noteworthy events that impact cloud computing providers. Visit the following Wikipedia link to obtain the list all such events.

Relational Database and Cloud Computing

Comparison has often been drawn between Relational Database and Cloud Computing. They are related for sure but they should not be confused for being the same thing. In actual fact, they are not really competing with each other. There are some unique requirements of applications when they do not call for any advance query techniques but rather need fast access to database. In such scenarios cloud computing should be used. In cloud, data is stored across myriad geographic locations, and processing data from different geographic database leads to delay in receiving data. In case of applications where there is the need of processing huge database using complex queries, traditional relational database is best suited. Cloud has its limitations. As for now, it only supports distributed computing; transactional operations are not currently supported in cloud computing.


Cloud Computing is the next big thing in the arena of computing and storage. There are some concerns about security and its availability. However, different service providers are coming up with various solutions and suggestions in response to customers’ concerns. In any case, cloud is getting bigger and better, and as long as they are available through web services, without capital infrastructure investment at reasonable price, it is for sure going to proliferate and create robust demand in times to come.

Additional Reads

While writing this article, I really enjoyed reading Cloud Computing Manifesto ( ) – public declaration of principles and intentions for cloud computing. Manifesto suggests 10 principles of cloud computing, namely User centric, Philanthropic, Openness, Transparency, Interoperability, Representation, Discrimination, Evolution, Balance, and Security.

Reference : Pinal Dave (, Dotnetslakers

SQLAuthority News – Author’s Birthday – Top 7 Commenters – Volunteers

Today is July 30 and I am very happy; it’s my Birthday, celebration time!!! The most common question I receive on my every birthday is -what are my plans for birthday. Let me share my plans here today. Additionally, if you are interested to know when SQL Server was born read my post SQLAuthority News – Author BirthDay – SQL Server Birthday.

My first plan is that I am going to take a break from blogging on anything technical today and spend more time with my family.

Let me tell you about my second plan. I am very much pleased and encouraged with active participation from many of you on this blog. I have received so far more than 10s of thousands of comments on my blog. These comments are open for you all to read and you can use them in any fashion that can help you out. Without good participation there is no life in any community, whether it is offline or online.

For the same reason, I have introduced Top 7 Commenters section in the side bar of There are many active users who have been participating for a long time. One of them I just recognized is Imran Mohammed. This SQL Expert has been extremely helpful to the community and has been providing comprehensive answers to hundreds of questions. Hats Off to you Imran! I totally appreciate your knowledge and dedication to SQL community. Without passion and love toward helping community, this is absolutely not possible.

You can subscribe to feed, which will display all the new posts of my blog as they are published.

You can subscribe to comments, which will show all the new comments posted on the blog as they are published.

If you prefer to receive articles in email, you will get all the fresh posts in email.

There is no automated feature for top commenters where I host, so I will have to calculate this manually. I will keep it updated on weekly basis. Every week we will see new names there. First column is number of post, and second column is number name with link to experts website or blog or email.

Every day I receive a couple of emails about starting a forum on I do plan to start the forum in future. Currently, there are plenty of very good forums on the web. is a blog and below every blog post there is a discussion related to the subject discussed in the blog post. is all about community and people who are passionate about SQL. Everyone is welcome to participate here. There are many ways to participate.

  • Discussing blog post
  • Helping user who have posted their issues on blog
  • Asking questions
  • Writing Guest Post
  • Submitting useful SQL Scripts
  • Reviewing any Microsoft-related products
  • Reviewing Books

Let me know if you have any other useful and interesting suggestions on how I can involve YOU more in my efforts to take SQL community to the next level.

If you are interested in participating in volunteer program do send me email at pinal ‘at’ and we can discuss something out.

Reference : Pinal Dave (