方法3:在cmd中先定位到数据库安装目录“ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\Binn”,输入sqlservr.exe–c–m,然后打开msms直接点新建查询使用管理员用户进入。
补充:配置管理员专用链接
运行输入cmd
输入Sqlcmd–A–S127.0.0.1或者Sqlcmd–A–SIP或者Sqlcmd–A–S机器名
通过新建查询连接
ADMIN:IP或者ADMIN:127.0.0.1或者ADMIN:机器名
常用查询语句
select*fromsys.dm_exec_requests
SELECT*fromsysprocesses
select*fromsys.dm_os_memory_cache_counters
select*fromsys.dm_exec_sessions
还原master数据库
还原master的数据库必须在单用户启动实例,然后使用管理员用户进行还原。这也是文章前面讲单用户启动实例的目的
使用方法1和方法3启动实例之后,不要用往常登入的方式登入SQL管理工具,而是之间点击新建查询或者点击文件菜单-新建-数据库引擎查询,然后输入管理员权限的用户进入,接下来就是还原数据库了,还原语句很简单例如:
RESTOREDATABASE[master]FROMDISK=N'D:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\master.bak'
GO
如果失败则加上WITHREPLACE
RESTOREDATABASE[master]FROMDISK=N'D:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\master.bak'
WITHREPLACE
方法2有一个要注意的地方就是,在单用户启动实例之后进入sqlcmd工具,执行usemaster之后每一步记得加上go,否则一直是光标闪动,还有方法2只能还原master数据库无法还原其他数据库。
还原完之后再以正常的方式重新启动服务就好。
注意:如果重新生成master数据库之后(这里的重新生成和还原备份是不一样的,如果是还原最新的备份是不用再重新还原msdb和model数据库),一定要重新还原msdb和model数据库。
还原msdb数据库
还原model或msdb数据库与对用户数据库执行完整的数据库还原相同。不能还原用户正在访问的数据库。如果SQLServer代理正在运行,它可以访问msdb数据库。因此,在还原msdb之前,请先停止SQLServer代理。
msdb数据库需要在单用户模式下进行还原,这里说的单用户跟前面的master的单用户启动实例不一样,这里的单用户只是获取msdb数据库的单独访问权限,所以可以用语句将数据库设置成单用户模式然后执行还原。