用sp_attach_db创建数据库问题求教!

jamesqsj 2003-11-26 05:42:57
我用命令行来创建数据库:
isql.exe -Usa -P1234 -SLocalhost -Q "exec sp_attach_db N'OA',N'C:\superOA\tomcat 4.1\webapps\db\oa_Data.mdf'"
本来我的数据库OA在D 盘下,如用上面命令把C 盘换为D 盘,能够创建数据库,可如果我在别的目录下,比如说C: 盘或者E: 盘,就创建不起来,报错为
物理文件名 'D:\DaHanOA\Tomcat 4.1\webapps\oa\sysfile\db\oa01_log.LDF可能有误。
请教高手解惑,万分感谢!
...全文
66 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamesqsj 2003-11-27
  • 打赏
  • 举报
回复
pengdali(大力 v3.0)
老大,有没有简单些的方法,我在安装程序中执行,有没有存储过程之类的方法?
pengdali 2003-11-26
  • 打赏
  • 举报
回复
新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数

据库文件,启动数据库,该数据库被设未suspect

然后把数据库改成紧急模式:
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名'

把LDF文件改名,再执行
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )

恢复数据库紧急模式
update sysdatabases set status = 0 where name = '数据库名'
执行
restore database 数据库名 WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override

然后用DBCC CHECKDB ('数据库名')看看有没有错误

如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库
qquge 2003-11-26
  • 打赏
  • 举报
回复
学习,关注中!
jamesqsj 2003-11-26
  • 打赏
  • 举报
回复
我是要在从没有创建数据库OA 的机子上创建OA数据库,而且.mdf文件和 .ldf文件用户在安装时可能会选择 C 盘,D 盘等,用sp_attach_single_file_db 创建它还是会报 oa_log.ldf文件名有误!
jamesqsj 2003-11-26
  • 打赏
  • 举报
回复
不行,还是同样的错误。本来OA数据库是我早就建好的,现在要做安装盘,需要给用户创建数据库,用我的命令行在jsp 文件中执行时可以创建数据库OA.我现在直接在安装盘里用命令换硬盘目录就不行了。
pengdali 2003-11-26
  • 打赏
  • 举报
回复
附加单文件

下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

EXEC sp_detach_db @dbname = 'pubs'

EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
txlicenhe 2003-11-26
  • 打赏
  • 举报
回复
isql.exe -Usa -P1234 -SLocalhost -Q "exec sp_attach_single_file_db N'OA',N'C:\superOA\tomcat 4.1\webapps\db\oa_Data.mdf'"

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧