Do you love XML? Have you been using XML with SQL Server? Many people have,
starting way back when with SQL Server 7.0. Back then, there was no support
for XML in the database, so we had to write external programs to convert the
relational data into an XML format. This was time-consuming and often
inefficient. When SQL Server 2000 came out, with its integrated support for
XML, there were a lot of high expectations. Unfortunately, XML still couldn't
be easily stored in the database, although it could be created and consumed.
XML could be stored in the database as a large string of text, but this was
problematic at best. Large VARCHAR and TEXT strings are hard to manipulate.
This worked, though, and programmers managed to create great systems. Still,
something more was needed. Many people looked forward to the next version of
SQL Server, and hoped for a better solutio... (more)
Sequential numbers. Sooner or later, you'll find a process that requires you
to generate a series of sequential numbers. As a matter of fact, most
database engines provide at least one method of producing such numbers.
Microsoft Access, for example, has AutoNumber columns, while SQL Server has
IDENTITY columns. However, these are features of tables. There are times when
you need some sequential numbers, but creating a table is inconvenient or
inefficient. So how does one proceed? How does one obtain a list of
sequential numbers without creating tables?
SQL Server 2000 has always... (more)
SQL Server 2005 has many new and improved features. So many, in fact, that it
would be very difficult to cover them all thoroughly. Therefore, I've been
concentrating on those features that I feel will have the most impact on
developers. Because of this, I want to present two more new T-SQL features.
They were left out of my first T-SQL article because of space limitations.
However, I believe that interest in these capabilities has grown, and that
they deserve some coverage here.
I'm including the first one, the PIVOT clause, because it has generated a lot
of interest on the Int... (more)
A number of years ago, I worked for a company that was developing internal
applications with SQL Server 2000. We didn't have any real database
administrators. I was given that responsibility, but I was really a
developer, one of many in fact. The problem with this arrangement was that
all the developers had high-level rights to SQL Server. Each one could make
whatever changes seemed appropriate to him at the time, and they could do
this without consulting me. This often resulted in data incompatibilities
that caused a bit of downtime, but lots of irritation. One day, however, my ... (more)
In today's complex and demanding environments, it is quite common for users
to be able to submit requests faster than those requests can be processed. In
some situations, this is because the system has an enormous number of users.
In other situations, it is because the requests take a long time to process.
In both cases, the system needs to be designed so that it can accept the
requests immediately, and process those requests later on. Such a system is
said to be asynchronous.
Asynchronous systems are typically built around queues. Queues function just
like those long lines at t... (more)