日期:2014-05-17  浏览次数:20436 次

如何将某数据库全部表(包括表主键、字段默认值)复制到同一服务器中的另一个不同名的数据库中?
    我用的是SQL Server 2000,向电脑专家请教两个问题:
    1、如何将某数据库全部表(包括表主键、字段默认值)复制到同一服务器中的另一个不同名的数据库中?
    使用SQLServer自带的导入导出工具,然后选择所有表,也可以将某数据库全部表复制到同一服务器中的另一个不同名的数据库中,但复制过去的表中的字段默认值、主键都不再存在,只是复制了表名及表中的字段名、字段数据类型。应如何将某数据库全部表(包括各表的主键、字段默认值、标识列)复制到同一服务器中的另一个不同名的数据库中?  
    2、如何更改已有数据库的名称,并将该数据库的罗辑文件名、物理文件名中的相应名称也改为新数据库的名称?
    使用:sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name' 可以更改数据库的名称,但更名后的数据库的罗辑文件名、物理文件名却仍然是原数据库名。如何设置才能使更改名称的数据库的罗辑文件名、物理文件名中的相应名称也改为更名后的数据库名称?
    敬向电脑专家请教,不胜感激!


------解决方案--------------------
备份->恢复为不同名数据库,全部表执行truncate table..
------解决方案--------------------
可以备份数据集然后还原,
或者随便新建个数据库,生成原数据库脚本,选上主键,在新数据库里面执行,然后再用导入导出
------解决方案--------------------
第一个问题可以试试如下方法:
企业管理器中右键该数据库——所有任务——生成SQL脚本——“选项”选项卡——表脚本选项下的四个复选框全部打钩——确定;
然后在另一个数据库中执行生成的脚本即可。
------解决方案--------------------
1.通过复制、事务日志传送的方式均可以实现数据库复制的效果;
  复制的过程在企业管理器中按向导一步步操作,主要过程是先要对表进行发布过程,然后复制数据库进行订阅,在使用复制监控进行查看复制;
2.SP_RENAMEDB 'olddbnamep','newdbnamne'