Monday, March 26, 2012
recbase.cpp error
problem was running like a champ up until about 4 days ago. I have done no
upgrades to the database server in the last couple weeks. Thanks.
Event Type: Error
Event Source: MSSQLSERVER
Event Category: (2)
Event ID: 17055
Date: 10/6/2003
Time: 12:08:48 PM
User: N/A
Computer: DATASERVERA
Description:
17066 :
SQL Server Assertion: File: <recbase.cpp>, line=1378
Failed Assertion = 'm_offBeginVar < m_SizeRec'.
-dougI found this in an old post...
This looks bad. An assertion error is a check that a programmer puts
into his code to verify that assumptions in his code are true. If they
are not, abortion is executed to prevent even more serious accidents.
(Data corruption is after all worse than a hanging or crashing server.)
Now, the assertion 'FALSE' is a little funny. Looks like a "we are not
supposed to come here".
If this happen to you more than once, I would recommend that you open a
case with Microsoft. They may know about the problem and have a workaround.
In any case, since this clearly is a bug in SQL Server, any fee that
you have to pay initially should be refunded.
--
HTH
Ryan Waight, MCDBA, MCSE
"Doug Threewitt" <doug@.seisystems.com> wrote in message
news:%23lK4EhDjDHA.488@.TK2MSFTNGP09.phx.gbl...
> Can anyone help me with this error? The query that is causing this
> problem was running like a champ up until about 4 days ago. I have done
no
> upgrades to the database server in the last couple weeks. Thanks.
> Event Type: Error
> Event Source: MSSQLSERVER
> Event Category: (2)
> Event ID: 17055
> Date: 10/6/2003
> Time: 12:08:48 PM
> User: N/A
> Computer: DATASERVERA
> Description:
> 17066 :
> SQL Server Assertion: File: <recbase.cpp>, line=1378
> Failed Assertion = 'm_offBeginVar < m_SizeRec'.
>
> -doug
>|||This usually points to hardware-caused corruption in your database. The
assert is basically saying that a record on a page is corrupt. You can
contact Product Support (http://support.microsoft.com) who will be able to
help or do the following:
1) run DBCC CHECKDB on the database to determine if any corruption is
present
2) check the NT event log and SQL Server errorlog for previous
errors/problems
3) run hardware diagnostics
4) if corruption is present, restore the database from your up-to-date
backups onto different hardware
Regards,
Paul.
--
Paul Randal
DBCC Technical Lead, Microsoft SQL Server Storage Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"Doug Threewitt" <doug@.seisystems.com> wrote in message
news:#lK4EhDjDHA.488@.TK2MSFTNGP09.phx.gbl...
> Can anyone help me with this error? The query that is causing this
> problem was running like a champ up until about 4 days ago. I have done
no
> upgrades to the database server in the last couple weeks. Thanks.
> Event Type: Error
> Event Source: MSSQLSERVER
> Event Category: (2)
> Event ID: 17055
> Date: 10/6/2003
> Time: 12:08:48 PM
> User: N/A
> Computer: DATASERVERA
> Description:
> 17066 :
> SQL Server Assertion: File: <recbase.cpp>, line=1378
> Failed Assertion = 'm_offBeginVar < m_SizeRec'.
>
> -doug
>|||I've run DBCC CHECKDB on the database and it found no corruption. The event
log shows this error occuring a few other times. What hardware diagnostics
do you recommend running? Also, how can I find my PID for the SQL Server so
I can get some help from Microsoft regarding this matter. Thanks for all
your help
-doug
"Paul S Randal [MS]" <prandal@.online.microsoft.com> wrote in message
news:%23gO4Z2OjDHA.2160@.TK2MSFTNGP12.phx.gbl...
> This usually points to hardware-caused corruption in your database. The
> assert is basically saying that a record on a page is corrupt. You can
> contact Product Support (http://support.microsoft.com) who will be able to
> help or do the following:
> 1) run DBCC CHECKDB on the database to determine if any corruption is
> present
> 2) check the NT event log and SQL Server errorlog for previous
> errors/problems
> 3) run hardware diagnostics
> 4) if corruption is present, restore the database from your up-to-date
> backups onto different hardware
> Regards,
> Paul.
> --
> Paul Randal
> DBCC Technical Lead, Microsoft SQL Server Storage Engine
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> "Doug Threewitt" <doug@.seisystems.com> wrote in message
> news:#lK4EhDjDHA.488@.TK2MSFTNGP09.phx.gbl...
> > Can anyone help me with this error? The query that is causing this
> > problem was running like a champ up until about 4 days ago. I have done
> no
> > upgrades to the database server in the last couple weeks. Thanks.
> >
> > Event Type: Error
> > Event Source: MSSQLSERVER
> > Event Category: (2)
> > Event ID: 17055
> > Date: 10/6/2003
> > Time: 12:08:48 PM
> > User: N/A
> > Computer: DATASERVERA
> > Description:
> > 17066 :
> > SQL Server Assertion: File: <recbase.cpp>, line=1378
> > Failed Assertion = 'm_offBeginVar < m_SizeRec'.
> >
> >
> >
> > -doug
> >
> >
>|||Any disk, controller or IO subsystem diagnostics you can run. I don't know
about the PID.
There should also be some sqlXXXXX.dmp files in the same directory as the
errorlog which will be useful to PSS as they will have the call stacks at
the time the assert fires.
Regards,
Paul.
--
Paul Randal
DBCC Technical Lead, Microsoft SQL Server Storage Engine
This posting is provided "AS IS" with no warranties, and confers no rights.
"Doug Threewitt" <doug@.seisystems.com> wrote in message
news:#EAOl7QjDHA.2160@.TK2MSFTNGP10.phx.gbl...
> I've run DBCC CHECKDB on the database and it found no corruption. The
event
> log shows this error occuring a few other times. What hardware
diagnostics
> do you recommend running? Also, how can I find my PID for the SQL Server
so
> I can get some help from Microsoft regarding this matter. Thanks for all
> your help
>
> -doug
>
> "Paul S Randal [MS]" <prandal@.online.microsoft.com> wrote in message
> news:%23gO4Z2OjDHA.2160@.TK2MSFTNGP12.phx.gbl...
> > This usually points to hardware-caused corruption in your database. The
> > assert is basically saying that a record on a page is corrupt. You can
> > contact Product Support (http://support.microsoft.com) who will be able
to
> > help or do the following:
> > 1) run DBCC CHECKDB on the database to determine if any corruption is
> > present
> > 2) check the NT event log and SQL Server errorlog for previous
> > errors/problems
> > 3) run hardware diagnostics
> > 4) if corruption is present, restore the database from your up-to-date
> > backups onto different hardware
> >
> > Regards,
> >
> > Paul.
> >
> > --
> > Paul Randal
> > DBCC Technical Lead, Microsoft SQL Server Storage Engine
> >
> > This posting is provided "AS IS" with no warranties, and confers no
> rights.
> > "Doug Threewitt" <doug@.seisystems.com> wrote in message
> > news:#lK4EhDjDHA.488@.TK2MSFTNGP09.phx.gbl...
> > > Can anyone help me with this error? The query that is causing
this
> > > problem was running like a champ up until about 4 days ago. I have
done
> > no
> > > upgrades to the database server in the last couple weeks. Thanks.
> > >
> > > Event Type: Error
> > > Event Source: MSSQLSERVER
> > > Event Category: (2)
> > > Event ID: 17055
> > > Date: 10/6/2003
> > > Time: 12:08:48 PM
> > > User: N/A
> > > Computer: DATASERVERA
> > > Description:
> > > 17066 :
> > > SQL Server Assertion: File: <recbase.cpp>, line=1378
> > > Failed Assertion = 'm_offBeginVar < m_SizeRec'.
> > >
> > >
> > >
> > > -doug
> > >
> > >
> >
> >
>|||Thanks for all your help. I found some corrupt indexes(sp.) that I believe
were causing me some difficulties.....
-doug
"Paul S Randal [MS]" <prandal@.online.microsoft.com> wrote in message
news:eJSuSMTjDHA.1132@.tk2msftngp13.phx.gbl...
> Any disk, controller or IO subsystem diagnostics you can run. I don't know
> about the PID.
> There should also be some sqlXXXXX.dmp files in the same directory as the
> errorlog which will be useful to PSS as they will have the call stacks at
> the time the assert fires.
> Regards,
> Paul.
> --
> Paul Randal
> DBCC Technical Lead, Microsoft SQL Server Storage Engine
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> "Doug Threewitt" <doug@.seisystems.com> wrote in message
> news:#EAOl7QjDHA.2160@.TK2MSFTNGP10.phx.gbl...
> > I've run DBCC CHECKDB on the database and it found no corruption. The
> event
> > log shows this error occuring a few other times. What hardware
> diagnostics
> > do you recommend running? Also, how can I find my PID for the SQL
Server
> so
> > I can get some help from Microsoft regarding this matter. Thanks for
all
> > your help
> >
> >
> > -doug
> >
> >
> > "Paul S Randal [MS]" <prandal@.online.microsoft.com> wrote in message
> > news:%23gO4Z2OjDHA.2160@.TK2MSFTNGP12.phx.gbl...
> > > This usually points to hardware-caused corruption in your database.
The
> > > assert is basically saying that a record on a page is corrupt. You can
> > > contact Product Support (http://support.microsoft.com) who will be
able
> to
> > > help or do the following:
> > > 1) run DBCC CHECKDB on the database to determine if any corruption is
> > > present
> > > 2) check the NT event log and SQL Server errorlog for previous
> > > errors/problems
> > > 3) run hardware diagnostics
> > > 4) if corruption is present, restore the database from your up-to-date
> > > backups onto different hardware
> > >
> > > Regards,
> > >
> > > Paul.
> > >
> > > --
> > > Paul Randal
> > > DBCC Technical Lead, Microsoft SQL Server Storage Engine
> > >
> > > This posting is provided "AS IS" with no warranties, and confers no
> > rights.
> > > "Doug Threewitt" <doug@.seisystems.com> wrote in message
> > > news:#lK4EhDjDHA.488@.TK2MSFTNGP09.phx.gbl...
> > > > Can anyone help me with this error? The query that is causing
> this
> > > > problem was running like a champ up until about 4 days ago. I have
> done
> > > no
> > > > upgrades to the database server in the last couple weeks. Thanks.
> > > >
> > > > Event Type: Error
> > > > Event Source: MSSQLSERVER
> > > > Event Category: (2)
> > > > Event ID: 17055
> > > > Date: 10/6/2003
> > > > Time: 12:08:48 PM
> > > > User: N/A
> > > > Computer: DATASERVERA
> > > > Description:
> > > > 17066 :
> > > > SQL Server Assertion: File: <recbase.cpp>, line=1378
> > > > Failed Assertion = 'm_offBeginVar < m_SizeRec'.
> > > >
> > > >
> > > >
> > > > -doug
> > > >
> > > >
> > >
> > >
> >
> >
>
Friday, March 23, 2012
Rebuilding a huge clustered index
That is indeed a very big table. Perhaps, you want to use index defrag (dbcc indexdefrag) instead of a full rebuild.
A good article on index defrag (sql2k) is here:
http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/ss2kidbp.mspx
If you're on sql2k5, take a look at this:
http://www.microsoft.com/technet/prodtechnol/sql/2005/onlineindex.mspx
|||Defragmenting the current index won't help, since you want a new index on different column(s).
If you are running SQL Server 2005 Enterprise Edition, you might try creating a new, non-clustered index with the ONLINE option and with MAXDOP set to something like 25% of your number of available CPU's (so it does not peg all the CPU's while building the index). This would be a lot less disruptive than dropping the clustered index and building a new one. This is assuming you need to stay online while you are doing this.
Without knowing the table schema, its hard to estimate the storage requirements for this.
|||The fastest way to rebuild a new index or create a new clustered index is to build/rebuild it in OFFLINE mode. If you rebuildin OFFLINE mode, we do minimally logging in the engine (we only log complete pages instead of individual inserts).The space requirements for ONLINE / OFFLINE are simular: you need space for the original index, you need space for the new index (simular size to the original index), and if you build the clustered index on new columns, you need space in tempdb as SQL Server will be doing a SORT before creating the new indexes. This totals on about 2.2 times the size of the original index (but could be larger, the 2.5 is just a rough guess)
So if perf is your only concern , use OFFLINE. The drawback is the table is offline, so other clients cannot access the table while the rebuild is in progress.
Also, the MAXDOP option will work for OFFLINE rebuild as well, so you can specify the number of CPU's you want to use during the rebuild.
Thanks,
Monday, March 12, 2012
Rebooting Mirrored Servers
New to SQL. Can you reboot the principal server after running updates without causing a failover?
If not what would the correct procedure be.
Do you have a witness?
If so, you could stop SQL Server on the mirror while you reboot the principal, that will prevent failover.
When I do this I let failover happen - it's a good test of it and it's pretty quick, once the principal is back up you can fail back over to it.
|||If there is no witness , Database Mirroring will get into disconnected state and resumes when able to communicate with Mirror.