数据库的建立及数据导入的问题

綏子 2003-09-26 09:16:52
我建立了一个模板数据库
A
里面建了很多的表,而且都有数据。

要求。

创建一新数据库
B

数据库的表、存储过程内容和A完全一样,不同的是数据库名称不同。也就是A和B完全一样,不同的是名称不同。

我知道SQL SERVER数据库的导入可以通过导入和导出来实现。

但通过程序怎样实现。


谢谢


...全文
74 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
echo 2003-09-26
  • 打赏
  • 举报
回复
为什么不用DTS呢?
leimin 2003-09-26
  • 打赏
  • 举报
回复
sorry:
try below

declare @str varchar(255)
declare @sql varchar(2000)

select @str=[filename] from master..sysdatabases
where [name]='master'

select @str=substring(@str,0,charindex('master',@str))

SELECT @SQL='SET QUOTED_IDENTIFIER OFF restore database new
from disk="c:\temp.bak"
with move "temp_data" to "'+@str+'new_data.mdf",
move "temp_log" to "'+@str+'new_data.ldf",
replace SET QUOTED_IDENTIFIER ON'

exec(@sql)
leimin 2003-09-26
  • 打赏
  • 举报
回复
最简单的方法,你可以将你所有的表和对象都放在MODEL数据库中,这样你美次建立一个新的数据库就会将MODEL的所有对象复制到新的数据库中。
good luck!
綏子 2003-09-26
  • 打赏
  • 举报
回复
写错了,应该是这样的,
'c:\Program Files\SQL SERVER\data\'+new_data.mdf;
因为数据都放在data目录下,安装不同,所以也不同。

'c:\Program Files\SQL SERVER\data\' 不是一个绝对路径,动态获取安装目录路径的函数有吗?
綏子 2003-09-26
  • 打赏
  • 举报
回复
用上面的方法我试了一下,的确可以恢复成另一个.
我是这样写的不知有没有错

restore database new
from disk='c:\temp.bak'
with move 'temp_data' to 'c:\new_data.mdf',
move 'temp_log' to 'c:\new_data.ldf',
replace

因为安装的路径不太确定。'c:\new_data.ldf', 是一个绝对路径,怎样获取SQL SERVER的
安装路径.
比如取这个路径 c:\Program Files\SQL SERVER\data+'new_data.mdf'; 有这个函数吗?

mjhnet 2003-09-26
  • 打赏
  • 举报
回复
dbname 和 dbnamelog

通过

use 新数据库名
select name from sysfiles

获取
mjhnet 2003-09-26
  • 打赏
  • 举报
回复
先备份
use master
backup database 数据库名 to disk='c:\temp.bak'
go

创建新数据库
create database 新数据库名


再还原
restore database 新数据库名
from disk='c:\temp.bak'
with move 'dbname' to 'c:\newdbname.mdf',
move 'dbnamelog' to 'c:\newdbname.ldf',
replace
echo 2003-09-26
  • 打赏
  • 举报
回复
还可以直接copy数据文件(.mdf和.ldf),然后存到目标路径,再用管理器的附加数据库功能添加数据库就OK啦
伍子V5 2003-09-26
  • 打赏
  • 举报
回复
先备份
use master
backup database 数据库名 to disk='c:\temp.bak'
go

再还原

restore database 新数据库名
from disk='c:\temp.bak'
with move 'dbname' to 'c:\newdbname.mdf',
move 'dbnamelog' to 'c:\newdbname.ldf'

34,873

社区成员

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

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