Problem: There could be situation where you missed
the database transaction log file(.LDF) and you have only data file
(.MDF). You can attach the database using below solution.
Solution: In the below script I have created the database,dropped its log file and created the database with the .mdf file.
--created database with .mdf and .ldf file
CREATE DATABASE [singleFileDemo] ON PRIMARY
( NAME = N'singleFileDemo', FILENAME = N'L:\singleFileDemo.mdf' , SIZE = 2048KB , FILEGROWTH = 10240KB )
LOG ON
( NAME = N'singleFileDemo_log', FILENAME = N'F:\singleFileDemo_log.ldf' , SIZE = 1024KB , FILEGROWTH = 5120KB )
GO
--inserting data into database
use singleFileDemo
create table tb1 (name varchar(10))
--inserting records
insert into tb1 values('Jugal')
go 10;
--deleting the log file
--detaching the database file
USE [master]
GO
EXEC master.dbo.sp_detach_db @dbname = N'singleFileDemo'
GO
-- now next step is delete the file manually or you can do it from command prompt
EXEC xp_cmdshell 'del F:\singleFileDemo_log.ldf'
-- script to attach the database
USE [master]
GO
CREATE DATABASE [singleFileDemo] ON
( FILENAME = N'L:\singleFileDemo.mdf' )
FOR ATTACH
GO
No comments:
Post a Comment