EXEC sp_attach_db @dbname = N'AdventureWorks', @filename1 = N'c:\Program Files\Microsoft SQL Server \MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf', @filename2 = N'c:\Program Files\Microsoft SQL Server \MSSQL.1\MSSQL\Data\AdventureWorks_log.ldf' ;
05用CREATE DATABASE USE master; GO sp_detach_db Archive; GO -- Get the SQL Server data path 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); -- Execute CREATE DATABASE FOR ATTACH statement EXEC ('CREATE DATABASE Archive ON (FILENAME = '''+ @data_path + 'archdat1.mdf'') FOR ATTACH'); GO
@filename1 = N'c:\Program Files\Microsoft SQL Server
\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server
\MSSQL.1\MSSQL\Data\AdventureWorks_log.ldf' ;
USE master;
GO
sp_detach_db Archive;
GO
-- Get the SQL Server data path
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);
-- Execute CREATE DATABASE FOR ATTACH statement
EXEC ('CREATE DATABASE Archive
ON (FILENAME = '''+ @data_path + 'archdat1.mdf'')
FOR ATTACH');
GO
EXEC sp_attach_db @dbname = N'zetian', --数据库名
@filename1 = N'C:\Inetpub\wwwroot\zetian\数据库\zetian.mdf', --路径
@filename2 = N'C:\Inetpub\wwwroot\zetian\数据库\zetian_log.ldf'或者用企业管理器操作。
做法是:
1先创建一个同名字的数据库
2停止服务,将这两个文件覆盖了,刚创建的那两个文件(data文件夹里)
3重新启动服务,
4 刷新一个前面创建的数据库,搞定
数据库名: dbweb
主要文件:c:\test\dbweb.mdf
日志文件:c:\test\dbweb_log.mdf1、分离: sp_detach_db dbweb,true2、附加:sp_attach_db 'dbweb','c:\test\dbweb.mdf','c:\test\dbweb_log.ldf'