--脱机与连机数据库
--1、通过T-SQL语句分离与附加数据 要分离复制的数据库,该数据库必须是未发布的数据库
EXEC sp_detach_db 'AdventureWorks','true';
--2、保留全文索引文件和全文索引的元数据
EXEC sp_detach_db @dbname='AdventureWorks',@keepfulltextindexfile='true';
--使用创建数据库的FOR ATTACH附加数据库
use master
go
sp_detach_db mytestdb;--首先使用sp_detach_db分离mytestdb数据库
go
--得到SQL SERVER 的数据路径
DECLARE @data_path nvarchar(256)
set @data_path = (select SUBSTRING(physical_name,1,CHARINDEX(N'master.mdf',lower(physical_name))-1))
from master.sys.master_files
where database_id = 1 and file_id =1);
--执行 CREATE DATABASE FOR ATTCH 语句附加mytestdb数据库。
EXEC ('CREATE DATABASE mytestdb ON (filename = '''+ @data_path +'mytestdb.mdf' ') for attach');
go
--1、通过T-SQL语句分离与附加数据 要分离复制的数据库,该数据库必须是未发布的数据库
EXEC sp_detach_db 'AdventureWorks','true';
--2、保留全文索引文件和全文索引的元数据
EXEC sp_detach_db @dbname='AdventureWorks',@keepfulltextindexfile='true';
--使用创建数据库的FOR ATTACH附加数据库
use master
go
sp_detach_db mytestdb;--首先使用sp_detach_db分离mytestdb数据库
go
--得到SQL SERVER 的数据路径
DECLARE @data_path nvarchar(256)
set @data_path = (select SUBSTRING(physical_name,1,CHARINDEX(N'master.mdf',lower(physical_name))-1))
from master.sys.master_files
where database_id = 1 and file_id =1);
--执行 CREATE DATABASE FOR ATTCH 语句附加mytestdb数据库。
EXEC ('CREATE DATABASE mytestdb ON (filename = '''+ @data_path +'mytestdb.mdf' ') for attach');
go