(高分求教!)SQL Server是否可以把一个表的结构和数据一起dump出来?急!

sjmblue 2004-06-22 03:32:04
最好能如同mysqldump的功能那样,可以把库表的结构和数据一起dump出来,以sql语句存储,便于数据的移植!

我的目的就是想把一个表的结构和数据一起dump出来,然后移到另一个机器的库中,哪位大侠有好办法!多谢多谢!
...全文
68 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2004-06-22
  • 打赏
  • 举报
回复
--生成数据脚本也可以自己写存储过程:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_sql]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_sql]
GO

/*--生成表数据脚本的通用存储过程,

功能:将指定表的数据内容生成脚本结果集
解决了字段多时,用单个变量生成的字符串超长的问题
注意,生成的是一个表结果集
--邹建 2004.5--*/

/*--调用示例

exec p_sql 'sysobjects'
--*/
create proc p_sql
@tbname sysname --要处理的表名
as
declare @sqlhead nvarchar(4000),@sqlend nvarchar(4000)
,@sql1 nvarchar(4000),@sql2 nvarchar(4000),@sql3 nvarchar(4000)
,@sql41 nvarchar(4000),@sql42 nvarchar(4000)
,@i int,@ic varchar(20)

set nocount on

--生成处理临时表
select id=identity(int,1,1),gid=0
,fdname,sv=case
when type like '%int' or type like '%money'
or type in('float','real','decimal','numeric')
then 'case when '+fdname+' is null then ''NULL'' else convert(varchar,'+fdname+') end'
when type like '%datetime' or type like '%binary'
or type in('timestamp','uniqueidentifier')
then 'case when '+fdname+' is null then ''NULL'' else ''''''''+replace(convert(varchar,'+fdname+'),'''''''','''''''''''')+'''''''' end'
else 'case when '+fdname+' is null then ''NULL'' else ''''''''+replace('+fdname+','''''''','''''''''''')+'''''''' end'
end
into # from(
select fdname='['+replace(a.name,']',']]')+']'
,type=b.name,a.colid
from syscolumns a
join systypes b on a.xtype=b.xtype
where b.name not in('image','ntext','text','sql_variant') --不能处理的类型
and id=object_id(@tbname)
)a order by colid

if @@rowcount=0 return --如果没有满足条件的数据,退出

--判断需要多少个变量来处理
select @i=max(len(sv)) from #
set @i=3800/@i

--分组临时表
update # set gid=id/@i
select @i=max(gid) from #

--生成数据处理语句
select @sql1='',@sql2='',@sql3='',@sql41='',@sql42=''

while @i>=0
select @ic=cast(@i as varchar),@i=@i-1
,@sql1='@a'+@ic+' nvarchar(4000),@b'+@ic+' nvarchar(4000),'+@sql1
,@sql2='@a'+@ic+'='''',@b'+@ic+'='''','+@sql2
,@sql3='select @a'+@ic+'=@a'+@ic+'+'',''+fdname,@b'
+@ic+'=@b'+@ic+'+''+'''',''''+''+sv from # where gid='+@ic+char(13)+@sql3
,@sql41='+@a'+@ic+@sql41
,@sql42='+@b'+@ic+@sql42

select @sql1=left(@sql1,len(@sql1)-1)
,@sql2=left(@sql2,len(@sql2)-1)
,@sql3=left(@sql3,len(@sql3)-1)
,@sql41=substring(@sql41,2,4000)
,@sql42=substring(@sql42,2,4000)
,@tbname='['+replace(@tbname,']',']]')+']'

exec('
declare '+@sql1+'
select '+@sql2+'
'+@sql3+'
select @a0=stuff(@a0,1,1,''''),@b0=stuff(@b0,1,5,'''')
exec(''select ''''insert '+@tbname+'(''+'+@sql41+'+'')
values(''''+''+'+@sql42+'+''+'''')''''
from '+@tbname+''')
')
go

zjcxc 元老 2004-06-22
  • 打赏
  • 举报
回复

生成数据库脚本:
sql200企业管理器
--右键要导出的数据库
--所有任务
--生成SQL脚本
--<常规>里选择"生成全部对象脚本"","在脚本文件中包含说明性标题"选上
--<设置格式>里,将"包含扩展属性",选上
--<选项>中,将"表脚本选项"中的内容全部选择上
--<选项>中,"安全性选项"是决定是否要包含创建数据库及用户权限等的设置,根据你的需要选择
--其他所有的选项保持默认值
--然后确定,将其保存成一个.sql文件

生成数据脚本(借用第三方工具):
SQL Server 数据库SQL脚本导出器1.0
(下载地址:http://www.csdn.net/cnshare/soft/19/19892.shtm)
(1) 支持所有数据类型(如binary,text,image)
(2) 支持表结构、索引、所有记录到SQL脚本
(3) 支持数据库、表的浏览
(4) SQL语句的编辑、执行
(5) 可备份数据库、表结构、记录
sjmblue 2004-06-22
  • 打赏
  • 举报
回复
能否详细说说
yesyesyes 2004-06-22
  • 打赏
  • 举报
回复
好象log explorer行
内容概要:本文详细介绍了一个基于C++语言开发的疫苗接种和儿童体检系统的设计与实现全过程,涵盖项目背景、目标意义、架构设计、核心功能模块、数据库实现、API接口规范、前后端代码实现及部署应用等多个方面。系统采用分层架构与模块化设计,实现了儿童信息管理、疫苗接种记录、体检数据录入、多用户权限控制、数据统计分析、异常预警、安全加密与日志审计等核心功能,并通过MySQL数据库进行数据持久化,结合Qt实现图形化界面,支持高并发、数据脱敏、多平台对接与自动化部署。项目强调数据安全、隐私保护与系统可扩展性,适用于社区医疗、疾控中心、学校及医院等场景。; 适合人群:具备C++编程基础,熟悉数据库操作和基本软件工程流程的开发人员、计算机及相关专业学生、医疗信息化项目开发者,以及希望了解完整医疗管理系统开发流程的技术人员。; 使用场景及目标:①学习如何使用C++构建完整的医疗信息管理系统;②掌握数据库设计、前后端交互、权限控制、多线程处理和GUI开发等关键技术;③应用于社区卫生服务、学校健康管理、疾控数据统计等实际业务场景,提升儿童健康管理水平;④作为课程设计、毕业设计或实际项目的参考模板。; 阅读建议:建议读者结合文档中的代码示例与数据库脚本,搭建本地开发环境进行实践操作,重点关注系统架构设计、模块解耦、安全机制与前后端交互逻辑,深入理解各功能模块的实现原理,并尝试在此基础上进行功能扩展,如接入移动端或增加AI分析模块。

34,871

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧