sqlserver 复制表 复制数据库存储过程的方法

(编辑:jimmy 日期: 2024/12/24 浏览:2)

在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索,找到的一个比较简单的解决方案是: 
(1)在复制数据库之前,先备份该数据库到文件。 
(2)依据备份文件创建新的数据库,并Restore即可。 
备份数据库可用如下Sql语句: 
string.Format("backup database {0} to disk = '{1}';", dbName, bakFilePath)  依据备份文件创建并Restore新数据库可以使用如下存储过程实现: 
复制代码 代码如下:
CREATE PROCEDURE CopyDB  
(  
@newDbName varchar(50),  --新数据库名称  
@dbDataDirPath varchar(100), --数据库安装的Data文件夹目录路径  
@soureDbName varchar(100), --源数据库名称  
@soureBackupFilePATH varchar(100)--源数据库备份文件的路径  
)  
AS  
declare @sql varchar(3000)  
set @sql='  
create database '+@newDbName+'  
ON  
(  
  name='+@soureDbName+'_Data,  
  filename='''+@dbDataDirPath+@newDbName+'_Data.mdf'',  
  SIZE = 10,  
  FILEGROWTH = 15%  
)  
LOG ON  
(  
  name='''+@soureDbName+'_Log'',  
  filename='''+@dbDataDirPath+@newDbName+'_Log.LDF'',  
  SIZE = 5MB,  
  MAXSIZE = 25MB,  
  FILEGROWTH = 5MB  
)  
--开始还原  
RESTORE DATABASE '+@newDbName+' from disk='''+@soureBackupFilePATH+''' WITH REPLACE  
'  
exec(@sql)  
GO

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?