数据库复制

Imcx 2016-01-29 11:06:10
我在一个服务器上有一个数据库,我想在另一个服务器上创建一个一样的数据库,只复制数据库的结构不要复制表里的数据,请问大神们,怎么做
...全文
171 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
早起晚睡 2016-02-02
  • 打赏
  • 举报
回复
很好办啊 如果是sql server的就先把 你要的数据库考到另一个服务器然后附加就行了 不要数据直接删除数据就OK保证是一模一样
卖水果的net 版主 2016-02-01
  • 打赏
  • 举报
回复
用 4# 生成脚本的方法吧,这个比较严谨; 如果用备份的方法,可能会有如下两个问题: 1.表之间存在参考关系,也就是有 外键的存在,要先删除子表数据,再删除主表数据,要加逻辑判断; 2.自增列问题,脚本重新生成,自增列会从 1 开始,而备份的这种方法,将保留现在库的这些值; 当然这个要看自己的实际情况,选一个合适的。
Ginnnnnnnn 2016-02-01
  • 打赏
  • 举报
回复
可以选择复制数据库,或者用生成脚本功能,把架构生成出来就可以了
江南小鱼 2016-01-29
  • 打赏
  • 举报
回复
1、你还原一下数据库,然后把表数据全部delete掉,不就行了?
SELECT row_number() over(order by name) id,Name into #t FROM SysObjects Where XType='U' ORDER BY Name
declare @i int,@count int
set @i = 1
select @count = count(1) from #t

declare @sql varchar(200),@tname varchar(50)

while @i <= @count
begin
	select @tname = name from #t where id = @i
	set @sql = 'truncate table ' + @tname
	print @sql
	
	set @i = @i + 1
end
江南小鱼 2016-01-29
  • 打赏
  • 举报
回复
2、做连接服务器,生成空表
SELECT row_number() over(order by name) id,Name into #t FROM SysObjects Where XType='U' ORDER BY Name
declare @i int,@count int
set @i = 1
select @count = count(1) from #t

declare @sql varchar(200),@tname varchar(50)

while @i <= @count
begin
	select @tname = name from #t where id = @i
	set @sql = 'select * into [' + @tname +'] from ' + @tname + ' where 1 = 2'
	print @sql
	
	set @i = @i + 1
end
drop table #t
Imcx 2016-01-29
  • 打赏
  • 举报
回复
有没有大神!!!!

34,588

社区成员

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

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