restore database db
from disk='f:\db.bak' 光盘
with NORECOVERY,
move 'db_Data' to 'e:\database\db.mdf',
move 'db_Log' to 'e:\database\db.ldf'不行么?
from disk='f:\db.bak' 光盘
with NORECOVERY,
move 'db_Data' to 'e:\database\db.mdf',
move 'db_Log' to 'e:\database\db.ldf'不行么?
将数据库附加到服务器。语法
sp_attach_db [ @dbname = ] 'dbname'
, [ @filename1 = ] 'filename_n' [ ,...16 ] 参数
[@dbname =] 'dbname'要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n'数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。该列表还必须包括数据库分离后所有被移动的文件。
示例
下面的示例将 pubs 中的两个文件附加到当前服务器。EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
"写入名字"-->不要与现在的冲突了,或选强制恢复
"改为现在的data目录的路径"-->如默认是"c:\....data\....mdf"而你现在的sql的data目录是d:\....data你就改为d:\...data\...mdf
學習ing
后台数据库这一块我的做发是,将原来开发阶段的数据库备份出来生成一个备份文件(bak),然后自己用pb(我的软件系统是PB做的)做了一个数据库恢复的程序用来实现数据库安装。
我现在要实现的是用户直接插入我做的软件系统光盘,点击数据库安装就可以直接将数据库安装成功(也就是将光盘上的数据库备份文件恢复到用户的sql server中)。我在本机上已经调试ok了,刻录到光盘上试了一下会报错(SQL server 7.0会,2000不会!)
错误提示如下:
cannot use the backup file 'G:\server\\firemis' because it was originally formatted with sector size 512 and is now on a device with sector size 2048