biffbyun
asked on
restore a sql 2000 file to a sql 2008 database
Hi guys, we are currently running SQL 2000 Standard and are going to go SQL 2008 in the near future. We want to do some testing on a test box. I have two questions. The first is can someone direct me to a link that covers the upgrade from 2000 to 2008? Secondly, for the purposes of testing, I installed a fresh box with just SQL 2008. Can I restore databases from a SQL 2000 backup to 2008 OR just make a copy of the existing mdb files and attach them in SQL 2008 or would this screw things up. Also, if you know off the top of your heads, what are the performance benefits of upgrading consider it will be on the same hardware? For example, speed of indexing and lock handling are two big problem areas for us. Would we a marked improvement in these areas?
Thanks,
Rob
Thanks,
Rob
ASKER
Hi, thanks for your response. I tried restoring from a 2000 backup and I am getting an error. Below is the text.
========================== =========
Restore failed for Server 'SQL2008DEMO\SQL2008'. (Microsoft.SqlServer.SmoEx tended)
-------------------------- ----
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22+((SQL_PreRelease).080709-1414+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476
-------------------------- ----
Program Location:
at Microsoft.SqlServer.Manage ment.Smo.R estore.Sql Restore(Se rver srv)
at Microsoft.SqlServer.Manage ment.SqlMa nagerUI.Sq lRestoreDa tabaseOpti ons.RunRes tore()
========================== =========
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.Conne ctionInfo)
-------------------------- ----
Program Location:
at Microsoft.SqlServer.Manage ment.Commo n.ServerCo nnection.E xecuteNonQ uery(Strin g sqlCommand, ExecutionTypes executionType)
at Microsoft.SqlServer.Manage ment.Commo n.ServerCo nnection.E xecuteNonQ uery(Strin gCollectio n sqlCommands, ExecutionTypes executionType)
at Microsoft.SqlServer.Manage ment.Smo.E xecutionMa nager.Exec uteNonQuer y(StringCo llection queries)
at Microsoft.SqlServer.Manage ment.Smo.E xecutionMa nager.Exec uteNonQuer yWithMessa ge(StringC ollection queries, ServerMessageEventHandler dbccMessageHandler, Boolean errorsAsMessages)
at Microsoft.SqlServer.Manage ment.Smo.B ackupResto reBase.Exe cuteSql(Se rver server, StringCollection queries)
at Microsoft.SqlServer.Manage ment.Smo.R estore.Sql Restore(Se rver srv)
========================== =========
An error occurred during recovery, preventing the database 'hcs' (database ID 7) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support. (.Net SqlClient Data Provider)
-------------------------- ----
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=3414&LinkId=20476
-------------------------- ----
Server Name: SQL2008DEMO\SQL2008
Error Number: 3414
Severity: 21
State: 1
Line Number: 1
-------------------------- ----
Program Location:
at System.Data.SqlClient.SqlC onnection. OnError(Sq lException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlI nternalCon nection.On Error(SqlE xception exception, Boolean breakConnection)
at System.Data.SqlClient.TdsP arser.Thro wException AndWarning (TdsParser StateObjec t stateObj)
at System.Data.SqlClient.TdsP arser.Run( RunBehavio r runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlC ommand.Run ExecuteNon QueryTds(S tring methodName, Boolean async)
at System.Data.SqlClient.SqlC ommand.Int ernalExecu teNonQuery (DbAsyncRe sult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlC ommand.Exe cuteNonQue ry()
at Microsoft.SqlServer.Manage ment.Commo n.ServerCo nnection.E xecuteNonQ uery(Strin g sqlCommand, ExecutionTypes executionType)
==========================
Restore failed for Server 'SQL2008DEMO\SQL2008'. (Microsoft.SqlServer.SmoEx
--------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22+((SQL_PreRelease).080709-1414+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476
--------------------------
Program Location:
at Microsoft.SqlServer.Manage
at Microsoft.SqlServer.Manage
==========================
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.Conne
--------------------------
Program Location:
at Microsoft.SqlServer.Manage
at Microsoft.SqlServer.Manage
at Microsoft.SqlServer.Manage
at Microsoft.SqlServer.Manage
at Microsoft.SqlServer.Manage
at Microsoft.SqlServer.Manage
==========================
An error occurred during recovery, preventing the database 'hcs' (database ID 7) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support. (.Net SqlClient Data Provider)
--------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=3414&LinkId=20476
--------------------------
Server Name: SQL2008DEMO\SQL2008
Error Number: 3414
Severity: 21
State: 1
Line Number: 1
--------------------------
Program Location:
at System.Data.SqlClient.SqlC
at System.Data.SqlClient.SqlI
at System.Data.SqlClient.TdsP
at System.Data.SqlClient.TdsP
at System.Data.SqlClient.SqlC
at System.Data.SqlClient.SqlC
at System.Data.SqlClient.SqlC
at Microsoft.SqlServer.Manage
I'm not familiar with executing restores with SMO, but are you specifying the equivalent "with move" option to specify a new valid path for the file?
ASKER
Yes, I am specifying the path when I do the restore. It actually goes through and errors out at the very end whereas if it was a path issue it would error out in the begining.
Can you try doing the restore through SSMS (SQL Server Management Studio) to see if it gives you a more descriptive error.
ASKER
That's what I used. I can see the database, but it is classified in the management interface as 'suspect'
Are you sure the backup wasn't taken from a corrupt database?
ASKER
no, the backup works if I restore to a sql 2000 server.
ASKER
Anyone else care to take a shot?
I've asked chapmandew to join in the conversation!
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Yes you can attach a SQL 2000 DB to SQL 2008. But they should be detached from the previous. You shouldn't just "copy" the files.
Online indexing and greater functionality are just two of the benefits. But you will need a beefier system to get the similar performance. That doesn't mean that if you have a beefed up server now, it will perform slower. But if you don't have the space to make tempdb large enough for sql 2005/8 it will suffer. SQL 2005+ uses more tempdb than 2000 did.