Solved

Error message returned with standard DELETE on SQL Server 2005 database restored in SQL Server 2012

Posted on 2014-12-12
7
170 Views
Last Modified: 2015-01-29
I have come across an issue with executing DELETE statement in SQL Server 2012 in a database which has been restored
from SQL Server 2005 to SQL Server 2012,

This is the delete statement:

DELETE FROM [Table] WHERE Field1_ID='xxx'

I restored a SQL Server 2005 backup on to a new SQL Server 2012 server using the following restore command:

DECLARE @backupfile varchar(200)
SET @backupfile = 'E:\SQL_BACKUP\DB_FULL_20141211_182000.bak'

RESTORE DATABASE DB_T
   FROM DISK = @backupfile
   WITH
   MOVE 'DB_T_Data' TO 'D:\SQL_DATA\DB_T.mdf',
   MOVE 'DB_T_Log' TO 'E:\SQL_LOGS\DB_T.ldf'

The RESTORE message output indicated that 'upgrade' steps did occur as part of the restore.  

Also I did the following to actually change the compatability level, from 2005 to 2012  
ALTER DATABASE DB_T
SET COMPATIBILITY_LEVEL = 110;

I have seen some articles online which suggest that the compatability level is the root cause.

However, as I have indicated above, I have taken all steps to get the 2005 database to the 2012 compatibility level.

Please let me know if anyone has encountered anything similar.
0
Comment
Question by:Barry Cunney
  • 3
  • 2
  • 2
7 Comments
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 40495965
and the error message is?
0
 
LVL 142

Assisted Solution

by:Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3] earned 250 total points
ID: 40495966
so far, guessing it's a trigger on the table that is trying to look up for some other db ...
0
 
LVL 47

Expert Comment

by:Vitor Montalvão
ID: 40495972
What is the error?
Also, since you migrated the database, any rebuild index ran?
0
Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

 
LVL 17

Author Comment

by:Barry Cunney
ID: 40496210
Hi,
The error message is as follows:
Msg 102, Level 15, State 1, Procedure TD_Table, Line 58 Incorrect syntax near '@ERRNO'.
0
 
LVL 47

Accepted Solution

by:
Vitor Montalvão earned 250 total points
ID: 40496223
You didn't post your code but looks like you are using an old way to raise error in SQL Server. Didn't you run the Upgrade Advisor before migrating the database? This kind of incompatibilities can be discovered by the Upgrade Advisor.
Anyway, check the syntax in this MSDN article.
0
 
LVL 17

Author Comment

by:Barry Cunney
ID: 40533287
Hi Guys,
I just figured out the root cause.
The actual compatibility level of the database was 'SQL Server 2000'.
The database had resided on SQL Server 2005 and when a backup of this database was restored on SQL Server 2012, it showed the compatibility level as 'SQL Server 2005'.
However when I checked the compatibility level of this database on the SQL Server 2005 evironment, it showed 'SQL Server 2000' - so we thought we were restoring a 2005 database to 2012, but in actual fact we had restored a 2000 level database to 2012 and so it was not really upgraded, and so we did not get a valid 2012 database - and one of the fall outs of this was that a standard single line DELETE-> DELETE FROM [Table] WHERE Field1_ID='xxx'  gave the the error   'Msg 102, Level 15, State 1, Procedure TD_Table, Line 58 Incorrect syntax near '@ERRNO'.'

We are now in the process of getting this database validly upgraded to 2005/2008 level and then upgraded to 2012 level.
0
 
LVL 17

Author Comment

by:Barry Cunney
ID: 40533290
I will revert later and award points
0

Featured Post

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example, show how to shrink a transaction log file down to a reasonable size.

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question