Sql Server 附加没有日志文件的数据库(.mdf)文件方法
2015-10-01 09:20
507 查看
附加数据库,附加的时候会提醒找不到log文件
针对以上现象有两个写法的语句能解决:
写法一:
USE MASTER;
EXEC sp_detach_db @dbname = 'TestDB';
EXEC sp_attach_single_file_db @dbname = 'TestDB',
@physname =
'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf'
写法二:
CREATE DATABASE TestDB
ON
(
FILENAME =
'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf' --输入.mdf的文件所在目录
) FOR ATTACH_REBUILD_LOG
写法三:
在查询窗口执行,可能会输出如下提示:
文件激活失败。物理文件名称'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.ldf'可能不正确。
新的日志文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB_log.LDF' 已创建。
我的理解是可能是原先日志文件名可能与系统命名规则不匹配,但此时刷新下数据库就能看到已附加了数据库文件
针对以上现象有两个写法的语句能解决:
写法一:
USE MASTER;
EXEC sp_detach_db @dbname = 'TestDB';
EXEC sp_attach_single_file_db @dbname = 'TestDB',
@physname =
'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf'
写法二:
CREATE DATABASE TestDB
ON
(
FILENAME =
'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf' --输入.mdf的文件所在目录
) FOR ATTACH_REBUILD_LOG
写法三:
CREATE DATABASE TestDb ON ( FILENAME = N''D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf') FOR ATTACH GO
在查询窗口执行,可能会输出如下提示:
文件激活失败。物理文件名称'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.ldf'可能不正确。
新的日志文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB_log.LDF' 已创建。
我的理解是可能是原先日志文件名可能与系统命名规则不匹配,但此时刷新下数据库就能看到已附加了数据库文件
相关文章推荐
- Redis 缓存 + Spring 的集成示例
- 8种Nosql数据库系统对比
- mysql 学习记录(一)--建表,增加,删除,修改,基本查询
- 「Redis学习笔记」任务队列
- PL/SQL Developer、DbVisualizer 远程连接Oracle
- 我是如何在SQLServer中处理每天四亿三千万记录的
- Mysql学习笔记(七)mysql编程基础之自定义函数。
- MySQL实用工具汇总
- ORACLE 11g用户权限管理随笔精髓
- mongodb(5)-分片集群
- MongoDb(4)
- mysql数据库主备同步部署
- 数据库连接池库libzdb使用教程
- 定时任务知多少(二)——持久化quartz到Mongodb中
- MySQL备份工具mydumper备份
- entityframework使用CodeFirst创建MySql数据库出错的解决方法恢复
- MySQL千万级别表数据中提高RAND随机查询的实验
- ItemsControl 类绑定数据库
- ItemsControl 类绑定数据库
- Mysql数据库锁定机制