日期:2014-05-20  浏览次数:20909 次

c#中怎么创建一个和数据库A完全相同的数据库B 。。
除了数据库名字不同外,数据库里的表和内容完全相同   。。

环境:   vs2003   winform   +   SQL2000

------解决方案--------------------
USE DB1
GO
Select [name] From Sysobjects where xtype = 'U '--查出本数据库的所有表名
CREATE DATABASE xxx
根据查出的所有表循环执行下列语句
--建立并复制表数据和结构
SELECT * INTO xxx.dbo.Product FROM DB1.dbo.Product WHERE 1=1


C#执行ExecuteQuery()即可
------解决方案--------------------
DB1是原数据库的名字,xxx是新库的名字
------解决方案--------------------
那视图呢???存储过程呢.
------解决方案--------------------
数据库备份 再恢复,恢复时把数据库名换掉就可以了
------解决方案--------------------
不知道是否可以:1)备份,还原(还原时选取其他名字)
2)或者先对数据库分离,再附加

我也只自学过SQLSERVER点,上述是在SQL操作,通过C#不知可以不?
------解决方案--------------------
Select [name] From Sysobjects where xtype = 'U '--
............................................V
............................................P

非要把一切给写全吗?
------解决方案--------------------
备份和恢复可以做到.
------解决方案--------------------
写全也有问题啊,比如表的索引等。

再不济玩个更绝的。。。 把服务停掉,把ldf和mdf文件拷贝出来,改名,最后重启服务,再attach回去
------解决方案--------------------
强烈推荐备份恢复
------解决方案--------------------
lz: 最简单的办法:
你导出数据库A的生成脚本(.sql),然后建立数据库B,打开查询分析器,数据库项中选中刚刚建立的B,打开生成的脚本文件(.sql),最后编译执行,这样数据库B就建立了,与A完全一样。