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

Rdfvgddvb

Rdfvgddvb

2016-02-19 11:15

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享sqlserver 复制表 复制数据库存储过程的方法,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。
在目前的工作中需要解决复制整个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
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
sqlserver 复制表 复制数据库存储过程的方法

复制SqlServer数据库的方法

编程语言 网络编程
复制SqlServer数据库的方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

复制表结构的通用存储过程

SQLServer
复制表结构的通用存储过程

数据库存储过程分页显示

编程语言 网络编程
数据库存储过程分页显示

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Oracle数据库存储过程的6个问题

编程语言 网络编程
Oracle数据库存储过程的6个问题

复制数据库(1)--网络数据库的复制和同步(5)

编程语言 网络编程
复制数据库(1)--网络数据库的复制和同步(5)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Android仿QQ登陆窗口实现原理

Android仿QQ登陆窗口实现原理

让ASP搭配MYSQL

让ASP搭配MYSQL
下拉加载更多内容 ↓