积极答复者
sql server (SQLEXPRESS)服务无法启动 数据库打不开 数据库如何恢复?

问题
-
昨晚我在我的SQL安装目录下(D:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data)想重命名我的某个数据库文件名,但是提示正在被使用,于是我停用所有的SQL server 服务,后来成功改掉文件名。接着重新启动服务,所有服务启动成功,唯独SQL Server (SQLEXPRESS)启动时报错,提示“sql server (SQLEXPRESS)服务无法启动 请求失败或服务为及时响应”,(注:这是在SQL server配置管理器里面停用和启动的,当在服务启动服务时,提示“错误2系统找不到指定的文件”)回头发现数据库也已经无法打开,现在吧改过名字的数据库改回原来的也没用了,请问,这样还可以回复我的数据库吗?谢谢!
答案
-
正确修改数据库文件名字的方法:
USE master; GO -- 查询数据库的逻辑名称和物理名称 -- 查询的结果用于替换下面的脚本中的对应名称 SELECT name, physical_name FROM 数据库名.sys.database_files ; -- offline database ALTER DATABASE 数据库名 SET OFFLINE WITH ROLLBACK AFTER 0 ; -- 修改数据库文件名 (你可以直接在操作系统资源管理器中去完成这个) EXEC xp_cmdshell 'rename "d:\db.mdf" "新文件名"'; -- 修改数据库文件, 指向新的文件名 ALTER DATABASE 数据库名 MODIFY FILE( NAME = N'数据文件对应的逻辑名称', FILENAME = N'd:\新文件名' ); -- 将数据库 online ALTER DATABASE 数据库名 SET ONLINE ;
- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年7月7日 5:35
全部回复
-
正确修改数据库文件名字的方法:
USE master; GO -- 查询数据库的逻辑名称和物理名称 -- 查询的结果用于替换下面的脚本中的对应名称 SELECT name, physical_name FROM 数据库名.sys.database_files ; -- offline database ALTER DATABASE 数据库名 SET OFFLINE WITH ROLLBACK AFTER 0 ; -- 修改数据库文件名 (你可以直接在操作系统资源管理器中去完成这个) EXEC xp_cmdshell 'rename "d:\db.mdf" "新文件名"'; -- 修改数据库文件, 指向新的文件名 ALTER DATABASE 数据库名 MODIFY FILE( NAME = N'数据文件对应的逻辑名称', FILENAME = N'd:\新文件名' ); -- 将数据库 online ALTER DATABASE 数据库名 SET ONLINE ;
- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年7月7日 5:35