Let me layout the scenario. I'm writing a windows service that will monitor
a a SQL Database via SQL Query Notification Service. Nothing out of the
ordinary there. All that is working fine. Here where it gets interesting.
I'm running SQL Server 2005. Most of the database have been upgraded from
SQL 2000, so they start with the compatibility level set to 80. I took one
of these databases and flipped the compatibility level to 90 so I could get
the Notification Service running. Everything starts fine and the app starts
to monitor a table, but if I try to make a change to the data of the table
being monitored I get an access violation error. To make sure the issue
wasn't with my processes I created a fresh SQL 2005 Database with the same
structure as the SQL 2000 originated database. Inserted some data, started
the monitoring process, tried to make a data change, and everything worked
perfect. The change got committed and the monitoring process got a
notification that something happened.
What would be missing from the upgraded database that a fresh database would
have?
Thanks
Steve
Diane Larsen [MSFT] - 30 Aug 2006 18:56 GMT
Do you have any more information about the type of change and the exact
error message? Also, have you run any DBCC commands to check the database?
There are several things that are allowed in 80 mode but not in 90 mode. The
"sp_dbcmptlevel" topic lists the changes, as does the SQL Server Upgrade
Advisor documentation.

Signature
Diane Larsen [MSFT]
SQL Server User Education
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm.
> Let me layout the scenario. I'm writing a windows service that will
> monitor
[quoted text clipped - 23 lines]
> Thanks
> Steve
SSirica - 05 Sep 2006 14:02 GMT
I decided to just write a utility to port the data from the database to a new
2005 v90 database. It's just easier. I've wasted enough time on the why...I
have to get on with this.