sqlserver2014数据库导出与导入

写在前面
  sqlserver数据库为数据的导入导出提供了很多途径,一般地我们在已经有数据源的情况下(即服务器已经安装了sqlserver),这时使用一个全新的数据库,需要创建数据库使用。在实际项目中,我们往往已经有数据库的初始化版本,这时候就需要将初始化的数据库文件导入新的数据源。这时候我们最常用的就是使用数据库的备份文件,在新的数据源文件中还原数据库。但是一般地生产环境不允许这样的方式恢复数据库,只能通过sql脚本方式来恢复。那么下面我将总结下使用备份文件还原数据库和sql文件恢复数据库的具体办法。
1.使用的备份文件

  • 首先我们应备份数据库,选择要备份数据库,右键 任务 ->备份 如下图

  • 选择数据库备份类型为完整,点击添加选择备份文件的存放路径,点击确定生成备份文件(以.bak结尾) 如下图

  • 当我们在另一个数据源需要恢复数据库时,选择数据库,右键 选择还原数据库 如下图

  • 将备份文件.bak放在本地某路径,点击 选择 设备->添加 ,选择对应的路径下的.bak文件进行还原 如下图
    2.使用SQL文件

  • 首先我们选择要导出的数据库,右键选择 任务->生成脚本,然后点击下一步。如下图

    • 选择特定的数据库对象,勾选所有选项(是要导出当前数据库的所有表、存储过程、函数等),点击下一步。如下图

  • 在文件名中选择导出SQL文件的存放地址,点击 高级 ,在弹出框中找到 要编写脚本的数据类型 一项,选择架构和数据,即可导出结构和数据。如下图

  至此已经完成了把数据库导出为SQL脚本的操作,接下来就是如何在另一个数据源下恢复这个数据库。因为我们导出数据库如有存量数据的情况下,SQL文件一般较大,直接执行会很就慢甚至造成数据库卡顿。如果我们恢复较大的sql文件,可以使用windows自带的sqlcmd,使用命令导入。具体步骤如下:

  先新建一个数据库,用于存放这个sql文件的数据和结构,如在生产中,为了使用方便,要建立和测试环境相同账户名称数据库。建立数据库可以使用客户端直接创建,具体做法是选择数据库 ,右键 ,选择新建数据库即可创建,使用sql创建,语句如下:

IF EXISTS(SELECT * FROM sysdatabases WHERE name='student')
DROP DATABASE student
GO
CREATE DATABASE student --创建数据库
ON PRIMARY  --定义在主文件组上的文件
(NAME=stu_date,    --逻辑名称
FILENAME='E:\TEST\student.mdf',  --物理名称
SIZE=10,   --初始大小为10mb
MAXSIZE=unlimited, --最大限制为无限大
FILEGROWTH=10%)    --主数据文件增长幅度为10%
LOG ON  --定义事务日志文件
(NAME=stu_log, --逻辑名称
FILENAME='E:\TEST\student.ldf',  --物理名称
SIZE=1,    --初始大小为1mb
MAXSIZE=5, --最大限制为5mb
FILEGROWTH=1)  --事务日志增长幅度为1mb`

有了数据库后,我们使用cmd命令行,键入如下命令

sqlcmd -S localhost -U sa -P 123456 -d les_traacc -i E:\test.sql

参数说明:
-S 后面 localhost指导入本地数据库,要导入服务器,应更换为服务器ip

-U 后面为数据源 账户名

-P后面为数据源 密码

-d 后面为需要导入的sql文件绝对路径

  以下是实际使用后补充的注意事项:
  1.在实际项目中,因为项目文件较大,导出的sql文件也较大,那么用命令行执行就会很慢,建议按照表、自定义函数、存储过程分别导出为单独的sql文件,这样导入时时间短,需要查看sql文件也不会因为很大而打开过慢。
  2.如果导出的sql文件中,导出了创建数据库的用户信息,即sql开头有create database 的操作,此时如果数据库中已经有同名数据库的情况下,需要更改mdf、ldf的文件路径。如需手动创建用户,可以删除create database 这一段sql,即可导入成功。
  3.导入数据库文件时发现了表中的数据中文乱码,发现导出的脚本默认格式为UTF-16,尝试更换为UTF-8后仍然乱码。因此判定导致乱码的原因应该和数据库创建有关系。最终解决方案如下:创建空数据库时,选项- 排序规则- Chineses_PRC_CI_AS .。这里需要注意的是我们建的新库要和导出这个sql文件的源数据库排序规则保持一致。

  4.由于命令行导入大文件时,无法查看日志,需要添加 -o E:/text.txt 把命令行日志输出到文件中方便我们查看。完整命令如下:

sqlcmd -S localhost -U sa -P 112233 -d les_traacc -i E:\test.sql  -o E:/text.txt

sqlserver2014数据导出与导入相关推荐

  1. memcached命令行、Memcached数据导出和导入、php连接memcache、php的session存储到memcached...

    1.memcached命令行 telnet 127.0.0.1 11211 set key2 0 30 2 ab STORED get key2 VALUE key2 0 2 ab END  如: s ...

  2. mysql导出权限授权_本文实例讲述了mysql数据库创建账号、授权、数据导出、导入操作。分享给大家供大家参考,具体如下:1、账号创建及授权grant all privileg...

    本文实例讲述了mysql数据库创建账号.授权.数据导出.导入操作.分享给大家供大家参考,具体如下: 1.账号创建及授权 grant all privileges on *.* to 'yangxin' ...

  3. mysql 导出中间 数据_MYSQL数据库之间的数据导出与导入

    源数据库地址: 172.16.1.7 目标数据库地址: 172.16.1.51 步骤: (1) 进入172.16.1.7服务器,登录mysql数据库 mysqldump -uusername -ppa ...

  4. mysql授权其他用户导出数据_mysql创建账号、授权、数据导出、导入

    1.账号创建及授权 grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant opti ...

  5. ID3DXMesh的数据导出和导入

    将由D3DXCREATE* 函数创建的模型数据导出到文件后, 再导入文件的数据重构模型. 以下分别是程序截图和代码片断: 最后附上可执行程序和CMeshIO的实现代码: /Files/vibilin/ ...

  6. Exchange2010 SP1及以上邮箱的数据导出与导入

    在日常工作中,有时会收到领导的一些特殊要求,要求备份某个用户的所有邮件(邮箱服务器未做邮件备份),这时需要从用户本地备份PST文件,除此之外还需要备份服务器上用户的邮件(本地OST文件).在未知用户密 ...

  7. MySQL数据导出与导入

    发一篇基础的,关于MySQL数据导出导入的文章,目的有二: 1.备忘 2.供开发人员测试 工具 mysql mysqldump 应用举例 导出 导出全库备份到本地的目录 mysqldump -u$US ...

  8. mysql 导入bak_MySQL——数据导出与导入(备份与还原)

    MySQL命令行导出数据库和数据 mysqldump -u 用户名 -p 数据库名 > 导出的文件名(c:\db.sql) 然后就会在c盘下面产生db.sql文件. 输入后会提示输入进入MySQ ...

  9. Oracle 11g_数据导出与导入(14)

    1. EXPDP和IMPDP概述 数据泵导出使用工具EXPDP将数据库对象的元数据(对象结构)或数据导出到转储文件中.而数据泵导入则是使用工具IMPDP将转储元件中的元数据及其数据导入Oracle数据 ...

最新文章

  1. 论文图片误用?AI:这条路已被我堵死了
  2. 【11分钟训练完ImageNet】DNN训练再破纪录,1024 CPU Caffe开源
  3. struts文件上传
  4. 相机视场角和焦距_按照工业镜头的视场的分类
  5. 如何在ui5 xml view中使用嵌入的自定义css style
  6. java nio的演进_Java接口的防御性API演进
  7. mysql中if在oracle怎么用_mysql和oracle的mybatis操作
  8. mysql %3e -u -r_mysql基础
  9. 《深入理解分布式事务》第三章 Spring 事务的实现原理
  10. C4D优质电商背景素材|分分钟搞定设计稿
  11. [Ubuntu Error]鼠标指针闪烁的解决方法
  12. 前端进阶篇——02、CSS和JS
  13. extern关键字的作用
  14. 新浪云mysql_php连接mysql数据库(新浪云SAE)
  15. Agile Scrum WaterFall通俗易懂的全过程整理
  16. java的paypal支付demo_paypal支付demo
  17. oracle12c ora 12560,oracle11g报ora-12560:tns连接异常的解决方法
  18. linux oracle访问mysql_linux oracle 查询所有数据库
  19. XML入门教程(3)
  20. css浅紫色,一款淡紫色纯CSS实现的开关/单选和复选组件

热门文章

  1. tf.name_scope与tf.variable_scope用法区别
  2. Codeforces 1324D Pair of Topics
  3. 非易失内存技术NVDIMM
  4. Js控制页面刷新(局部刷新全页面刷新)
  5. BZOJ1023 [SHOI2008]仙人掌图
  6. 第十三届蓝桥杯模拟赛(第三期)试题与题解 C++
  7. 拼多多API根据ID获取商品详情
  8. 多旋翼飞行器设计与控制·绪论(笔记001)
  9. 采集豆瓣“我看过的电影” 整合到wordpress_wordpress豆瓣插件
  10. c语言幻数游戏,C中的幻数