今天就跟大家聊聊有关sqlserver中怎么复制数据库存储过程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索,找到的一个比较简单的解决方案是: (1)在复制数据库之前,先备份该数据库到文件。 (2)依据备份文件创建新的数据库,并Restore即可。 备份数据库可用如下Sql语句: string.Format("backupdatabase{0}todisk='{1}';",dbName,bakFilePath)依据备份文件创建并Restore新数据库可以使用如下存储过程实现:复代码如下:
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
看完上述内容,你们对sqlserver中怎么复制数据库存储过程有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。