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

2020-03-01 作者:计算机教程   |   浏览(180)

在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索,找到的一个比较简单的解决方案是: 在复制数据库之前,先备份该数据库到文件。 依据备份文件创建新的数据库,并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

本文由www.2003.com发布于计算机教程,转载请注明出处:sqlserver 复制表 复制数据库存储过程的方法【ww

关键词: