代码改变世界

复制已存在的数据库结构(不包括库中的数据)

2015-03-30 18:59  马尔代夫_珍  阅读(474)  评论(0编辑  收藏  举报

我这里的需求是做若干个结构完全一样的数据库,这些数据库是并列的关系(当然这些库中的数据不一样)

使用的VS2013,SQL Server2010

1、选中要复制的数据库,右击,任务,生成脚本(E)

2、弹出“生成和发布脚本”的页面,下一步,若复制整个数据库,则选中“编写这个那个数据库及所有数据库对象的脚本(E)";若只是复制已有数据库中部分表、视图,则选中“选择特定数据库对象(O)”。这里我选中”编写整个数据库及所有数据库对象的脚本(E)“。下一步。

3、文件名(I)路径,就是把生成的SQL语句文件放置的位置,这里可以自己选择放置位置。我在这里默认,其它都默认,下一步。

4、下一步

5、完成!

当然了,有时可能遇到“22022”错误,就是SQL ServerAgent(数据库代理未启动)的问题,解决方法如下:

控制面板,管理工具,服务,SQL Server 代理(SQL),右击,属性,”自动“,应用,确定。

6、到刚才的文件名路径下找到SQL语句文件,我这里是”script,sql“,双击打开文件。

7、开始修改文件(现在文件里面的信息都是你已有的数据库的信息,现在要新建一个一样的数据库,就要修改信息)

1)

CREATE DATABASE [PigFarm0001]
 CONTAINMENT = NONE
 ON  PRIMARY
( NAME = N'PigFarm', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL11.SQL\MSSQL\DATA\PigFarm.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON
( NAME = N'PigFarm_log', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL11.SQL\MSSQL\DATA\PigFarm_log.ldf' , SIZE = 16576KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

 

2)

GO
EXEC sys.sp_db_vardecimal_storage_format N'PigFarm0001', N'ON'
GO
USE [PigFarm0001]
GO
/****** Object:  Table [dbo].[BarNoTable]    Script Date: 2015/3/30 17:02:49 ******/

   

加下划线同时斜体的地方都需要改,我这里改为PigFarm0006、PigFarm6.mdf' 、PigFarm_log6.ldf'、[PigFarm0006],

改完,然后”执行“。刷新数据库,就有新的数据库,名字为”PigFarm0006”的数据库生成。

希望对初学者有帮助!