Export database ra dạng file script .sql
Hầu hết các nhà phát triển cảm thấy không thoải mái với các tệp .bak được tạo bởi chức năng Backup của SQL Server, nhất là với các cơ sở dữ liệu không quá lớn.
Với tập tin .bak còn gặp vấn đề không tương thích giữa các phiên bản SQL Server khác nhau khi chúng ta muốn khôi phục. Vì lý do này, đôi khi bạn có thể cần xuất cơ sở dữ liệu ở định dạng tập lệnh (.sql). Tuy nhiên, Không phải ai cũng biết cách xuất ra file sql với SQL Server Management Studio.
Trong bài này, chúng tôi sẽ hướng dẫn cách Export cấu trúc và dữ liệu được lưu trữ trong Database của SQL Server thành file .sql một cách đơn giản nhất.
Tạo tệp .sql từ cơ sở dữ liệu
SQL Server Management Studio cung cấp chức năng sinh ra các script sql từ cơ sở dữ liệu để tạo databse, các bảng, các stored procedure, các function, các view và các câu lệnh chèn (insert) dữ liệu. Đối với lượng dữ liệu nhỏ hơn, phương pháp này khá hiệu quả để xuất ra cấu trúc bảng và/hoặc dữ liệu để cung cấp cho việc khôi phục Database.
Bước 1
Mở SSMS và truy cập công cụ cơ sở dữ liệu với chế độ xác thực Windows mặc định (hoặc với tài khoản kết nối mà bạn muốn truy cập):
Bước 2
Kết nối tới server thành công và chọn Database trong cửa sổ Object Explorer, trong ví dụ này là cơ sở dữ liệu my_database:
Bước 3
Kích chuột phải vào database này và chọn Tasks và rồi chọn Generate Scripts:
Bước 4
Hộp thoại Generate and Publish Scripts hiển thị ra, hãy xác định các bảng cơ sở dữ liệu mà bạn muốn Export, mặc định bạn có thể phát sinh script cho toàn bộ database và các object:
Bước 5
Sau khi xác nhận các bảng mà bạn muốn Export, hãy tiến hành xác định xem bạn muốn một tệp cho mỗi bảng hay tất cả trong một tệp duy nhất. Bạn có thể kích vào nút Advanced để lựa chọn các tùy chọn nâng cao như xác định các kiểu dữ liệu cho script, tức là bạn muốn bao gồm cả dữ liệu hay chỉ cấu trúc của cơ sở dữ liệu:
Bước 6
Cuối cùng, Export sẽ bắt đầu và bạn sẽ nhìn thấy thông báo thành công khi hoàn thành xong:
Và sau khi hoàn thành, bạn có thể mở file script.sql
, bạn sẽ nhìn thấy các câu lệnh SQL dạng như sau:
USE [master]
GO
/****** Object: Database [my_database] Script Date: 12-Mar-19 7:07:12 PM ******/
CREATE DATABASE [my_database]
CONTAINMENT = NONE
ON PRIMARY
( 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%)
GO
ALTER DATABASE [my_database] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin EXEC [my_database].[dbo].[sp_fulltext_database] @action = 'disable'
end
GO
ALTER DATABASE [my_database] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [my_database] SET ANSI_NULLS OFF
GO
ALTER DATABASE [my_database] SET ANSI_PADDING OFF
GO
ALTER DATABASE [my_database] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [my_database] SET ARITHABORT OFF
GO ALTER DATABASE [my_database] SET AUTO_CLOSE ON
GO
...
...