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完全一样。