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