Skip to main content

How to find who deleted a database?

Hi Everyone!

This post is another short and sweet post.

I was at work and a coworker asked me if I could tell them who deleted a particular database on their developer server.

A delete action is part of using DDL statements in SQL server.

DDL stands for Data Definition Language. DDL commands impact the structure of the database so create, alter or delete are popular examples of this.

You can read more about DDL statements here .

To find who the culprit is, all you have to do is:


  • In SSMS, Right click your instance >choose 'Reports' > 'Standard Reports' > 'Schema Changes History'


schema changes history report













Note: This report will show you all the DDL statement executions for the instance.

That's it :).


If you have any further questions, please post below.


Thank you and Happy reading,

-marshé hutchinson
#learnSQLwithme

Comments

Popular posts from this blog

ERROR: must be owner of database databaseName - postgres error

Hi everyone! Today's post is about Postgres SQL. In my environment we are using Postgres SQL as one option for the backend of AWS (Amazon Web Services). That's right. We also have another option - MySQL. This post however will focus on the Postgres SQL error: "ERROR: must be owner of database databaseName" Scenario : I encountered this error when I was trying to drop a database from an AWS cluster. Amazon allows you to group databases inside of containers. These containers still have the same logic as SQL schemas which hold our database in SQL server. You can read more about AWS clusters here . Solution : This is very easy. It's in the error. All I have to do is make myself the owner of the database so I can delete the database. I. If your user account does not already have read/write privileges, then you will need to sign in to the Postgres cluster with an admin account so you can grant read/write access to your user account. II. If your ...

Msg 14234, Level 16, State 1, Procedure sp_verify_job, Line 199 The specified '@owner_login_name' is invalid (valid values are returned by sp_helplogins [excluding Windows NT groups]).

Hi guys! Here's another quick and easy post. Scenario I was trying to copy a SQL agent job from one server to another by just copying the script of that SQL job. You can copy any script by right clicking a job > Script job as > create to > new query window. I pasted the job on a different server and tried to execute it and received this error: Msg 14234, Level 16, State 1, Procedure sp_verify_job, Line 199 The specified '@owner_login_name' is invalid (valid values are returned by sp_helplogins [excluding Windows NT groups]). This error message is simply saying for the variable '@owner_login_name', the user account associated with the variable is incorrect because it does not exist. Fix Simply update the variable for '@owner_login_name' to a valid user account for the current SQL instance. Now when you execute the script again to create the SQL agent job your results will be: Command(s) completed successfully. If you have any furt...

event id 101 task start failed - task scheduler event id 101 launch failure

Hello again. This post is related to automating SQL server tasks with Task Scheduler. In this example I was tasked with exporting SQL server agent jobs twice a month. To achieve this, I setup a task scheduler task that ran a PowerShell script that: establishes a local connection to the SQL server. cleans the file before writing to the .sql file to avoid adding on (appending) results on subsequent runs of the task scheduler task. when a connection is established, export the SQL agent jobs on the server to a .sql file on a remote server. sends a confirmation email via the SQL server database mail profile that the SQL agent jobs were exported to the specified remote server path. That was a mouthful. Now that you know my task scheduler task is calling a PowerShell script, let's get back to why it is failing.  The good news is this error is not related to the script. The error launch failure means the task could not even run. This is most likely due to a permissi...