SqlServer将没有log文件的数据库文件附加到服务器中

今天搞了一件很让我不爽的事情,一不小心把一个40多G的数据库日志文件删除,而且在删除之前我又搞了个日志进去,死活附加不了到服务器上去一直提 示多个日志不能自动创建,白白浪费了我一个晚上的时间,后来不断的Google,终于在一个老外的博客里发现了几个语句,直接搞定,感谢他顺便记录在案。

1
2
3
4
5
6
7
8
9
10
11
USE [master]
GO
-- Method 1: I use this method
EXEC sp_attach_single_file_db @dbname='TestDb',
@physname=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestDb.mdf'
GO
-- Method 2:
CREATE DATABASE TestDb ON
(FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestDb.mdf')
FOR ATTACH_REBUILD_LOG
GO

语句1就是将文件附加到数据库里,如果像我这种情况就会出现问题了。所以执行语句2就可以重新建立日志,管他几个日志文件。  

-- Method 3:
CREATE DATABASE TestDb ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestDb.mdf')
FOR ATTACH
GO
posted @ 2015-10-27 17:53  程序员徐坤  阅读(367)  评论(0编辑  收藏  举报