写出SQLServer导出表到EXCEL文件的存储的过程?
*--数据导出EXCEL 导出表中的数据到Excel,包含字段名,文件为真正的Excel文件 ,如果文件不存在,将自动创建文件 ,如果表不存在,将自动创建表 基于通用性考虑,仅支持导出标准数据类型 ---*/ /**//*--调用示例 p_exporttb @tbname='地区资料',@path='c:',@fname='aa.xls' --*/ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[p_exporttb] GO create proc p_exporttb @tbname sysname, --要导出的表名,注意只能是表名/视图名 @path nvarchar(1000), --文件存放目录 @fname nvarchar(250)='' --文件名,默认为表名 as declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000) --参数检测 if isnull(@fname,'')='' set @fname=@tbname+'.xls' --检查文件是否已经存在 if right(@path,1)'' set @path=@path+'' create table #tb(a bit,b bit,c bit) set @sql=@path+@fname insert into #tb exec master..xp_fileexist @sql --数据库创建语句 set @sql=@path+@fname if exists(select 1 from #tb where a=1) set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE' +';CREATE_DB="'+@sql+'";DBQ='+@sql else set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 5.0;HDR=YES' +';DATABASE='+@sql+'"'。
SQL Server表中的数据,如何用软件导出,数据库连接信息要保密,...
导出导入SQL Server里某个数据库 1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库。
2.备份 选数据库-完全,目的 备份到 按添加按钮 文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak) 重写 选重写现有媒体 最后按确定按钮。
如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输。
3.通过FTP或者remote desktop或者pcanywhere等方法 把第二步生成的备份数据库文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。
4.目的SQL Server数据库如果还没有此数据库,先创建一个新的数据库; 然后选中这个新创建的数据库,按鼠标右键,选所有任务->还原数据库 还原->从设备->选择设备->磁盘->添加(找到要导入的备份数据库文件名)->确定 还原备份集->数据库-完全 最后按确定按钮。
完全的数据库导入成功了。
(如果在已经存在的SQL Server数据库上还原数据库可能遇到有还有其它人正在使用它而恢复****做失败, 可以去看 ->管理->当前活动->锁/对象->找到数据库下锁的进程号->到查询分析器里用kill 进程号杀掉这些锁,然后再做还原) 注意:如果在原有的目的SQL Server数据库上从备份文件(*.bak)还原数据库会把已经存在的表、存储过程等数据库对象全部替换成最近这次导入的备份数据库里的内容。
如果一定要还原备份文件(*.bak)里部分数据,需要另外建一个新数据库,其逻辑名称和数量同备份文件(*.bak)里数据库的逻辑名称和数量一致; 新数据库的物理文件名称取得一定要和备份文件(*.bak)里数据库的物理文件不一样才行。
怎么导出sql server脚本
怎么导出sql server脚本1.使用SQL Server Management Studio 2008 连接数据库。
2.选中要导出数据的数据库节点,点鼠标右键,在菜单中选择“任务”->;“生成脚本3.在弹出的欢迎界面中,点“下一步”4.在选择数据库界面,选择对应的数据库,单击“下一步”
如何在SQLServer中谨慎导入导出大容量数据
在数据库初始化过程中,管理员需要面对的一个现实问题就是如何把大容量的数据导入到数据库系统中。
在SQLSeve数据库中提供了一些大容量数据导入导出的工具供数据库管理员实用。
如管理员可以通过cp实用工具,实现大容量导出数据和大容量导入数据并生成格式化文件。
如可以利用ulkinset语句将大容量数据直接从数据文件导入数据库表或者未分区的视图中去等等。
虽然在SQLSeve数据库中提供了这些实用工具。
不过管理员在实际工作中,仍然需要谨慎对待这项工作。
具体的来说,在大容量数据导入导出的过程中,需要注意如下几方面的内容。
一、尽量采用系统提供的工具来倒入导出大容量的数据 以上笔者提到的几款实用工具,他们有一个共同的特点,即在导入的过程中会对大容量的数据进行一定的优化。
如会规范一些数据的格式、节省导入导出的时间等等。
但是利用这些工具的话,跟其他普通的数据导入导出工具有一个差异,就是大容量导入操作不支持逗号分隔符文件中导入数据,也就是常说的文本文件。
虽然此时管理员也可以通过其他的工具来导入文件文件格式的大容量数据,但是通常情况下笔者不建议这么做。
因为其他的工具不支持导入过程中的优化功能。
为此笔者建议先用其他工具,如ACCESS等中间工具先把文本文件中的数据转化为普通的表格形式,然后再利用上面这些工具导入到系统中。
这虽然会增加一定的工作量,但是却可以保证大容量数据的质量。
为此,笔者在实际工作中,如果用户遇到这种问题笔者是强烈建议他们要采用系统提供的工具来导入导出大容量数据。
另外,利用格式化文件来提高大容量数据的规范化,也是一个不错的选择。
上面提到的几款大容量导入导出工具都支持使用专门的格式化文件来存储原始数据文件中每个字段的格式信息。
格式化文件还可以包含相应的数据库表的有关信息。
格式化文件可以用于提供从数据库实例大容量导出数据和向其中大容量导入数据时所需的所有格式信息。
通俗的讲,格式化文件提供了一种解释导入期间数据文件中数据的格式以及设置导出期间数据文件中数据格式的灵活方式。
这种灵活性使得解释数据时无需编写专用代码,也无需为满足数据库或外部应用程序的特殊需要而重新设置数据的格式。
如果灵活利用格式化文件,那么用户可以直接按需要的格式导出或者导入大容量数据,而不用事后再进行额外的格式调整。
二、选择合适的数据库日志操作模式 正如大家所知道的,用户在数据库中做的任何变化,都会记录在相关的日志中。
导入导出大容量数据也不例外。
可是由于大容量数据比较大,会占用比较大的事务日志功能。
为此笔者建议,在用户导入大容量数据之前,最好选择合适的数据库日志操作模式。
笔者的做法是,如果用户需要导入大容量数据,那么最好选择大容量日志恢复模式。
等到导入工作完成之后,再恢复到原先的模式。
这主要是因为在大容量日志模式下,对于大容量数据导入工作中说,支持力度相对来说比较好。
与其他日志恢复模式相比(如完全恢复模式),大容量日志恢复模式只对大容量操作进行最小记录。
为此大容量日志操作恢复模式保护大容量操作不受硬件故障的危害,提供比较好的性能并且占用日志的空间也是最小的。
所以,使用大容量日志恢复有助于防止事务日志出现空间不足的情况,因为大容量日志恢复不会插入日志行。
这个大容量日志操作模式,非常适用于使用完整恢复模式的数据库。
对无索引表执行大容量操作时,大容量日志恢复模式非常有用。
不过大容量日志操作模式也具有一定的风险。
如大容量日志恢复模式会增加这些大容量复制操作丢失数据的风险。
因为大容量日志操作模式将会阻止数据库系统捕获对每个事务逐一所做的更改。
如果日志备份包含大容量日志操作,则无法还原到该日志备份中的时点,而只能还原整个日志备份。
另外在大容量日志恢复模式下,如果日志备份覆盖了任何大容量操作,则日志备份将包含由大容量操作所更改的日志记录和数据页。
这对于捕获大容量日志操作的结果至关重要。
合并的数据区可使日志备份变得非常庞大。
再者,备份日志需要访问包含大容量日志事务的数据文件。
如果无法访问任何受影响的数据库文件,则事务日志将无法备份,并且在此日志中提交的所有操作都会丢失。
所以大容量日志备份模式并不是安全的日志模式。
三、考虑是否需要先暂时删除表的索引 引是一种特殊的文件,在数据库中它的作用是举足轻重的。
简单的来说,如果把数据库比喻成一本书的话,那么索引就好像是书的目录。
索引包含着对数据表里所有记录的引用指针。
索引可以提高数据库的性能,这是毋庸置疑的。
但是不是在任何场合索引都可以起到正面的效果。
在某些特殊情况下,其反而会降低一些操作的性能,如大容量数据的导入。
索引可以加快数据检索操作,但它会使数据修改操作变慢。
因为每次修改或者插入数据记录,索引就必须刷新一次。
也就是说,插入一百万条记录,则索引就必须重新所新一百万次。
可见,当大容量数据导入的时候,索引将耗费数据库大量的资源,从而降低数据库的性能。
如果目的表中有索引,那么不仅会...
如何将sql server数据库的数据批量导出
方法/步骤1. 打开数据库SQL server ,右击数据库选择“任务” “生成脚本”2. 选择将要导出的数据库3. “将编写数据脚本”改为TRUE4. 选择表5. 选择下图中表里面要导出表的数据6. 在这一步要选择将脚本保存到“新建查询”窗口7. 点击完成,直到生成脚本成功后,点击关闭按钮即可。
sql server 2008怎样导出脚本
一、导出导入SQL Server里某个数据库 1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库。
2.备份 选数据库-完全, 目的 备份到 按添加按钮 文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak) 重写 选重写现有媒体 最后按确定按钮。
如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输。
3.通过FTP或者remote desktop或者pcanywhere等方法 把第二步生成的备份数据库文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。
4.目的SQL Server数据库如果还没有此数据库,先创建一个新的数据库; 然后选中这个新创建的数据库,按鼠标右键,选所有任务->还原数据库 还原->从设备->选择设备->磁盘->添加(找到要导入的备份数据库文件名)->确定 还原备份集->数据库-完全 最后按确定按钮。
完全的数据库导入成功了。
(如果在已经存在的SQL Server数据库上还原数据库可能遇到有还有其它人正在使用它而恢复操做失败, 可以去看 ->管理->当前活动->锁/对象->找到数据库下锁的进程号->到查询分析器里用kill 进程号杀掉这些锁,然后再做还原) 注意:如果在原有的目的SQL Server数据库上从备份文件(*.bak)还原数据库会把已经存在的表、存储过程等数据库对象全部替换成最近这次导入的备份数据库里的内容。
如果一定要还原备份文件(*.bak)里部分数据,需要另外建一个新数据库,其逻辑名称和数量同备份文件(*.bak)里数据库的逻辑名称和数量一致; 新数据库的物理文件名称取得一定要和备份文件(*.bak)里数据库的物理文件不一样才行。
二、导出导入SQL Server里某个表 1.没有防火墙,同一个局域网里或不在同一个局域网里,但通过Internet可以互相访问在SQL Server企业管理器里选中目的数据库 ,按鼠标右键,选所有任务->导入数据-> 弹出数据转换服务导入/导出向导窗口->下一步->选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)->服务器(可选择局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)->选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)->服务器(默认为上一步里选中的导出服务器,也可以选其它局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)->目的数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步->选择源表和视图->在要导入的表和视图前面选中源->目的出现同样的表名(可以手工修改成别的表名)->转换->列映射和转换里面可以修改源表和目的表之间字段的对应关系,修改目的表字段的类型和长度等,并可以选择创建目的表,在目的表中增加行,除去并重新创建目的表,启用标志插入等选项->确定->下一步->保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出导入数据,选调度DTS包以便以后执行)->保存(可以不选)->[ 保存DTS包(如果以后还要转移这批相同的数据,可以把本次导出导入的内容和步骤保存起来,存到SQL Server即可,保存的时候要输入DTS的包名及详细描述)->下一步-> ]->完成 正在执行包->图形界面显示创建表及插入记录的步骤和状态->完成 2.经过防火墙,不在同一个局域网里 ①、导出表里的数据到文本文件: 在SQL Server企业管理器里选中目的数据库,按鼠标右键,选所有任务-> 导入数据->弹出数据转换服务导入/导出向导窗口->下一步->选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)->服务器(可选择局域网内能访问到的所有SQL Server服务器)->选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->选择目的->目的(文本文件)-> 文件名(在自己的电脑硬盘中生成一个自定义的文本文件) ->下一步->制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步->选择目的文件格式->源(选择要导出的表)->用默认的带分隔符->选第一行包含有列名称选项->下一步->保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出到文本文件,选调度DTS包以便以后执行)->保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成 正在执行包->图形界面显示表到文本文件的步骤和状态->完成 如果生成的文本文件大于1M,要用压缩工具压缩后再到Internet上传输。
②、通过FTP或者remote desktop或者pcanywhere等方法把 第①步生成的文本文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。
③、把文本文件导入目的SQL Server数据库...
【怎么导出数据库的数据】怎么把SQL里的数据导出SQL数据导入,...
你是要把一个机器上的数据库拿到其他机器上使用? 打开企业管理器在左边的树窗口中右击你要转移的数据库,所有任务——分离数据库(有有连接点清除)这样就可以了。
到你保存数据库文件的路径下就可以复制*.MDF和*.LDF文件了 然后在其他机器上一同样的方式左边的树窗口中右击名为‘数据库’的文件夹,附加数据库就可以了。
转载请注明出处51数据库 » sqlserver 导出软件
广德县邱村镇东方静静