Using undocumented DBCC WRITEPAGE to instigate SQL Server database corruption
In this tip we look at the undocumented command DBCC WRITEPAGE to corrupt a SQL Server database and then use the command to undo the corruption.
2018-10-01
2,109 reads
In this tip we look at the undocumented command DBCC WRITEPAGE to corrupt a SQL Server database and then use the command to undo the corruption.
2018-10-01
2,109 reads
2018-06-19
8,374 reads
Having already shown how to corrupt a database, and then how nonclustered indexes can be corrupted independently, in this post Brent Ozar explains how you can detect corruption.
2017-08-15
6,725 reads
This trigger will send mail notification once a row is written in the suspect pages table
2017-03-03 (first published: 2017-02-21)
517 reads
Corrupt SQL Server databases are the worst nightmare of any SQL Server professional. In any environment, from small business to enterprise, the compromise of integrity and availability of the data can constitute a business emergency. This is especially the case in those organizations reliant on an OLTP data model, for a high-volume website. SQL Server database corruption and disruption of the transaction processing system can cause business repercussions such as large financial losses, a drop in reputation or customer retention, or contractual SLA problems with the service provider, if not managed in-house.
2013-02-18
3,385 reads
How do you recover from corruption if your organization doesn't have a disaster recovery handbook? And how can you prevent the same corruption from recurring?
2013-01-29
8,798 reads
Explanation of how to repair a database in SQL 2005 Enterprise which is mirrored.
2010-05-10
4,398 reads
Returning author Wayne Sheffield recently had some database corruption - read about how it was fixed.
2010-03-03
8,831 reads
At times database corruption happens and no good recovery path is available. It is possible to salvage data from indexes using query hints.
2010-01-19
6,010 reads
Why does DBCC CHECKDB find corruption errors that disappear? Does tempdb really cause performance issues? Are there any drawbacks to using the FILESTREAM datatype? Paul Randal answers these reader questions and more.
2009-03-27
4,251 reads
With Fabric Mirroring, Microsoft is promoting a nice and appealing story for operational reporting...
If you’ve been watching AI roll through the data community and thinking, “this seems...
By Arun Sirpal
Not every production incident is a database in RECOVERY_PENDING or a corrupted event (like...
Comments posted to this topic are about the item SQL Art, Part 4: Happy...
Hi All I am trying to find 'bad' characters that users might type in....
Comments posted to this topic are about the item Extreme DAX: Take your Power...
I set up a few users on my SQL Server 2022 instance.
CREATE LOGIN User1 WITH PASSWORD = 'Demo12#1' CREATE USER User1 FOR LOGIN User1 GO CREATE LOGIN User2 WITH PASSWORD = 'Demo12#2' CREATE USER User2 FOR LOGIN User2 GO CREATE LOGIN User3 WITH PASSWORD = 'Demo12#3' CREATE USER User3 FOR LOGIN User3 GOI then created a schema that one of them owned. Under this schema, I added a table with some data.
CREATE SCHEMA MySchema AUTHORIZATION User1
GO
CREATE TABLE Myschema.MyTable(myid INT)
GO
INSERT MySchema.MyTable
(
myid
)
VALUES
(1), (2), (3)
GO
SELECT * FROM MySchema.MyTable
GO
I granted rights and verified that User2 could access this table.
GRANT SELECT ON Myschema.MyTable TO User2 GO SETUSER 'USER2' GO SELECT * FROM MySchema.MyTable GOThis worked. Now, I move this schema to a new user.
ALTER AUTHORIZATION ON SCHEMA::Myschema TO User3; GOWhat happens with this code?
SETUSER 'USER2' GO SELECT * FROM MySchema.MyTable GOSee possible answers