`
vefan
  • 浏览: 85613 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

复制SqlServer数据库

阅读更多
从高山网(http://www.gao3.cn)上看到的一篇文章,收录于此.

在目前的工作中需要解决复制整个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



测试的代码如下:
IList<SPParameter> paraList = new List<SPParameter>();
                SPParameter para1 = new SPParameter("newDbName", ParameterDirection.Input, "EASNew9");
                paraList.Add(para1);
                SPParameter para2 = new SPParameter("dbDataDirPath", ParameterDirection.Input, @"C:\Program Files\Microsoft SQL Server\MSSQL\Data\");
                paraList.Add(para2); 
                SPParameter para3 = new SPParameter("soureDbName", ParameterDirection.Input, "AutoSchedulerSystem");
                paraList.Add(para3);
                SPParameter para4 = new SPParameter("soureBackupFilePATH", ParameterDirection.Input, @"d:\sqlDatabase\AutoSchedulerSystem");
                paraList.Add(para4);
                IDictionary<string, object> outParas = null;
                Program.DataAccesser.GetSPAccesser(null).ExcuteNoneQuery("CopyDB", paraList, out outParas);



本文来自CSDN博客,转载请标明出处:http://www.gao3.cn/asp/article/article34.htm
分享到:
评论

相关推荐

    SQLServer数据库的备份和还原详解

    在开始讨论SQL Server数据库的备份与还原之前,我们需要了解几个基本的概念。 - **MDF 文件**: 这是SQL Server数据库的主要数据文件,存储了数据库的所有数据。每一个SQL Server数据库至少包含一个MDF文件。 - **...

    中控考勤软件sqlserver数据库建立办法

    在软件的安装目录下找到 SQL Server 数据库脚本(文件名:sqlserver.sql),用记事本打开,然后把里面的脚本程序全部复制。注意,复制粘贴时不要通过快捷键操作,点鼠标右键复制粘贴。 步骤 4:执行数据库脚本 在...

    SqlServer数据库的备份与还原

    SqlServer数据库的备份与还原是数据库管理中的核心操作,它们确保了数据库的稳定性和数据的安全性。在SqlServer2017中,可以采用手动备份和自动备份两种方式进行数据库的备份,同时在必要时进行还原操作。 首先,...

    复制SqlServer数据库的方法

    在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索...

    sqlserver数据库jar包

    String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String user = "myUsername"; String password = "myPassword"; try { Connection conn = DriverManager.getConnection(url, user,...

    SQL Server数据库管理精品电子书

    《SQL Server数据库管理精品电子书》是一本专为IT专业人士准备的深度学习资源,由51CTO提供,旨在帮助读者全面掌握SQL Server数据库的管理和优化技巧。这本书涵盖了SQL Server数据库的基础知识、高级特性和实战应用...

    SQL Server数据库服务器负载均衡集群的实现

    SQL Server 数据库服务器负载均衡集群的实现 SQL Server 数据库服务器是应用范围最广的数据库产品,并且越来越多地在大型和关键的应用系统中提供服务。当企业应用越来越复杂、数据量越来越大的时候,SQL Server ...

    SQL Server数据库开发实例解析完整版

    在IT领域,SQL Server数据库是微软公司推出的一款关系型数据库管理系统,被广泛应用于企业级数据存储、管理和分析。本资源“SQL Server数据库开发实例解析完整版”提供了丰富的实践案例,帮助开发者深入理解并掌握...

    SqlServer数据库同步方案详解

    SqlServer 数据库同步方案详解 SqlServer 数据库同步是指将多个数据库服务器中的数据保持同步,以...通过了解数据复制前提条件、解决前提条件实施步骤、了解复制配置概念和原理,可以成功配置 SqlServer 数据库同步。

    java连接sqlserver数据库示例以及jar包

    在Java编程中,连接SQL Server数据库通常涉及到JDBC(Java Database Connectivity)技术。JDBC是Java平台中的一个标准API,它允许Java程序与各种类型的数据库进行交互。在本示例中,我们将深入探讨如何使用Java连接...

    SQL Server数据库系统概论课件

    《SQL Server数据库系统概论》课程是针对数据库管理和开发人员设计的,旨在深入理解SQL Server这一强大关系型数据库管理系统的工作原理、特性和使用方法。本课程基于王珊主编的《数据库系统概论》(第4版)教材,该...

    SQL Server数据库技术大全

    《SQL Server数据库技术大全》是一本全面探讨微软SQL Server数据库管理系统的权威指南,涵盖了从基础概念到高级应用的广泛知识领域。SQL Server是企业级的数据存储和管理平台,广泛应用于各种业务系统,其强大功能和...

    SqlServer数据库OGG安装部署及数据初始化.docx

    在这个场景中,我们关注的是如何在SQL Server数据库环境下安装配置Oracle GoldenGate(OGG),并将数据从SQL Server实时同步到Oracle数据库。以下是对整个过程的详细说明: 首先,确保你的SQL Server是企业版,并且...

    sql server数据库如何存取图片

    ### SQL Server 数据库如何存取图片 在 IT 领域中,数据库管理是一项至关重要的技术,尤其是在处理大量数据和多媒体资源时。SQL Server 作为一款功能强大的关系型数据库管理系统,支持多种数据类型,包括存储图像...

    sqlserver数据库简介

    ### SQL Server 数据库简介 #### 一、关系数据库概述 **1.1 关系数据库** - **1.1.1 关系模型的基本概念** - 数据库技术关注如何科学地组织和存储数据,并且能够高效地获取和处理数据。在数据库领域中,使用数据...

    SQL Server数据库技术大全.pdf

    《SQL Server数据库技术大全》是一本全面探讨Microsoft SQL Server数据库管理系统的权威指南。该书深入浅出地介绍了SQL Server的核心概念、功能以及实际应用,旨在帮助读者掌握这一强大的数据库平台。 首先,书中会...

    SQL Server数据库原理及应用(第二版)教案

    《SQL Server数据库原理及应用(第二版)教案》是由曾长军编著的一份详尽的教学资源,旨在帮助学习者深入理解SQL Server数据库的核心概念、设计原则和实际应用。这份教案全面涵盖了数据库管理系统的基础知识,SQL语言...

    Sqlserver数据库迁移

    在"Sqlserver数据库迁移"这个小项目中,我们主要关注的是如何将现有的SQL Server数据库从一个环境迁移到另一个环境,这可能涉及到数据的备份、恢复、复制以及同步等多个环节。以下是一些关于此话题的关键知识点: 1...

    迷你sql2000,SqlServer数据库

    迷你SQL2000是微软公司推出的一种关系型数据库管理系统(RDBMS),全称为Microsoft SQL Server 2000。这款产品以其高效、稳定和易用性在IT行业中广泛应用于数据存储和管理。尽管“迷你”版可能指的是精简或简化版,...

Global site tag (gtag.js) - Google Analytics