Tải bản đầy đủ (.docx) (46 trang)

Chuyên đề 2 Tìm hiểu về MSSQL Sever 2017 Tin học kinh tế K59

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.23 MB, 46 trang )

TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT
KHOA CÔNG NGHỆ THÔNG TIN
-----***-----

CHUYÊN ĐỀ THỰC HÀNH 2
GIỚI THIỆU VỀ MICROSOFT SQL SEVER 2017

Giảng viên hướng dẫn

TS Lê Thanh Huệ

Sinh viên thực hiện

Lớp Tin Kinh Tế A K59

Nhóm 06

Nguyễn Thị Hương – 1421050092
Phạm Thị Thu Hường – 1421050447
Dương Thị Lan – 1421050470
Lê Thị Lệ - 1421050104

Hà Nội - 2018


MỞ ĐẦU
Nếu coi cơ sở dữ liệu là 1 cuốn sách thì hệ quản trị cơ sở dữ liệu chính là
một thư viện.
Hãy thử tưởng tượng, bạn phải đến thư viện để tìm đọc một cuốn sách A.
Làm cách nào để bạn tìm ra được cuốn sách đó một cách chính xác và
nhanh nhất?


Ôi, chắc bạn sẽ cười Tôi vì câu hỏi đơn giản quá!
Trước tiên là phải xác định được vị trí của cuốn sách bằng cách:
Hỏi người phụ trách thư viện.
Tra cứu trên máy tra tài liệu của thư viện (theo loại sách, tên sách, tác giả,
…)
Sau đó thì chỉ việc đến vị trí đã xác định và lấy về đọc thôi phải không nào.
Nếu thư viện không có máy tra tài liệu hay người phụ trách không nhớ ra
nơi đặt cuốn sách này. Lúc này, bạn phải tự mò tìm cuốn sách trong hàng
nghìn cuốn sách ở thư viện. Chỉ nghĩ thôi mà đã muốn bỏ về mất rồi.
Vậy đó, nếu chúng ta không có kênh thích hợp thì sẽ không biết cách để lấy
cuốn sách đó một cách nhanh và chính xác.
Tương tự như vậy, một hệ quản trị cơ sở dữ liệu (DBMS) là một ứng dụng
phần mềm máy tính để tạo và quản lý dữ liệu trong cơ sở dữ liệu. Chúng
cung cấp cho người dùng và những người lập trình một cách thích hợp để
truy xuất, quản lý, cập nhật và tạo dữ liệu.
Các hệ quản trị cơ sở dữ liệu giúp bảo vệ dữ liệu an toàn, giảm sự thừa dữ
liệu và duy trì hiệu quả của dữ liệu.


Microsoft SQL Sever là phần mềm quản trị cơ sở dữ liệu phổ biến, được
Microsoft phát triển dựa trên RDBMS (Relational Database Management
System). Phần mềm sử dụng cả giao diện dòng lệnh và giao diện GUI
Thêm vào đó, khi sử dụng phần mềm bạn sẽ luôn luôn nhận được sự hỗ trợ
thân thiện từ cộng đồng người dùng trực tuyến. Bạn cũng có thể bắt đầu sử
dụng chương trình với những bài học đã được biên soạn cẩn thận.
Vì do đây là một phần mềm được phát triển bởi Microsoft nên dễ cài đặt
trên nền tảng window
Chúng ta sẽ cùng tìm hiểu về Microsoft SQL Sever để hiểu rõ hơn.

BẢNG PHÂN CÔNG CÔNG VIỆC

Họ và tên
Nguyễn Thị Hương
Phạm Thị Thu Hường
Dương Thị Lan
Lê Thị Lệ

Công việc đã hoàn thành
Chương I,III
Mở đầu + Kết thúc + Làm Word + Làm Slide +
Thuyết trình + Tìm tài liệu + Chương IV
Chương II
Phụ Lục


Mục Lục


CHƯƠNG I : TỔNG QUAN VỀ

MICROSOFT SQL

SERVER
1. Hệ quản trị cơ sở dữ liệu
1.1. Khái niệm
Hệ quản trị cơ sở dữ liệu (Database Management System) có thể hiểu là hệ
thống được thiết kế để quản lí một khối lượng dữ liệu nhất định một cách
tự động và có trật tự. Các hành động quản lý này bao gồm chỉnh sửa, xóa,
lưu thông tin và tìm kiếm (truy xuất thông tin) trong một nhóm dữ liệu nhất
định.
1.2. Vai trò của hệ quản trị cơ sở dữ liệu

Trong thời buổi công nghệ số hiện nay, nhiều quy trình, công đoạn hay các
hệ thống quản trị đều được mã hóa và vận hành bởi các thiết bị, phần mềm
nhằm giúp cho các đối tượng sử dụng đạt được hiệu suất làm việc tốt nhất.
Trên cơ sở đó, các hệ cơ sở quản trị dữ liệu ra đời và đóng vai trò quan
trọng trong xử lý và kiểm soát các nguồn thông tin, dữ liệu đơn lẻ. Cụ thể,
hệ quản trị CSDL có các chức năng chính như sau:

Cung cấp môi trường tạo lập cơ sở dữ liệu: hệ quản trị cơ sở dữ liệu đóng
vai trò cung cấp cho người dùng một ngôn ngữ định nghĩa dữ liệu để mô tả,
khai báo kiểu dữ liệu, các cấu trúc dữ liệu.


Cung cấp cách nhập và xử lí dữ liệu: hệ quản trị cơ sở dữ liệu cung cấp cho
người dùng ngôn ngữ thao tác dữ liệu để diễn tả các yêu cầu các thao tác
dữ liệu và khai thác dữ liệu. Thao tác dữ liệu bao gồm: Cập nhật ( nhập,
sửa, xóa dữ liệu ) và khai thác ( tìm kiếm, kết xuất dữ liệu ).
Cung cấp các công cụ kiểm soát, điều khiển các truy cập và cơ sở dữ liệu:
nhằm đảm bảo một số yêu cầu cơ bản của cơ sở dữ liệu. Bao gồm:
+ Đảm bảo an ninh, phát hiện và ngăn chặn các truy cập bất hợp pháp.
+ Duy trì tính nhất quán của dữ liệu.
+ Tổ chức và điều khiển các truy cập.
+ Khôi phục cơ sở dữ liệu khi có sự cố về phần cứng hay phần mềm.
+ Quản lí các mô tả dữ liệu.
2. Tổng quan về Microsoft SQL Server
2.1. Khái niệm Microsoft SQL Server
Microsoft SQL Server chính là một hệ quản trị dữ liệu quan hệ sử dụng
câu lệnh SQL để trao đổi dữ liệu giữa máy cài SQL Server và máy Client.
Một Relational Database Management System – RDBMS gồm có:
databases, datase engine và các chương trình ứng dụng dùng để quản lý các
bộ phận trong RDBMS và những dữ liệu khác.

2.2. Lịch sử phát triển
Phiên bản đầu tiên của Microsoft SQL Server ra đời đầu tiên vào năm 1989
cho các hệ điều hành chạy 16 bit với SQL Server phiên bản 1.0 và tiếp tục
phát triển cho tới ngày nay.
SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version
6.5. Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho
SQL Server cho nên có thể nói từ version 6.5 lên version 7.0 là một bước
nhảy vọt. Có một số đặc tính của SQL Server 7.0 không tương thích với
version 6.5. Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000)


thì những cải tiến chủ yếu là mở rộng các tính năng về web và làm cho
SQL Server 2000 đáng tin cậy hơn.
Một điểm đặc biệt đáng lưu ý ở phiên bản 2000 là Multiple-Instance. Tức
là bạn có thể cài dặt phiên bản 2000 chung với các phiên bản trước mà
không cần phải gỡ chúng. Nghĩa là bạn có thể chạy song song version 6.5
hoặc 7.0 với phiên bản 2000 trên cùng một máy (điều này không thể xảy ra
với các phiên bản trước đây). Khi đó phiên bản cũ trên máy bạn là Default
Instance còn phiên bản 2000 mới vừa cài sẽ là Named Instance.
Microsoft gần đây đã phát hành SQL Server 2017, và nó cung cấp nhiều lý
do thuyết phục để nâng cấp. Mặc dù bạn có thể lo lắng rằng quá trình này
có thể dẫn đến thời gian ngừng hoạt động và gián đoạn hoạt động kinh
doanh của bạn, nhưng lợi thế trong các lĩnh vực như khả năng tương thích
nền tảng và phân tích thống kê nguồn mở cung cấp cho bạn những lợi thế
cạnh tranh tiềm năng.
2.3. Các phiên bản SQL Server
Microsoft SQL sever hiện có nhiều phiên bản khác nhau. Dưới đây là danh
sách các phiên bản cùng với tính năng của từng phiên bản:




Enterprise - bản cao cấp nhất với đầy đủ tính năng.
Standard - ít tính năng hơn Enterprise, sử dụng khi không cần dùng



tới các tính năng nâng cao.
Workgroup - phù hợp cho các công ty lớn với nhiều văn phòng làm




việc từ xa.
Web - thiết kế riêng cho các ứng dụng web.
Developer - tương tự như Enterprise nhưng chỉ cấp quyền cho một
người dùng duy nhất để phát triển, thử nghiệm, demo. Có thể dễ



dàng nâng cấp lên bản Enterprise mà không cần cài lại.
Express - bản này chỉ dùng ở mức độ đơn giản, tối đa 1 CPU và bộ
nhớ 1GB, kích thước tối đa của cơ sở dữ liệu là 10GB.




Compact - nhúng miễn phí vào các môi trường phát triển ứng dụng




web. Kích thước tối đa của cơ sở dữ liệu là 4GB.
Datacenter - thay đổi lớn trên SQL Server 2008 R2 chính là bản



Datacenter Edition. Không giới hạn bộ nhớ và hỗ trợ hơn 25 bản cài.
Business Intelligence - Business Intelligence Edition mới được giới
thiệu trên SQL Server 2012. Phiên bản này có các tính năng của bản
Standard và hỗ trợ một số tính năng nâng cao về BI như Power View
và PowerPivot nhưng không hỗ trợ những tính năng nâng cao về



mức độ sẵn sàng như AlwaysOn Availability Groups…
Enterprise Evaluation - bản SQL Server Evaluation Edition là lựa
chọn tuyệt vời để dùng được mọi tính năng và có được bản cài miễn
phí của SQL Server để học tập và phát triển. Phiên bản này có thời
gian hết hạn là 6 tháng từ ngày cài.Từ tháng 10 năm 2016, các phiên
bản sau được Microsoft hỗ trợ:
o SQL Server 2008 R2
o SQL Server 2012
o SQL Server 2014
o SQL Server 2016

Tên gọi qua các năm:
1986: SQL 86 (Được công bố đầu tiên bởi ANSI. Được phê chuẩn
bởi ISO năm 1987)
1989: SQL 89
1992: SQL 92 (SQL2)
1999: SQL 1999(SQL3)

2005: SQL Server 2005
2008: SQL Server 2008
2012: SQL Server 2012
2016: SQL Server 2016


SQL Server 2017 được phát hành chính thức vào tháng 10/2017. Những
phần đầu tiên của SQL Server 2017 đã được tung ra từ cuối năm 2016, tính
đến cuối năm 2017 nó đã có 10 bản phát hành.
Phiên bản SQL Server 2017 chủ yếu kết nối với Linux, mang sức mạnh của
SQL lên Linux. Để nói ngắn gọn thì bạn có thể cài SQL Server 2017 trên
Linux, sử dụng SQL Server 2017 trên docker container dựa trên
Linux. SQL Server 2017 cũng cho phép lựa chọn ngôn ngữ phát triển, phát
triển nó tại chỗ (on-premise) hoặc dựa trên đám mây.
Trong bản này, SQL Server 2017 cũng cải thiện hiệu suất, khả năng mở
rộng và các tính năng trong từng phần như Database Engine, Integration
Services, Master Data Services, Analysis Services, v.v... Trong bài viết này
chúng ta sẽ xem xét qua từng phần một.


CHƯƠNG II: MICROSOFT SQL SEVER 2017
1. Các phiên bản của Microsoft SQL Sever 2017


SQL Sever 2017 on-premises: Xây dựng các ứng dụng thông minh,
nhiệm vụ quan trọng bằng cách sử dụng nền tảng dữ liệu hỗn hợp, có
thể mở rộng cho các khối lượng công việc đòi hỏi. Được dùng thử




miễn phí 180 ngày của SQL Server 2017 trên Windows.
SQL Sever in the cloud: Tận dụng khả năng sẵn có cao, bảo mật và
thông minh của Cơ sở dữ liệu SQL Azure và sử dụng công cụ SQL
quen thuộc mà không cần sự phức tạp của quản lý cơ sở hạ tầng.



Được sử dụng Cơ sở dữ liệu SQL miễn phí trong Azure.
Phiên bản SQL Server Developer : là phiên bản miễn phí, nhưng bạn
không thể sử dụng nó trong sản xuất. Đối với hướng dẫn này, bạn có
thể sử dụng phiên bản SQL Server Developer edition. Bạn nên sử
dụng nó cho mục đích phát triển hoặc cho mục đích đào tạo. Nó cũng



bao gồm tất cả các tính năng cần có.
Phiên bản SQL Server Express : miễn phí và có thể được sử dụng
trong sản xuất, nhưng nó có một giới hạn lưu trữ (10GB) và nó
không bao gồm một số tính năng (như SQL Server Agent, DTA,
v.v...). Bạn nên sử dụng phiên bản này nếu bạn không cần quá nhiều
dung lượng ổ đĩa hoặc tài nguyên trong máy.

2. Tính năng mới của SQL Server 2017
Tính năng mới trong Database Engine:
identity_cache
Tùy chọn này giúp bạn tránh những sai lệch về giá trị của cột ID, trong
trường hợp máy chủ tắt đột ngột hoặc tiến hành chuyển đổi dự phòng, hay
thậm chí chuyển sang máy chủ phụ. Nó được sử dụng với lệnh ALTER
DATABASE SCOPED CONFIGURATION, để kích hoạt các thiết lập cấu
hình cơ sở dữ liệu. Cú pháp như sau:



ALTER DATABASE SCOPED CONFIGURATION { { [ FOR
SECONDARY] SET <set_options> } } | CLEAR PROCEDURE_CACHE |
SET < set_options > [;] < set_options > ::= { MAXDOP = { <value> |
PRIMARY} | LEGACY_CARDINALITY_ESTIMATION = { ON | OFF |
PRIMARY} | PARAMETER_SNIFFING = { ON | OFF | PRIMARY} |
QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY} |
IDENTITY_CACHE = { ON | OFF } }
Cải thiện xử lý truy vấn thích ứng
Nếu bạn muốn cải thiện hiệu suất thực thi truy vấn thì tính năng mới này sẽ
giúp ích đáng kể. Nó được hỗ trợ trong SQL Server và Azure SQL
Database.
Đây là quy trình tối ưu hóa thông thường khi thực thi truy vấn SQL:


Đầu tiên, trình tối ưu hóa truy vấn sẽ tính toán tất cả các kế hoạch



thực hiện truy vấn khả thi cho truy vấn vừa tạo.
Tiếp theo, nó sẽ đưa ra kế hoạch tối ưu nhất/nhanh nhất.
Cuối cùng, kế hoạch được ước tính là tối ưu nhất sẽ được chọn để



thực thi truy vấn và quá trình thực hiện sau đó sẽ bắt đầu.
Quá trình trên có những nhược điểm sau:




Nếu ước tính sai kế hoạch tối ưu nhất thì sẽ ảnh hưởng đến hiệu suất.
Nếu không đủ bộ nhớ được cấp phát cho việc thực thi kế hoạch tối
ưu thì sẽ xảy ra lỗi tràn bộ nhớ.

Dưới đây là những tính năng mà SQL Server 2017 đã đưa vào để khắc phục
những nhược điểm trên:
Batch Mode Memory Grant Feedback (Phản hồi về việc cấp phát bộ nhớ
cho chế độ hàng loạt): Phản hồi này sẽ tính toán lại bộ nhớ được yêu cầu
cho việc thực thi kế hoạch và cấp phát bộ nhớ cho nó từ cache.


Batch Mode Adaptive Joins (Join thích ứng với chế độ hàng loạt): Có 2
kiểu join là Hash và vòng lặp lồng nhau. Khi truy kế hoạch thực hiện được
nhập vào và quét lần đầu, nó sẽ quyết định xem sẽ áp dụng kiểu join nào để
có được output ở tốc độ tối ưu.
Interleaved Execution (Thực thi xen kẽ): Trong quá trình thực thi kế hoạch
tối ưu, tính năng này sẽ "pause" khi gặp những hàm kiểu bảng đa lệnh
(multi-stament table valued function) để chỉ tính toán hoàn hảo các yếu tố
trong bảng này, rồi sau đó mới tiếp tục tối ưu hóa.
Automatic Tuning
Tính năng này kiểm tra các vấn đề trong hiệu suất truy vấn, xác định chúng
và khắc phục bằng những giải pháp được đề xuất. Đây là những kỹ thuật
automactic tuning (tự động điều chỉnh) có sẵn trong tính năng này:
Automatic Correction (Plan): Kỹ thuật này có trong SQL 2017 Database,
nó sẽ tìm những vấn đề về hiệu suất trong kế hoạch truy vấn được đưa ra,
sau đó sửa chữa chúng với những giải pháp được đề xuất.
Automatic Management (Index): Kỹ thuật này có trong SQL 2017 Azure
DB, nó sẽ xác định và sửa thứ tự các chỉ mục bằng cách xóa chỉ mục chưa
chuẩn và thêm chỉ mục đúng vào

Tính năng mới trong Graph DB
Graph DB là gì?
Về cơ bản, Graph DB là một tập hợp các nút và cạnh, cạnh biểu thị cho mối
quan hệ giữa các nút, nút là thực thể, một cạnh có thể nối với nhiều nút.
Graph DB hoạt động giống như một cơ sở dữ liệu quan hệ, và bạn có thể sử
dụng nó trong những trường hợp sau:


Khi có cơ sở dữ liệu ở định dạng phân cấp (hierarchical) và muốn
lưu nhiều parent cho một nút.





Khi cần kiểm tra và phân tích quan hệ liên kết và dữ liệu.
Khi có nhiều quan hệ (relationship).

Ở đây, từ khóa MATCH được sử dụng để truy vấn bảng Graph và sắp xếp
dữ liệu, với sự trợ giúp của một truy vấn duy nhất, người dùng có thể truy
vấn trên biểu đồ và dữ liệu quan hệ.
Always Available (truy cập dữ liệu chéo)
Với sự trợ giúp của tính năng này, giờ đây việc trao đổi chéo các cơ sở dữ
liệu giữa các SQL instance khác nhau (một SQL instance có thể kết nối
được với cácSQL instance khác) là hoàn toàn khả thi. Nó cũng hỗ trợ cho
việc trao đổi các cơ sở dữ liệu phân tán. [SQL 2016 cũng hỗ trợ truy cập cơ
sở dữ liệu chéo nhưng chỉ giữa các cá thể trong cùng một SQL Server.]
Cải tiến về DTA
Trong SQL 2017, đã có cải thiện về hiệu suất trong Database tuning advisor
(DTA). Cụ thể là các tùy chọn cho DTA đã được bổ sung thêm.

Nếu bạn chưa biết DTA là gì thì:
DTA là công cụ cơ sở dữ liệu thực hiện kiểm tra quá trình truy vấn (đã
được xử lý) sau đó đưa ra những cách thức giúp bạn cải thiện hiệu suất hoạt
động, có thể là bằng cách thay đổi cấu trúc cơ sở dữ liệu (ví dụ: chỉ mục,
khóa). Có thể sử dụng DTA theo hai cách sau đây:
Sử dụng GUI (giao diện)
Sử dụng tiện ích lệnh
Hàm chuỗi (string) mới
SQL 2017 mang đến cho người dùng một số hàm chuỗi mới
như TRANSLATE, CONCAT_WS, STRING_AGG, TRIM. Hãy cùng tìm
hiểu từng hàm một.


TRANSLATE
Về cơ bản hàm này lấy một chuỗi kí tự làm dữ liệu đầu vào và sau đó
chuyển các ký tự này sang một số ký tự mới, xem cú pháp dưới đây:
TRANSLATE ( inputString, characters, translations)
Trong cú pháp trên chiều dài của 'characters' phải tương tự như trong
'translations', nếu không hàm trên sẽ trả về giá trị lỗi. Ví dụ:
TRANSLATE ('6*{10+10}/[6-4]','[]{}','()()')
Kết quả trả về của ví dụ trên sẽ là 6 * (10 + 10) / (6-4). Chúng ta có thể
thấy các dấu ngoặc nhọn và ngoặc vuông được chuyển thành các dấu ngoặc
tròn.
Hàm này có cơ chế hoạt động giống như hàm REPLACE nhưng cách sử
dụng đơn giản hơn để thay cho hàm REPLACE. Ví dụ nếu chúng ta muốn
có kết quả trả về như trên mà sử dụng hàm REPLACE, thì chúng ta phải
viết hàm như sau, mới nhìn thôi đã thấy không hề dễ hiểu chút nào:
SELECT

REPLACE(REPLACE(REPLACE(REPLACE('6*{10+10}/[6-


4]','{','('), '}', ')'), '[', '('), ']', ')');
CONCATE_WS
Chức năng của hàm này chỉ đơn giản là ghép nối tất cả các đối số đầu vào
với các dấu phân cách được chỉ định. Hãy tham khảo cú pháp dưới đây:
CONCAT_WS ( separator, argument1, argument1 [, argumentN]… )
Hàm này tạo ra những chuỗi đơn bằng cách nối tất cả các đối số với nhau
nhờ vào sự trợ giúp của các dấu phân tách, do vậy nó cần tối thiểu 2 đối số
để tạo ra kết quả đầu ra, nếu không kết quả trả về sẽ lỗi. Ví dụ:
SELECT CONCAT_WS(',','Count
numers', 'one', 'two', 'three', 'four' ) AS counter;


Kết quả trả về của lệnh trên sẽ là: one, two, three, four
Bạn cũng có thể sử dụng tên cột cơ sở dữ liệu thay vì các chuỗi được mã
hóa.
TRIM
Cuối cùng thì hàm này cũng đã xuất hiện trên SQL 2017. Về cơ bản thì nó
hoạt động giống như hàm trim của C#, tức là loại bỏ tất cả các khoảng
trống thừa ở phần đầu và cuối chuỗi. Cú pháp như sau:
SELECT TRIM(' trim me ') AS result;
Kết quả trả về của lệnh trên sẽ là: trim me
Hàm này sẽ không loại bỏ các khoảng trống nằm giữa chuỗi.
STRING_AGG
Hàm này nối các giá trị của chuỗi với sự trợ giúp của các dấu phân tách
trong khi không thêm dấu phân tách ở cuối chuỗi. Dữ liệu đầu vào có thể là
VARCHAR, NVARCHAR, bạn có thể tùy ý chỉ định thứ tự hiển thị của kết
quả bằng việc sử dụng mệnh đề WITHIN GROUP.
Xem cú pháp dưới đây:
STRING_AGG


(

expression,

<order_clause>

separator

)

[

<order_clause>

]

::=

WITHIN GROUP ( ORDER BY <order_by_expression_list> [ ASC |
DESC ] )
Ví dụ tham khảo:
SELECT

city,

STRING_AGG (name, ';') WITHIN GROUP (ORDER BY name ASC) AS
names
FROM Students GROUP BY city;



Trong ví dụ trên, tất cả tên đã được ghép nối và phân tách bằng dấu chấm
phẩy (;). Mệnh đề WITHIN GROUP giúp chúng ta sắp xếp theo thứ tự. Kết
quả trả về sẽ được hiển thị như sau:

Có gì mới trong SSRS (Reporting Services) của SQL 2017


Từ bây giờ, Query designer sẽ hỗ trợ DAX. Các truy vấn DAX
nguyên bản sẽ có thể được tạo ra để ngăn chặn SSAS (các dịch vụ
phân tích). Tính năng này sẽ xuất hiện trên bản cập nhật mới nhất



của các công cụ SQL và trình xây dựng báo cáo.
Các lệnh OpenAPI được hỗ trợ bởi RESTful API, và giờ đây,



RESTful API lại được hỗ trợ bởi SSRS.
Từ bây giờ, bạn có thể đính kèm thêm tệp vào các nhận xét của




mình.
Bạn cũng có thể thêm nhận xét vào các báo cáo.
Cổng thông tin dịch vụ báo cáo đã được nâng cấp đáng kể (tính năng
này đã có sẵn trong SQL 2016).


Có gì mới ở SSIS (Dịch vụ tích hợp) trong SQL 2017
Từ bây giờ bạn có thể thực hiện SSIS trên Linux, tăng thêm khối lượng,
cũng như trích xuất và chuyển đổi dữ liệu trực tiếp trên Linux.
Tính năng mở rộng quy mô cho phép các hệ thống tích hợp phức tạp với
nhiều máy có hiệu năng cao. Tính năng mở rộng quy mô có thể thực hiện
tất cả các hoạt động với sự trợ giúp của Scale Out Master và Scale Out
Workers.
Dịch vụ phân tích trong (SSAS) trong SQL 2017 có gì mới


Giao diện mới của Get Data được ra mắt trên SQL 2017 tương tự
như MS Excel, power BI. Ngoài ra tính năng data transformation và


data mashup cũng đã xuất hiện, bạn có thể làm điều đó bằng cách sử


dụng trình tạo truy vấn và biểu thức M.
Tabular mode cho SSAS - một đế độ được giới thiệu trong SQL



2012, giờ đã được nâng cấp mạnh mẽ hơn trong SQL 2017.
SQL 2017 đưa ra tính năng Encoding hints mới, được sử dụng để tối



ưu hóa dữ liệu bảng trong bộ nhớ lớn.
Cải thiện hiệu suất cho PIVOT.


Machine Learning
Chúng ta đều biết rằng SQL 2016 hiện đang hỗ trợ các dịch vụ R, và từ bây
giờ, dịch vụ này sẽ được đổi tên thành các dịch vụ SQL Server Machine
learning. Lợi ích từ sự thay đổi này là bạn có thể dễ dàng sử dụng hệ thống
các lệnh R hoặc Python trên SQL Server.
Với tính năng mới này, Python có thể chạy được trong những thủ tục đã
lưu. Thậm chí bạn có thể thực thi lệnh từ xa thông qua SQL Server, điều
này sẽ thực sự hữu ích cho các nhà phát triển Python. Tuy nhiên, tính năng
này hiện tại vẫn chưa được hỗ trợ trên Linux, hãy cùng chờ đợi ở những
bản nâng cấp tiếp theo.
Để sử việc dụng machine learning một cách trở lên hiệu quả và tối ưu hơn,
SQL sử dụng các giải pháp sau:


revoscalepy là một loại thư viện mới có nhiệm vụ làm nền tảng cho
các thuật toán hiệu năng cao, các tính toán và tình huống từ xa. Về
cơ bản revoscalepy dựa trên nền tảng RevoScaleR (một gói dịch vụ



R).
microsoftml là cụm máy chủ Microsoft R hỗ trợ các thuật toán theo
ngôn ngữ máy, Microsoft đã phát triển thư viện này cho machine
learning nội bộ. Nhưng qua nhiều năm, nó đã được cải tiến và hiện
tại microsoftml hỗ trợ truyền dữ liệu nhanh cũng như chuyển đổi các
văn bản lớn, v.v...


Hỗ trợ Linux
Về cơ bản, ngay từ tên gọi "SQL 2017 on Linux and Windows" ta đã có thể

biết được rằngmục đích chính của bản nâng cấp này là hỗ trợ cho việc phát
hành sản phẩm trên nền tảng Linux. Dưới đây là một vài tính năng chính
của "SQL trên Linux":











Khả năng lưu trữ cơ sở dữ liệu lõi
Hỗ trợ IPv6
Hỗ trợ NFS
Xác thực AD trên linux
Hỗ trợ mã hóa
Có thể cài đặt SSIS trên Linux
Có sẵn công cụ lệnh MSSQL-conf
Liền mạch hóa và tự do hóa quá trình cài đặt
SQL cho Visual studio core (VS core đã có trên Linux)
Trình tạo tập lệnh nền tảng chéo

3. Ưu điểm và nhược điểm của SQL Server 2017
* Ưu điểm:
Microsoft gần đây đã phát hành SQL Server 2017, và nó cung cấp nhiều lý
do thuyết phục để nâng cấp. Mặc dù bạn có thể lo lắng rằng quá trình này
có thể dẫn đến thời gian ngừng hoạt động và gián đoạn hoạt động kinh

doanh của bạn, nhưng lợi thế trong các lĩnh vực như khả năng tương thích
nền tảng và phân tích thống kê nguồn mở cung cấp cho bạn những lợi thế
cạnh tranh tiềm năng.
-

Khả năng tương thích trên nhiều nền tảng

Tin tức lớn nhất từ bản cập nhật này là Microsoft cuối cùng đã chọn hỗ trợ
nhiều hơn các hệ điều hành Windows trên các máy chủ SQL. Các thùng
chứa Linux, Mac OS và Docker nhận được sự hỗ trợ mà nhiều công ty đã
chờ đợi trong nhiều năm. Bạn có sự linh hoạt để chọn nền tảng mà bạn
muốn sử dụng trên máy chủ SQL của bạn thay vì bị khóa vào Windows.


-

Giảm tổng chi phí sở hữu

Microsoft đã chú ý nhiều đến lợi ích của các mô hình đám mây lai, giúp
các tổ chức giảm TCO cho cơ sở dữ liệu của họ. Bạn có thời gian dễ dàng
truy cập vào dữ liệu dựa trên đám mây cùng với các máy chủ tại chỗ của
bạn, với các tính năng như Cơ sở dữ liệu Stretch mang lại cho bạn sự linh
hoạt rất cần thiết.
-

Dịch vụ phân tích dữ liệu thống kê và dữ liệu tốt hơn

Một phát triển thú vị khác là việc bổ sung Python. Microsoft cũng đưa
Enhanced R-Open vào trong SQL Server 2017. Họ nhận ra sự cần thiết
phải truy cập dữ liệu theo thời gian thực và các công cụ phân tích tốt hơn

cho cơ sở dữ liệu của các tổ chức. Analytics nâng cao trong cơ sở dữ liệu
cung cấp cho bạn thông tin chi tiết bạn cần để cải thiện mọi thứ từ hiệu suất
cơ sở dữ liệu đến quản lý khoảng không quảng cáo của công ty bạn.
Các tính năng thông minh kinh doanh có thể xử lý khoảng 1 triệu dự đoán
mỗi giây, cung cấp cho bạn một công cụ mạnh mẽ cho sự phát triển kinh
doanh của bạn.
-

Hiệu suất tốt hơn

Bạn sẽ thấy những cải thiện đáng kể về hiệu suất, vì SQL Server 2017 có
thể tăng tốc truy vấn nhanh hơn 100 lần. Tốc độ giao dịch cũng tăng lên
đến 30 lần. Nhu cầu xử lý dữ liệu của tổ chức của bạn sẽ chỉ tăng trong
tương lai, vì vậy tối đa hóa hiệu suất trong lĩnh vực này là rất quan trọng.
-

Bảo mật tốt nhất trong lớp

Không ai muốn suy nghĩ về các vấn đề an ninh gây rắc rối cho các tổ chức
thuộc mọi quy mô, nhưng Microsoft đang làm một phần của nó trong SQL
Server 2017 để cố gắng ngăn chặn làn sóng tội phạm mạng. Mã hóa khi
nghỉ ngơi và chuyển động cắt giảm khả năng kẻ xâm nhập có thể nhận


được dữ liệu có thể sử dụng do vi phạm. Mặt nạ dữ liệu động làm tăng mức
độ khó hơn nữa.
-

Hỗ trợ Linux


SQL Server 2017 hỗ trợ nhiều hoạt động Linux ngay bây giờ. Việc cài đặt
dựa trên gói là có thể cho Ubuntu, Docker, SUSE và RHEL để sắp xếp quá
trình nâng cấp và cài đặt. Bạn sẽ không gặp phải nhiều chi phí quản trị hơn
đơn giản chỉ vì bạn muốn sử dụng thứ gì đó ngoài Windows.
Bạn có thể triển khai trên các nền tảng vùng chứa phổ biến như Docker
Swarm. Pacemaker cung cấp một cách khác để quản lý rủi ro của bạn thông
qua chuyển đổi dự phòng, và tất cả các tính năng sao lưu và khôi phục đều
được đề cập đến.
-

SQL Server 2017 không chỉ là nâng cấp chất lượng cuộc sống cho cơ sở dữ
liệu. Khả năng làm việc với tính tương thích đa nền tảng là một sự thay đổi
trò chơi, và nó là giá trị nâng cấp ngày của riêng mình. Khi bạn thêm vào
hỗ trợ tốt hơn cho tình báo kinh doanh, giảm chi phí sở hữu, cấu hình lai
liền mạch và tất cả các cải tiến khác, điều duy nhất cần giữ lại là bộ phận
CNTT bận rộn đến mức nào.
- Hỗ trợ khôi phục dữ liệu tuyệt vời
Dữ liệu bị hỏng luôn là mối quan tâm khi mất điện hoặc tắt máy không
đúng cách. Microsoft SQL Server có một số tính năng thúc đẩy phục hồi và
khôi phục dữ liệu. Mặc dù các bảng riêng lẻ không thể được sao lưu hoặc
phục hồi, nhưng các tùy chọn khôi phục cơ sở dữ liệu hoàn chỉnh có sẵn.
Thông qua việc sử dụng các tệp nhật ký, bộ nhớ đệm và các bản sao lưu,
sản phẩm của Microsoft cho phép bạn cảm thấy tự tin rằng các tùy chọn
khôi phục thảm họa rất phong phú.
* Nhược điểm:
-

Chi phí



Một trong những nhược điểm lớn khi sử dụng Microsoft SQL Server thay
vì một hệ thống quản lý cơ sở dữ liệu quan hệ thay thế là các tùy chọn cấp
phép khá đắt tiền. Mặc dù sử dụng phần mềm cho mục đích phát triển hoặc
giáo dục là miễn phí, bất kỳ loại hình doanh nghiệp nào sử dụng đều phải
chịu phí cấp phép. Ví dụ, đối với SQL Server 2008, SQL Server Standard
Edition có giá $ 7,171 cho mỗi bộ xử lý. Phiên bản Trung tâm dữ liệu máy
chủ SQL là $ 54,990 cho mỗi bộ vi xử lý, theo trang web của Microsoft.
Đối với các doanh nghiệp nhỏ và cá nhân chạy các trang web vì lợi nhuận,
điều này không thể thực hiện được. Phần mềm cạnh tranh, chẳng hạn như
MySQL, thường miễn phí để sử dụng. Tuy nhiên, trong trường hợp không
phải là gói MySQL Enterprise đắt nhất có giá $ 4.999 cho mỗi máy chủ
mỗi năm. Đây là rẻ hơn đáng kể so với gói Microsoft SQL Standard
Edition.

CHƯƠNG III: THAO TÁC CƠ BẢN TRÊN MICROSOFT
SQL SEVER 2017
1. Các thao tác cơ bản trên bản SQL Server Express 2017
Tạo cơ sở dữ liệu mới và tạo bảng
Bước 1: Nhấp chuột phải vào Database -> Chọn New Database

Bước 2 : Hiển thị overlay thêm mới cơ sở dữ liệu. Đặt tên cho CSDL và
chọn Ok


Bước 3: Có CSDL mới “QUANLYBANHANG” . Nhấp chuột phải vào
Table, chọn New Table

Bước 4:
Xuất hiện cửa sổ TenPC.TenDatabase – dbo.Table_1
Trong đó:

Column Name: Tên trường thuộc tính của bảng
Data Type: Kiểu dữ liệu của các trường thuộc tính
Allow Nulls: Trường thuộc tính có nhận giá trị Null hay không
Các kiểu dữ liệu :


Kiểu dữ liệu
Bigint
Binary(n)
Bit
Char(n)
Datetime
Decimals(p,s)
Float
Image
Int
Money
Nchar(n)
Ntext
Numberic(p,s)
Nvarchar(n)
Real
Smalldatetime
Smallint
Smallmoney
Sql_variant
Text
Timestamp

Tinyint

Unique-dentifier

Phạm vi lưu trữ
Các số nguyên -263 đến 263-1
Dữ liệu nhị phân với độ dài cố
định n byte
Kiểu bit(có giá trị 0 hoặc 1)
Kiểu chuỗi có chiều dài n kí
tự cố định
Dữ liệu ngày giờ, nhận giá trị
từ 1/1/1753 đến 31/12/9999
Dữ liệu số thập phân. P là
tổng số kí tự số có thể được
lưu, s là số chữ số thập phân
Dữ liệu số số thực dấu phẩy
có phạm vi từ -1.79E+308 đến
1.79+308
Dữ liệu nhị phân. Co thể lưu
trữ tối đa 2,146,483,647 bytes
dữ liệu nhị phân
Số nguyên có giá trị từ -231
đến 231-1
Dữ liệu kiểu tiền tệ từ -263
đến 263
Dữ liệu chuỗi, có chiều dài cố
định n
Dữ liệu kiểu chuỗi, có thể lưu
trữ tối đa 1,073,741,823 kí tự
Unicode
Tương tự kiểu decimal

Dữ liệu kiểu chuổi, có thể lưu
trữ n(1<=n<=4000) kí tự
Unicode
Dữ liệu số thực dấu phẩu
động, phạm vi từ -3.4E+38
đến 3.4E+38
Dữ liệu ngày giờ có thể lưu
trữ từ 1/1/1900 đến 6/6/2079
Số nguyên từ -215 đến 215-1
Dữ liệu kiểu tiền tệ từ
-214,748.3648
đến
214,748.3647
Cho phép giữ các giá trị của
các kiểu dữ liệu khác nhau
Dữ liệu kiểu chuỗi, có thể lưu
trữ tối đa 2,147,483,647 kí tự.
Không được hỗ trợ Unicode
Cột timestamp được cập nhật
tự động mỗi khi dòng được
thêm hoặc được cập nhật. Mỗi
bảng chỉ có thể có 1 cột
timestamp
Số nguyên có giá trị từ 0 đến
255
Là số định danh duy nhất toàn
cục(GUID). Nó được tự động

Kích thước
8 bytes

4 bytes
1 bytes
n bytes
4 bytes
Phụ thuộc vào độ chính xác
8 bytes
Phụ thuộc dữ liệu
4 bytes
8 bytes
2n bytes
Mỗi kí tự chiếm 2 bytes
Phụ thuộc vào độ chính xác
2n bytes
4 bytes
4 bytes
2 bytes
4 bytes

Mỗi kí tự chiếm 1 bytes
8 bytes

1 bytes
16 bytes


Varchar(n)
Varbinary(n)

sinh mỗi khi hàm NEWID()
được sử dụng

Dữ liệu kí tự có chiều dài thay
đổi
với
n(1<=n<=8000).
Không hỗ trợ Unicode
Dữ liệu nhị phân có chiều dài
thay đổi với n(1<=n<=8000).

N bytes
N bytes

Mũi tên bên trái thể hiện Record hiện hành mà bạn đang chỉnh sửa. Bảng
Column Properties có chứa các yếu tố tương ứng chỉnh sửa riêng cho
Record đó.

Chọn khóa chính cho bảng, khóa chính (hay ràng buộc khóa chính) được sử
dụng để định danh duy nhất mỗi record trong table của cơ sở dữ liệu.
Bước 5: Lưu Table vừa tạo bằng cách nhấn biểu tượng SAVE hoặc phím
tắt Ctrl + S.SQL Server in the cloud
Cửa sổ Choose Name hiển thị. Nhập tên Table > Ok
Tạo Database Diagrams
Phải có ít nhất 2 table để tạo diagrams.
Bước 1 : Click chuột phải vào Database Diagrams, hiển thị overlay và add
tất cả những table cần kết nối.


Bước 2: Kết nối các Table với nhau



×