SQL 2005 Internal Query Error 8623 still unfixed

Published On: 2008-06-09By:

While working on a new part of our production system  we begun getting the following error message back from the SQL Server.

Server: Msg 8623, Level 16, State 1, Line 1
Internal Query Processor Error: The query processor could not produce a query plan. Contact your primary support provider for more information.

Now I’ve seen this error before, but it was supposed to have been fixed in Cumulative Update 3 for SQL Server 2005 SP 2 but apparently it hasn’t been.  I’m currently running build 3239 which is Cumulative Update 7.  (I’m running the x64 edition.)

The only difference between my query and what’s documented in the KB article is that I was doing a basic insert statement.

 INSERT INTO Table3
 (Table1Id, Table2Id)
 VALUES
 (@Table1Id, @Table2Id)

There are obviously no complex queries being run here.  However I did have relational integrity enabled through foreign keys.  I ended up having to remove the foreign key constraints from this table for the insert statement to work correctly.

Hopefully someone finds this info useful.

You can follow along with the Microsoft development teams progress on Microsoft Connect.  It’s feedback number 332815.

Denny

Contact the Author | Contact DCAC

Back To Basics: Service Broker Queues

Published On: 2008-06-05By:

The service broker queue is where the messages are stored after they are delivered, but before they are processed.  They are kind of like tables as you insert data into them (sending the message) and you view the data in them (receiving the message).  While tables can have triggers, queues can have what are called activated procedures.  If a queue has an activated procedure defined when the message arrives in the queue the queue runs the procedure.  No data is passed to the procedure, that procedure still needs to do a receive against the procedure (if that’s what actually needs to be done).

Setting up an activation procedure is a bit tricky as you have to have the queue to create the procedure, and you have to have the procedure to set it as an activation procedure.  So what I like to do is create the queue, then the procedure, then alter the queue to setup the activation.  This way I can send messages to the queue right away without worrying about getting errors because the procedure doesn’t exist.

Unlike tables, you do not get to define the structure of the queue.  All data is stored within the message_body field, so if you need to send more than one value it’s recommend that you use an XML document to send the data.  The syntax to create the queue is very simply.

CREATE QUEUE [QueueName]

Because the queue does hold the messages you can define what file group you would like the data within the queue to be stored in.  If you have a business need to keep the messages around after processing you can specify the RETENTION keyword setting it to ON.  By default queues are enabled when they are created.  If you do not want to allow messages to be delivered to the queue specify the STATUS keyword setting it to OFF.

Denny

Contact the Author | Contact DCAC

Back To Basics: Service Broker Contracts

Published On: 2008-06-02By:

Every Service Broker conversation requires a contract.  The contract defines which message type or types will be used, as well as who (sender or receiver) can use which message types.  The contract is specified when the conversation is created.

The syntax for creating the contract is pretty straight forward.

CREATE CONTRACT [ContractName]
(MessageType SENT BY ANY)

The SEND BY portion can be used as many times as is needed for each Message Type which is defined on the contract.  It must be listed at least once as you can not have a contract with no message types.  You can specify that the Message Type be used by the INITIATOR, the TARGET or by both (by using the ANY keyword).

A more complex Contract would look something like this.

CREATE CONTRACT [ContractName]
(MessageType_I SENT BY INITIATOR,
MessageType_T SENT BY TARGET)

Denny

Contact the Author | Contact DCAC

geekSpeak: Spatial Data in SQL Server 2008 with Denny Cherry

Published On: 2008-05-29By:

On 6/4/08 at noon PST (3pm EST) I’ll be presenting a MSDN Geek Speak session entitled “Spatial Data in SQL Server 2008 with Denny Cherry”. In the session we will explore the new support for spatial data in Microsoft SQL Server 2008. I will also be talking about managing huge SQL Server databases, and answer your questions about SQL Server. The Microsoft hosts will be Mike Benkovich and Mithun Dhar.

It’s a very free form session where we rely on Audience Q&A to really drive the direction of the session.

Here is the URL to register for the session.  Just click the URL and register, you’ll get an email reminder, etc from the Microsoft Events system.

I hope everyone can attend.  I hope to make my first geekSpeak a huge success.

Denny

Contact the Author | Contact DCAC
1 437 438 439 440 441 466

Video

Globally Recognized Expertise

As Microsoft MVP’s and Partners as well as VMware experts, we are summoned by companies all over the world to fine-tune and problem-solve the most difficult architecture, infrastructure and network challenges.

And sometimes we’re asked to share what we did, at events like Microsoft’s PASS Summit 2015.

Awards & Certifications

Microsoft Partner   Denny Cherry & Associates Consulting LLC BBB Business Review    Microsoft MVP    Microsoft Certified Master VMWare vExpert
American Business Awards Gold Award    American Business Awards Gold Award    FT Americas’ Fastest Growing Companies 2020       Best Full-Service Cloud Technology Consulting Company
   Insights Sccess Award    Technology Headlines Award    Golden Bridge Gold Award    CIO Review Top 20 Azure Solutions Providers
Share via
Copy link