当前位置:首页 » 编程语言 » sqlserver拷贝表结构
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver拷贝表结构

发布时间: 2023-05-12 06:38:50

Ⅰ 如何复制sql表结构用数据及数据

我要复制aaa数据库中的表,及表内的数据,到bbb数据库中,
2: 到安装SQLSERVER的目录下,把aaa_Data.MDF,aaa_Log.LDF复制到外面,更名为bbb_Data.MDF,bbb_Log.LDF,再复制回去覆盖原先存的搏凯bbb数据库文件;
3:打基肆唤开SQLserver service Manager。
你将会发现aaa数据库中的表,及表内的数据,已到bbb数据库中。
另一种方法就是用SQL2000的本身特点了,这个你要看书了,呵呵!Top3 楼dpzhou(大米周)
还不如直接备份一份,然后还原了Top4 楼dana(dana)
Sql.Add(' SELECT * INSTO AddTable FROM OldTable ');ExecSQL;end;Top6 楼angiin(末熊)
oracle为:create table bbb as select * from aaa
sqlserver为:select * into bbb from aaaTop7 楼dana(dana)
是在SQL数据库中的两个数据库啊,不是两个表。
Top8 楼dana(dana)
1:新建一个bbb数据库,然后关掉SQLserver service Manager;(就是右下角那个绿三角)
2: 到安装SQLSERVER的目录下,把aaa_Data.MDF,aaa_Log.LDF复制到外面,更名为bbb_Data.MDF,bbb_Log.LDF,雹判再复制回去覆盖原先存的bbb数据库文件;
3:打开SQLserver service Manager。
你将会发现aaa数据库中的表,及表内的数据,已到bbb数据库中。

Ⅱ sql server 如何完整复制表 包括表结构,索引,字段说明,依赖关系等等

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

--Transfer对象的重要属性

--1.属性

属性名类型描述
------------------------------------------------------------------------
CopyAllDefaultsBoolean所有默认值
CopyAllObjectsBoolean所有对象
CopyAllRulesBoolean所有规则
CopyAllStoredProceresBoolean所有存储过程
CopyAllTablesBoolean所有表
CopyAllTriggersBoolean所有触发器
所有用户自定义类型
CopyAllViewsBoolean所有视图
CopyDataBoolean所有数据
DestDatabaseString目标对象数据库
DestLoginString目标数据库登陆用户名
DestPasswordString目标数据库登陆密码
DestServerString目标服务器
用户信任连接
DropDestObjectsFirstBoolean是否先删除目标对象
IncludeDependenciesBoolean是否包含依靠对象
ScriptTypeBoolean脚本类型

--2.重要方法:

方法名称功能描述
-----------------------------------------------------
AddObject增加对象
AddObjectByName通过对象名称增加对象

ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[P_CopyDB]')andOBJECTPROPERTY(id,N'IsProcere')=1)
dropprocere[dbo].[P_CopyDB]
GO

/*--在SQLServer中使用SQLDMO.Transfer实现数据迁移
存储过程实现源数据库到目标数据库的对象和数据的复制
要求源数据库和目标数据库在同一服务器
如果是要实现不同服务器之间的复制,则需要增加验证信息
--邹建2005.07(引用请保留此信息)--*/

/*--调用示例

CREATEDATABASEtest
EXECP_CopyDB@Source_DB='northwind',@Des_DB='test'
DROPDATABASEtest
--*/
CREATEPROCEDUREP_CopyDB
@Des_DBsysname,--目标数据库
@Obj_Typenvarchar(4000)=N'',--复制的对象类型,可以是下列字符串行表:
--O所有对象,D默认值,R规则,P存储过程
--T表,TR触发器,DT用户定义数据类型
--V视图,DATA数据,DEL删除目标对象
@Source_DBsysname=N'',--源数据库
@ServerNamesysname=N'',--服务器名
@UserNamesysname=N'',--用户名,不指定则表示使用Windows身份登录
@pwdsysname=N''--密码
AS
SETNOCOUNTON
DECLARE@srvidint,@Dbidint,@S_dbidint,@D_dbidint,@TransferIDint,
@errint,@srcvarchar(255),@descvarchar(255)

IFISNULL(@ServerName,N'')=N''SET@ServerName=@@SERVERNAME
IFISNULL(@Source_DB,N'')=N''SET@Source_DB=DB_NAME()

--创建sqldmo对象·
EXEC@err=sp_oacreate'sqldmo.sqlserver',@srvidOUT
IF@err<>0GOTOlb_Err

--连接服务器
IFISNULL(@UserName,N'')=N''--使用Windows身份登录
BEGIN
EXEC@err=sp_oasetproperty@srvid,'loginsecure',-1
IF@err<>0GOTOlb_Err

EXEC@err=sp_oamethod@srvid,'connect',NULL,@servername
END
ELSE
EXEC@err=sp_oamethod@srvid,'connect',NULL,@servername,@UserName,@pwd

IF@err<>0GOTOlb_Err

--获取数据库集
EXEC@err=sp_oagetproperty@srvid,'databases',@DbidOUT
IF@err<>0GOTOlb_Err

--选择源数据库
EXEC@err=sp_oamethod@Dbid,'item',@S_dbidOUT,@Source_DB
IF@err<>0GOTOlb_Err

--选择目标数据库
EXEC@err=sp_oamethod@Dbid,'item',@D_dbidOUT,@Des_DB
IF@err<>0GOTOlb_Err

--设置复制的对象
EXEC@err=sp_oacreate'SQLDMO.Transfer',@TransferIDOUT
IF@err<>0GOTOlb_Err

--设置目标服务器信息
EXEC@err=sp_oasetproperty@TransferID,'DestServer',@ServerName
IF@err<>0GOTOlb_Err

--设置连接用户
IFISNULL(@UserName,N'')=N''--使用Windows身份登录
BEGIN
EXEC@err=sp_oasetproperty@TransferID,'DestUseTrustedConnection',1
IF@err<>0GOTOlb_Err
END
ELSE
BEGIN
EXEC@err=sp_oasetproperty@TransferID,'DestLogin',@UserName
IF@err<>0GOTOlb_Err

EXEC@err=sp_oasetproperty@TransferID,'DestPassword',@pwd
IF@err<>0GOTOlb_Err
END

--设置复制对象信息
EXEC@err=sp_oasetproperty@TransferID,'DestDatabase',@Des_DB
IF@err<>0GOTOlb_Err

DECLAREtbCURSORFAST_FORWARDLOCAL
FOR
SELECTNameFROM(
SELECTKeyWord=N',D,',Name=N'CopyAllDefaults'UNIONALL
SELECTKeyWord=N',O,',Name=N'CopyAllObjects'UNIONALL
SELECTKeyWord=N',R,',Name=N'CopyAllRules'UNIONALL
SELECTKeyWord=N',P,',Name=N'CopyAllStoredProceres'UNIONALL
SELECTKeyWord=N',T,',Name=N'CopyAllTables'UNIONALL
SELECTKeyWord=N',TR,',Name=N'CopyAllTriggers'UNIONALL
SELECTKeyWord=N',DT,',Name=N'CopyAllUserDefinedDatatypes'UNIONALL
SELECTKeyWord=N',V,',Name=N'CopyAllViews'UNIONALL
SELECTKeyWord=N',DATA,',Name=N'CopyData'UNIONALL
SELECTKeyWord=N',DEL,',Name=N'DropDestObjectsFirst'
)AWHERECHARINDEX(KeyWord,
CASEWHENISNULL(@Obj_Type,N'')=''THEN',O,DATA,'ELSE@Obj_TypeEND)>0
OPENtb
FETCHtbINTO@src
WHILE@@FETCH_STATUS=0
BEGIN
EXEC@err=sp_oasetproperty@TransferID,@src,1
IF@err<>0GOTOlb_Err
FETCHtbINTO@src
END
CLOSEtb
DEALLOCATEtb

--复制对象
EXEC@err=sp_oamethod@S_dbid,'Transfer',null,@TransferID
IF@err<>0GOTOlb_Err

--结束
SET@err=0
GOTOlb_Exit

--错误处理
lb_Err:
EXECsp_oageterrorinfoNULL,@srcOUT,@descOUT
RAISERROR(N'错误编号%#x,错误源"%s",错误描述"%s"',16,1,@err,@src,@desc)
RETURN-1

lb_Exit:
EXECsp_OADestroy@Dbid
EXECsp_OADestroy@srvid
EXECsp_OADestroy@TransferID
RETURN@err
GO

个人觉得最好的方法还是备份还原,这样这个数据库都可以复制。当然这个方法不是什么时候都能使用的

Ⅲ 如何在Oracle中复制表结构和表数据

1、如图:SQLSERVER 复制表数据 直接应用毕禅select into 。


Ⅳ 在sqlserver数据库中怎么复制相同的表结构的方法

--------------新表↓要复制的源表↓
Select*IntonewTableFromsourceTable


这个语句会将sourceTable结构包括数据全部复制一份放到新表中newTable是新表的名字,在执行前newTable表不能已存在,如果只复制结构不要数据


Selecttop1*IntonewTableFromsourceTable--少要点只要一行
truncatetablenewTable--清除掉数据


关于 select into 语句:


SQL SELECT INTO 语句可用于创建表的备份复件。

SELECT INTO 语句

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。

SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

SQL SELECT INTO 语法

您可以把所有的列插入新表:

SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename

或者只把希望的列插入新表:

SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename

SQL SELECT INTO 实例 - 制作备份复件

下面的例子会制作 "Persons" 表的备份复件:

SELECT *
INTO Persons_backup
FROM Persons

IN 子句可用于向另一个数据库中拷贝表:

SELECT *
INTO Persons IN 'Backup.mdb'
FROM Persons

如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:

SELECT LastName,FirstName
INTO Persons_backup
FROM Persons

SQL SELECT INTO 实例 - 带有 WHERE 子句

我们也可以添加 WHERE 子句。

下面的例子通过从 "Persons" 表中提取居住在 "Beijing" 的人的信息,创建了一个带有两个列的名为 "Persons_backup" 的表:

SELECT LastName,Firstname
INTO Persons_backup
FROM Persons
WHERE City='Beijing'

SQL SELECT INTO 实例 - 被连接的表

从一个以上的表中选取数据也是可以做到的。

下面的例子会创建一个名为 "Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息:

SELECT Persons.LastName,Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P

Ⅳ 怎样在sql server不同的数据库之间复制表结构和数据

方式一、如果写代码
select
*
into
[目标数据库b].dbo.表名
from.
[源数据库a].dbo.表名
方式二、如果不写代码,可以用导入的方式
复制表结构(如果目标数据库已经存在,此步跳过)
1、打开并连接sql
server,在源数据库data_a(源数据库名称)上右键,然后依次点击“编写表脚本为”→“create到”→“新查询编辑器窗口”。
2、在第1步产生的编辑器中按”crtl+a“组合键全选内容,然后右键“复制“(或按"crtl+c"键)。
3、新建查询,然后右键“粘贴”(或ctrl+v);如图所示,将代码中data_a(源数据库名)改为data_b(目标数据库名)。接着右键单击”执行“执行代码。
4、在目标数据库的表结构中就可以看到被复制过来的表了。
表的数据内容复制
选中目标数据库data_b然后点击”任务“→”导入数据“。
进入”sql
server导入导出向导“,根据提示步骤操作。
选择数据源(源数据库)。
选择目标(目标数据库)、指定表复制或查询。
选择源表和源视图:设置源表和目标表后,单击“编辑映射”按钮,在弹出窗口中选中“启用标识插入”。(否则后面会出错)
一直点击“下一步”至最后完成操作。

Ⅵ 在sqlserver数据库中怎么复制相同的表结构的方法

我所用的笨办法就是企业管理器中,先把原有的表导入sql脚本,然后再通过sqlserver的查询分析器,连接到你的目的数据库,然后再把刚才导出的sql脚本复制到查询分析器里运行就可以了,运行成功后在查看一下目的数据库中是不是已经多了一个表,如果还是没有的话就多刷新一下就出来了!

在表上点击右建-选择-生成sql 脚本

直接点击确定-然后选择保存的路径和文件名就可以了
以上说的这些只是在另一个数据库生成了一个相同的表结构而已,是一个空表,没有数据,关于把另一个表中的数据复制过来的操作就很简单了,如果是简单的几行记录的话就直接选中数据源表中的记录,然后粘贴进目的表就ok了!
如果要是复制的记录比较多的话就直接在目的表上点击右键选择“导入数据”,然后点击“下一步”,选择数据源(这个就不用详细说了,直接按提示操作就可以了),选择目的数据表,选择完后一直点击下一步,最后点击确定,复制成功后会有提示成功,如果没有成功的话就要查看一下是什么原因,一般情况下都不会有问题的,因为两个表的表结构已经一模一样了,所以不会出错了!

Ⅶ sqlserver如何从A数据库复制表M到B数据库N表中

sqlserver从A数据库复制表M到B数据库N表中的方法如下:

1、首先要保证的是B库的TestTableB1 表结构和A库的TestTableA1 表结构相同.

SET IDENTITY_INSERT DataBaseB.dbo.TestTableB1 ON

2、导入前开启IDENTITY_INSERT为ON

INSERT DataBaseB.dbo.TestTableB1 --目标数据库表(需要导入的库表)
( TestId,
TestName
)
SELECT
TestId,
TestNameFROM DataBaseA.dbo.TestTableA1 --源数据库表(需要导出的库表)

SET IDENTITY_INSERT DataBaseB.dbo.TestTableB1 OFF。

3、导入后关闭IDENTITY_INSERT为OFF。

Ⅷ 在sqlserver数据库中怎么复制相同的表结构的方法

把a的表结构复制到a1表,1=2不复制数据,如果要复制数据,就不要where
select
*
into
a1
from
a
where
1=2
注意:这种方式不能复制
主键
、索引等信息
如果要全部复制,只能是在a表上按右键,选择“编写表脚本为”=》Create
然后在这个结构基础上把a改成a1(注:要在设置里选择编写索引脚本)

Ⅸ SQL server 数据库 如何把一张表复制到另一个数据库表中

SQLserver数据库如何把一张表复制到另一个数据库表中的方法。

如下参考:

1.首先,在桌面上单击“ManagementStudio”图标。