我的任务是将我们从十年前的系统(Access '97)转移到一个全新的系统,使用MS SQL Express 2008作为后端。 太好了,我知道我可以连接到数据库(成功与只读的用户),唯一的问题是…我没有一个用户在写入权限的数据库,我们没有源访问到应用程序来知道该应用程序使用什么密码(虽然,我有用户名)。
所以,正如我所看到的,我有两个select:
这些select中的任何一个都是可行的和/或可能的,以及我将如何去关于它们中的一个或两个,因为我坐在计算机的正面,可以完全访问任何东西。
通常,这是通过以单用户模式启动SQL Server并插入一个新的SQLpipe理员用户来完成的,然后您可以使用它来获得完全访问权限。 我会避免更改sa密码,直到您知道该应用程序是否正在使用它。
这里是一个链接,指导和屏幕截图使用普通的SQL Server做到这一点。 要将SQL Express设置为单用户模式并打开查询窗口,请执行以下操作:
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn> Sqlservr.exe -s SQLEXPRESS -m C:\Program Files\Microsoft SQL Server\90\Tools\Binn> sqlcmd -S.\SQLExpress
编辑(在链接腐烂的情况下):一旦你有一个查询窗口在单用户模式下打开,你应该能够添加一个服务器pipe理员login,你可以使用:
CREATE LOGIN MYADMIN WITH PASSWORD='myadminpassword' SP_ADDSRVROLEMEMBER 'MYADMIN', 'SYSADMIN'
在你的情况下,SQLlogin已启用,否则你将无法使用只读login,但是对于其他人,可能需要通过检查或编辑registry来确保SQLlogin已启用 (将MSSQL.1replace为任何实例之后,但最有可能的是.1)。 把它放在一个.reg文件中并运行它(或使用RegEdit):
-------------COPY BELOW--------------------------------- Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer] "LoginMode"=dword:00000002 -------------COPY TILL THIS---------------------------------
最后,如果您的salogin被禁用,并且您想启用它 (但是如果您的应用程序正在使用sa,或者您可能会破坏整个事情,则不要这样做):
ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ; GO
我不是100%确定你在问什么。 它几乎听起来像你的应用程序使用硬编码的用户名和密码?!?!?
如果你的问题只是重置SQL Server的'sa'帐户,那么你可以重置'sa'密码(假设你有物理访问权限)。
以pipe理员身份login到物理机器。
运行SQL Server企业pipe理器。
右键单击服务器名称,然后select“编辑SQL Server注册属性”。
select“使用Windows身份validation”,然后单击确定。
展开服务器,展开安全性,然后单击login。
双击salogin名并在“常规”选项卡上指定新密码。