加入收藏 | 设为首页 | 会员中心 | 我要投稿 驾考网 (https://www.jiakaowang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2023-08-15 14:44:01 所属栏目:MsSql教程 来源:
导读:在目前的工作中需要解决复制整个sqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索,
在目前的工作中需要解决复制整个sqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索,找到的一个比较简单的解决方案是:
 
(1)在复制数据库之前,先备份该数据库到文件。
 
(2)依据备份文件创建新的数据库,并Restore即可。
 
备份数据库可用如下sql语句:
 
string.Format("backupdatabase{0}todisk='{1}';",dbname,bakFilePath)依据备份文件创建并Restore新数据库可以使用如下存储过程实现:
 
<div class="codetitle"><a style="CURSOR: pointer" data="95165" class="copybut" id="copybut95165" onclick="doCopy('code95165')"> 代码如下:
 
<div class="codebody" id="code95165">
 
CREATEPROCEDUREcopyDB
 
(
 
@newdbnamevarchar(50),--新数据库名称
 
@dbDataDirPathvarchar(100),--数据库安装的Data文件夹目录路径
 
@souredbnamevarchar(100),--源数据库名称
 
@soureBackupFilePATHvarchar(100)--源数据库备份文件的路径
 
)
 
AS
 
declare@sqlvarchar(3000)
 
set@sql='
 
createdatabase'+@newdbname+'
 
ON
 
(
 
name='+@souredbname+'_Data,
 
filename='''+@dbDataDirPath+@newdbname+'_Data.mdf'',
 
SIZE=10,
 
FILEGROWTH=15%
 
)
 
logoN
 
(
 
name='''+@souredbname+'_Log'',
 
filename='''+@dbDataDirPath+@newdbname+'_Log.LDF'',
 
SIZE=5MB,
 
MAXSIZE=25MB,
 
FILEGROWTH=5MB
 
)
 
--开始还原
 
RESTOREDATABASE'+@newdbname+'fromdisk='''+@soureBackupFilePATH+'''WITHREPLACE
 
'
 
exec(@sql)
 
GO
 
 

(编辑:驾考网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章