如何使用Microsoft SQL Server Management Studio 17将MS SQL Server数据库导出到SQL脚本(数据库到sql文件)

【如何使用Microsoft SQL Server Management Studio 17将MS SQL Server数据库导出到SQL脚本(数据库到sql文件)】大多数开发人员对SQL Server的导出备份选项生成的.bak文件感到不太满意, 至少对于不是那么大的数据库而言。因此, 有时可能需要以脚本格式(.sql)导出数据库。但是, 对于不熟悉SQL Server Managemente Studio的某些人, 尝试以这种格式导出它可能会让人头疼。
在本文中, 我们将简要说明如何轻松地将SQL Server中存储的数据库的结构和数据导出到.sql文件中。
使用数据生成数据库的.sql文件 SQL Server Management Studio提供了生成脚本的功能, 这些脚本用于创建数据库, 表, 存储过程, 函数, 视图和插入数据。对于少量数据, 可以使用此方法将表结构和/或数据发送到Scribe支持以进行测试。
要继续, 请打开SSMS并使用默认的Windows身份验证(或从你要访问的连接中)访问数据库引擎:

如何使用Microsoft SQL Server Management Studio 17将MS SQL Server数据库导出到SQL脚本(数据库到sql文件)

文章图片
连接到服务器并在对象资源管理器中浏览数据库。在本例中, 我们要导出my_database数据库, 如你所见, 该数据库在Databases目录中可用:
如何使用Microsoft SQL Server Management Studio 17将MS SQL Server数据库导出到SQL脚本(数据库到sql文件)

文章图片
右键单击数据库, 选择” 任务” , 然后选择” 生成脚本” :
如何使用Microsoft SQL Server Management Studio 17将MS SQL Server数据库导出到SQL脚本(数据库到sql文件)

文章图片
这将打开” 生成和发布脚本” 对话框。第一步, 定义要导出的数据库表, 可以选择编写整个数据库和对象的脚本:
如何使用Microsoft SQL Server Management Studio 17将MS SQL Server数据库导出到SQL脚本(数据库到sql文件)

文章图片
确认要导出哪些表后, 继续定义是要每个表使用单个文件还是只需要单个文件中的所有文件。如果转到高级脚本选项, 则可以定义要编写脚本的数据类型, 这意味着要直接在文件中还是仅在数据库结构中包括数据:
如何使用Microsoft SQL Server Management Studio 17将MS SQL Server数据库导出到SQL脚本(数据库到sql文件)

文章图片
最后, 导出将开始, 你将在最后看到成功消息:
如何使用Microsoft SQL Server Management Studio 17将MS SQL Server数据库导出到SQL脚本(数据库到sql文件)

文章图片
并且如果你编辑generate script.sql, 你将看到纯SQL文本:
USE [master]GO/****** Object:Database [my_database]Script Date: 12-Mar-19 7:07:12 PM ******/CREATE DATABASE [my_database] CONTAINMENT = NONE ONPRIMARY ( NAME = N'SICitas', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\my_database.mdf' , SIZE = 24512KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%) LOG ON ( NAME = N'SICitas_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\my_database_1.LDF' , SIZE = 32448KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)GOALTER DATABASE [my_database] SET COMPATIBILITY_LEVEL = 100GOIF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))beginEXEC [my_database].[dbo].[sp_fulltext_database] @action = 'disable'endGOALTER DATABASE [my_database] SET ANSI_NULL_DEFAULT OFF GOALTER DATABASE [my_database] SET ANSI_NULLS OFF GOALTER DATABASE [my_database] SET ANSI_PADDING OFF GOALTER DATABASE [my_database] SET ANSI_WARNINGS OFF GOALTER DATABASE [my_database] SET ARITHABORT OFF GOALTER DATABASE [my_database] SET AUTO_CLOSE ON GO......

编码愉快!

    推荐阅读