I just had to recover/change the password of the 'sa' user for one of our MS SQL (Express) servers, where no one did know the PW. There was, of course, no other admin user defined. With a bit of Google Fu and combining two different suggestions (see below) that didn't work stand-alone for me, I've came up with this easy solution. I'm posting this here both for anyone in a similar situation and as "note to self"

- SQL Server is set up for Windows authentication
- PsExec (https://technet.microsoft.com/en-us/.../bb897553.aspx)
- Administrative access to the machin the SQL server instance is running on

How to add another admin user
- Download und unzip PsExec from the above link to a folder on the SQL server machine
- Right click "Command prompt" -> "Run as Administrator"
- Run the following command
For the standard SQL instance:
<Folder\To\>PsExec -s -i sqlcmd
For a named SQL instance, connecting via TCP/IP (I leave connecting via Named Pipes as an excercise to the reader):
<Folder\To\>PsExec -s -i sqlcmd -S tcp:localhost\YourInstanceNameHere
- If successful, the SQLCmd prompt (1>) should appear. Enter the following lines
1> EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';
2> GO
If no error message occurs, congrats! You've just added another 'sa'-equivalent user.

The trick is that PsExec runs the process SQLCmd as NT AUTHORITY\SYSTEM. And that user/account has implicit 'sa'-like "powers" ...

- http://sigkillit.com/2013/01/02/reco...ft-sql-server/
- https://www.mssqltips.com/sqlservert...rver-instance/