一、背景

二、思路

通过将原服务器上表的结构(或者包括数据)sql语句提取出来,然后稍加修改,在新的服务器中执行sql语句,从而完成复制。
下面,就给大家详细解释一下这一系列操作。

第一步,原服务器上的数据库为A,表为a

Sql server 复制表索引 sql server怎么复制表_复制表


里面只有一列,值为123

Sql server 复制表索引 sql server怎么复制表_服务器_02


第二步,在A数据库上,右键,任务,生成脚本

Sql server 复制表索引 sql server怎么复制表_数据库_03


第三步,下一步

Sql server 复制表索引 sql server怎么复制表_数据库_04


第四步,选择我们需要复制的表a,下一步

Sql server 复制表索引 sql server怎么复制表_复制表_05


第五步

如果我们只复制结构(就是没有数据),那么直接默认下一步就行,创建sql语句。

如果我们需要复制结构和数据,那么点击这里的高级

Sql server 复制表索引 sql server怎么复制表_sqlserver_06


将这里的仅限架构改为架构和数据,然后确定

Sql server 复制表索引 sql server怎么复制表_sqlserver_07


再继续默认下一步,就完成sql语句的创建了。

第六步,打开我们需要将表导入的另外一个服务器,假设我们要将表放在这个服务器的B数据库里面,并且取表名为b。

第七步,修改刚才创建的sql语句,如下:

USE [A]
GO
/****** Object:  Table [dbo].[a]    Script Date: 2019/7/18 19:30:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[a](
	[ceshi] [nchar](10) NULL
) ON [PRIMARY]
GO
INSERT [dbo].[a] ([ceshi]) VALUES (N'123')

针对以上语句

  1. 首先将数据库名A改为B
  2. 再将表名a改为b

如下

USE [B]
GO
/****** Object:  Table [dbo].[b]    Script Date: 2019/7/18 19:30:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[b](
	[ceshi] [nchar](10) NULL
) ON [PRIMARY]
GO
INSERT [dbo].[b] ([ceshi]) VALUES (N'123')

通常而言,数据库名只改一次,表名需要改多处,小伙伴们这里细心一点。

第八步,在新的数据库中,运行我们修改好的数据库就行了

新的服务器上,B数据库中b表就得到了

三、注意事项

1.如果只需要复制表结构,那么默认创建sql就行,如果还需要复制数据,那么修改高级里面的设置就行了。
2.大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出revit二次开发以及编程干货