/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/
Showing posts with label SOA101. Show all posts
Showing posts with label SOA101. Show all posts

[Database-Tự Học Quản Trị SQL Server] SOA101 - LAB6 - GIÁM SÁT, CẢNH BÁO, THÔNG BÁO ĐẾN EMAIL

Nên xem cấu hình SMTP trước khi xem bài này

MỤC TIÊU:
Kết thúc bài thực hành này bạn có thể biết cách:
  • Xem SQL Server Error Log
  • Cấu hình Database mail
  • Cấu hình SQL Server Agent Operators
  • Cấu hình SQL Server Agent Alerts

YÊU CẦU:
BÀI 1
Thực hiện xem log lỗi của SQL Server và kiểm tra nơi lưu trữ các file log hiện tại trên hệ thống SQL 

BÀI 2
Tạo profile và cấu hình account email và thực hiện gửi mail test

BÀI 3
Tạo mới SQL Server Agent Operators và thực hiện jobs backup full cho CSDL AdventureWorks2019, sau khi backup hoàn thành hệ thống tự động gửi thông báo đến email DBA.

BÀI 4
Tạo mới SQL Server Agent Alerts để tự động gửi cảnh cáo nếu transaction log bị đầy (mã lỗi 9002) đến email DBA


THỰC HIỆN:

BÀI 1
Thực hiện xem log lỗi của SQL Server và kiểm tra nơi lưu trữ các file log hiện tại trên hệ thống SQL 

Xem SQL Server Error Log
Tại SSMS, ở cửa sổ Object explorer, Chọn Management, chọn SQL Server Logs, phải chuột vào Current chọn View SQL Server Log.


Tại cửa sổ Log File Viewer, check vào SQL Server, SQL Server Agent để xem thông tin các log đã được ghi nhận

a. File log hiện tại của SQL Server

b. File log của hiện tại SQL Server Agent

c. Khởi tạo lại log của SQL Server
Thực hiện lệnh (new query – execute): EXEC sys.sp_cycle_errorlog;


BÀI 2
Tạo profile và cấu hình account email và thực hiện gửi mail test

Cấu hình Database mail
a. Tạo database mail
Tại SSMS, ở cửa sổ Object explorer, Chọn Management, phải chuột phải vào Database Mail > chọn Configure Database Mail màn hình Welcome ấn Next


tại màn hình Select Configuration Task chọn option Set up Database Mail > ấn next


Tại màn hình New Profile nhấn Add để thêm account


Điền thông tin SMTP server bạn > nhấn OK


Outgoing Mail Server (SMTP)

AMTP Authentication

 

E-mail address:

Basic authentication

Reply e-mail:

User name:

Server name:

Password:

Port number:

Confirm password:



Nhấn next


Tại màn hình Manage Profile Security chọn tab public profile, trong phần Default Profile chọn Yes ấn > next.


Nhấn Next



nhấn Finish


Nhấn Close để hoàn thành cài đặt


b. Kích hoạt Database Mail XPS

sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'Database Mail XPs', 1;  
GO  
RECONFIGURE  
GO 
Tham khảo cách cấu hình email tại đây

c. Gửi mail test và xem log

Chọn Management, phải chuột vào Database Mail chọn Send Test E-mail..
Trong phần To: nhập vào địa chỉ mail muốn nhận ấn Send Test E-Mail



Nhấn OK để gửi mail
Database Mail > View Database Mail Log

Log ghi nhận trên hệ thống


Kiểm tra đã nhập được email

BÀI 3
Tạo mới SQL Server Agent Operators và thực hiện jobs backup full cho CSDL AdventureWorks2019, sau khi backup hoàn thành hệ thống tự động gửi thông báo đến email DBA.

Cấu hình SQL Server Agent Operators
Start SQL Server Agent


a. Chuẩn bị
Server Objects > Backup Devices > New Backup Deivce > đặt tên AW_Backup_Full > đường dẫn lưu trữ file



Management > Maintenance Plans > Maintence Plan Wizard > đặt tên Lab SQL Server Agent

Tab General > Database(s)
Tab Destination > Add > AW_Backup_Full


b. Enable SQL Server Agent mail profile

SQL Server Agent > Properties > Chọn Alert System > Enable Mail profile > OK > Restart SQL Server Agent



c. Tạo Operator
SQL Server Agent, phải chuột phải vào Operators > New Operator…
Name: Admin-SQL, 
Email name: địa chỉ mail muốn nhận thông báo  > OK



d. Cấu hình job gửi notify đến Operator
Chọn tên Lab SQL Server Agent.Subplan_1 (là tên đã làm ở phần chuẩn bị) > Properties > Notifications > Email chọn Admin-SQL(là operator đã tạo bước trên) > hành động muốn gửi thông báo Ví dụ: When the job completes > OK


e. Test và kiểm tra kết quả
Chọn Lab SQL Server Agent.Subplan_1 > Start Job at Step…


Chọn SQL Server Agent > Operations > Admin-SQL > Properties > History


Kiểm tra email đã nhận được thông báo.


BÀI 4
Tạo mới SQL Server Agent Alerts để tự động gửi cảnh cáo nếu transaction log bị đầy (mã lỗi 9002) đến email DBA

Cấu hình SQL Server Agent Alerts
a. Tạo Alert
SQL Server Agent > New Alert... > đặt tên > điền mã lỗi. Ví dụ: 9002



Respone > chọn Notify Operators > chọn E-mail Options >  chọn E-mail > OK

b. Test và kiểm tra kết quả
Tạo mới Database, giới hạng dung lượng file 20MB và mới bảng dữ liệu



Thực hiện chèn dữ liệu vào bảng (mục đích tạo ra lỗi 9002)

Code:
-- test alert 9002 đầy log
USE master;
GO
CREATE DATABASE TestAlertDB -- tạo database
ON (
	NAME = TestAlertDB
	, FILENAME = 'd:\Data\TestAlertDB.mdf' 
	, MAXSIZE = 20MB)
LOG ON (
	NAME = TestAlertDB_log
	, FILENAME = 'd:\Data\TestAlertDB_log.ldf'
	, MAXSIZE = 20MB) ; -- giới hạng dung lượng 20MB
GO
-- tạo mới bảng dữ liệu
USE TestAlertDB;
CREATE TABLE testtable (col1 text);

-- chèn dữ liệu để test
USE TestAlertDB;
GO
SET NOCOUNT ON;
WHILE 1 = 1
	BEGIN
		INSERT INTO testtable (col1)
		VALUES('Test data!');
	END;
GO

Vào SQL Server Agent > Alerts > Test Full Transaction Log > Properties > History




Xong!

[Database-Tự Học Quản Trị SQL Server] SOA101 - LAB5 - QUẢN LÝ THÔNG TIN ĐĂNG NHẬP, NGƯỜI DÙNG VÀ PHÂN QUYỀN



MỤC TIÊU:
Kết thúc bài thực hành này bạn có thể biết cách:
  • Chuyển đổi authentication mode
  • Tạo user login
  • Quản lý và cấp quyền server level role
  • Tạo và quản lý database user
  • Cấp quyền và xem lại các quyền đã cấp


YÊU CẦU:
BÀI 1
Tạo mới login và user với các yêu cầu:
Tên người dùng là AW_Admin với vai trò là nhà quản trị CSDL, phân quyền cho user này toàn quyền thao tác trên CSDL AdventureWorks2019
Tạo người dùng khác tên là AW_backup, phân quyền cho người dùng này chỉ được phép thao tác backup CSDL AdventureWorks2019

BÀI 2
Tạo mới login và user với các yêu cầu:
Một người dùng thông thường tên AW_UserThuong cho phép user này thấy bảng dữ liệu “Customer” và chỉ được phép thực hiện các câu lệnh select, insert, delete trên bảng này.
Thu hồi quyền delete của user “AW_UserThuong” trên bảng “Customer”


THỰC HIỆN:
Video bài viết


BÀI 1
Tạo mới login và user với các yêu cầu:
Tên người dùng là AW_Admin với vai trò là nhà quản trị CSDL, phân quyền cho user này toàn quyền thao tác trên CSDL AdventureWorks2019
Tạo người dùng khác tên là AW_backup, phân quyền cho người dùng này chỉ được phép thao tác backup CSDL AdventureWorks2019

Quản lý server-level security
Tại SSMS, ở cửa sổ Object explorer, phải chuột tên server -> chọn properties -> chọn Security -> SQL Server and Windows Authentication mode -> OK


Tại cửa sổ phải Object explorer, phải chuột tên server SQL -> chọn Restart -> OK để khởi động lại SQL Server


a. Tạo Login
Security -> Logins -> New Login …

Tại cửa sổ Login-new , trong phần login name nhập AW_Admin -> chọn option SQL server authentication -> nhập password 2 lần -> bỏ checkbox Enforce password policy, trong phần Default database chọn AdventureWorks2019-> OK


b.   Ngoài ra chúng ta có thể tạo login AW_backup bằng T-SQL

USE master
GO
CREATE LOGIN AW_backup
	WITH PASSWORD=N'AW_backup', 
	CHECK_EXPIRATION=OFF, 
	CHECK_POLICY=OFF
GO


Xem thông tin Logins đã tạo Security -> Logins


c. Tạo user


d. Tạo user bằng T-SQL
USE AdventureWorks2019
GO
CREATE USER AW_backup 
	FOR LOGIN AW_backup
GO

e. Gán quyền cho user AW_Admin

f. Gán quyền cho user AW_backup bằng T-SQL

USE AdventureWorks2019
GO
	ALTER ROLE db_backupoperator 
	ADD MEMBER AW_backup
GO

BÀI 2
Tạo mới login và user với các yêu cầu:
Một người dùng thông thường tên AW_UserThuong cho phép user này thấy bảng dữ liệu “Customer” và chỉ được phép thực hiện các câu lệnh select, insert, delete trên bảng này.
Thu hồi quyền delete của user “AW_UserThuong” trên bảng “Customer”

a. Tạo mới LogIn và User
USE master;
GO
CREATE LOGIN AW_UserThuong
	WITH PASSWORD = 'AW_UserThuong',
	CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF,
	DEFAULT_DATABASE = AdventureWorks2019;
GO

USE AdventureWorks2019
GO
CREATE USER AW_UserThuong 
	FOR LOGIN AW_UserThuong
GO

b. Phân quyền được phép thực hiện các câu lệnh: Select, Insert, Delete
USE AdventureWorks2019
GO
GRANT SELECT, INSERT, DELETE
ON Customer TO AW_UserThuong;
GO

c.  Kiểm tra quyền đã gán



d. Thu hồi quyền delete của user AW_UserThuong trên bảng dữ liệu Customer
USE AdventureWorks2019
GO
REVOKE DELETE
ON Customer
FROM AW_UserThuong;
GO




Xong!

[Database-Tự Học Quản Trị SQL Server] SOA101 - LAB3 - KẾ HOẠCH - CHIẾN LƯỢC SAO LƯU VÀ PHỤC HỒI CSDL (GUI)

MỤC TIÊU:
Kết thúc bài thực hành này bạn có thể thực hiện sao lưu/backup database và phục hồi/restore database SQL server, lên kế hoạch backup databse định kỳ cho SQL Server nhằm hạn chế tối đa việc mất dữ liệu, duy trì hệ thống làm việc an toàn và ổn định
  • Tạo backup device
  • Backup database, các kiểu backup (backup type): Backup Full, backup Differential, Backup Transaction log
  • Kiểm tra sau khi backup
  • Lập lịch backup database định kỳ (schedule backup)
  • Phục hồi database
YÊU CẦU:
Bài 1:
a. Tạo các backup device backup Full, backup Differential, Backup Transaction log
b. Thực hiện backup Full, backup Differential (nên tạo thêm bảng mới để tạo ra sự thay đổi trong CSDL), Backup Transaction log với các device backup đã tạo ở bài 1.a
c. Kiểm tra kết quả sau khi backup tương ứng với từng kiểu backup

Bài 2:
a. Lập lịch backup định kỳ cho CSDL với các yêu cầu:
  • Backup Full: Tối thứ 7 hằng tuần lúc vào lúc 11 giờ 30 khuya
  • Backup Differential: Các ngày thứ 2, 3, 4, 5, 6 vào lúc 11 giờ 30 khuya
  • Backup Transaction Log: Hằng ngày và lặp lại 1 giờ l lần bắt đầu từ 8:00AM - 5:00PM
b. Phục hồi dữ liệu với các bản sao đã thực hiện ở bài 1.b

THỰC HIỆN:

Bài 1:

a. Tạo các backup device backup Full, backup Differential, Backup Transaction log
Tạo backup device cho Backup Full



Tương tự tạo backup device cho Backup Differential



Tương tự tạo backup device cho Backup Transaction log


Đã tạo thành công 3 backup devices


b. Thực hiện backup Full, backup Differential, Backup Transaction log với các device backup đã tạo ở bài 1.a
Thực hiện backup Full cho CSDL

Chọn DemoDB_01 (CSDL cần thực hiện backup) -> chuột phải -> Tasks -> Back Up …



Chọn Backup type Full (4) > remove đường dẫn hiện tại (5)

Add (6) > chọn Backup devices Full (7) đã tạo ra ở bước trên

Backup thành công -> OK


Thực hiện Backup Differential
Chuẩn bị: Giả lập dữ liệu phát sinh sau khi backup full, chúng ta nên tạo mới bản và thêm dữ liệu vào CSDL
Chọn CSDL DemoDB_01 -> Table ->click chuột phải -> New -> Table…



Tạo các trường dữ liệu MaSoSinhVien, TenSinhVien, Diem và lưu lại (Ví dụ: Table_1)



Thực hiện:
Chọn CSDL DemoDB_01 -> Tasks -> Back Up…

Ở mục Source chọn Backup type -> chọn Differential -> mục Destination chọn Add -> Backup device chọn DemoDB_01_Backup_Differential -> OK -> OK

Backup thành công -> OK



DemoDB_01_Backup_Transaction_Log
Thực hiện tương tự như backup full



nhưng phần backup type (bước 3) chọn Transaction Log và backup device chọn Transaction Log




Kết quả sau thực hiện


c. Kiểm tra kết quả sau khi backup tương ứng với từng kiểu backup
Trong server Objects chọn Backup Devices -> phải chuột vào DemoDB_01_Backup_Differential -> properties -> Media Contents




Để xem report backup, phải chuột vào database muốn xem chọn Reports -> Standard reports -> Backup and Restore Events. 





Bài 2
a. Lập lịch backup định kỳ cho CSDL
Khởi đội dịch vụ SQL Server Agent


Nhấn Yes để khởi động service SQL SERVER AGENT 


Thực hiện lập lịch backup
Tại SQL server chọn Management, Phải chuột vào Maintenance Plans chọn Maintenance Plan Wizard.


Màn hình SQL server maintenance plan Wizard ấn next


Đặt tên và chọn option Separate schedules for each task -> next



Tại màn hình Select Maintenance tasks chọn các loại backup cần thực hiện (Full, Diferential, Transaction Log) -> next.



Lập lịch Backup Full: 
Tại cửa sổ define Back up database (full) -> Next


Chọn tab General, trong phần Database(s) click vào mũi tên để chọn database cần backup -> OK.


tab Destination, trong phần Backup database across one or more files ấn Add -> Chọn backup devive → OK



tab Option, chọn vào checkbox Verify backup integrity -> ấn nút Change


Đặt tên cho job backup ở phần name, trong phần Frequency chọn Occurs là Weekly và chỉ chọn vào Saturday, Occurs once at: 11:30 PM (backup hàng tuần vào ngày thứ bảy vào lúc 11 giờ 30 khuya) -> Ok.

Nhấn next để tạo lịch backup differential.


Lập lịch backup Differential
Tương tự thực hiện lặp lại từ bước 8 đến bước 14
Bước 15 chọn DemoDB_01_Backup_Differential



Tiếp tục lặp lại từ bước 16 – 19
Đặt tên cho job backup ở phần name, trong phần Frequency chọn Occurs là Weekly và chỉ chọn các ngày từ Monday đến Friday, Occurs once at: 12:00 AM (backup hàng tuần vào các ngày T2, 3, 4, 5, 6 vào lúc 12 giờ khuya) -> Ok.



Lập lịch backup Transaction Log
Tương tự thực hiện lặp lại từ bước 8 đến bước 14
Bước 15 chọn DemoDB_01_Backup_Transaction_Log


Tiếp tục lặp lại từ bước 16 - 19
Đặt tên cho job backup ở phần name, trong phần Frequency chọn Occurs là Daily Trong phần Daily Frequency chọn Occurs every chọn 1 hours và Starting at là 8:00AM – Ending at là 5:00PM(backup hàng ngày, lập lại 1 giờ l lần bắt đầu từ 8 giờ sáng đến 5 giờ chiều) -> Ok


Check vào Write a report to a text file, trong phần folder location click nút … Chọn nơi lưu trữ report à OK -> Next.

Nhấn Finish hoàn tất


Chờ cho đến khi các tiến trình hoàn tất → Close

Sau khi thực hiện xong vào Maintenance Plans sẽ thấy các lịch đã tạo


vào SQL Server Agent chọn Jobs sẽ thấy các job backup.


Chúng ta thể phải chuột vào từng job chọn properties để xem lại các thông tin đã cấu hình



b. Phục hồi sữ liệu với các bản sao đã thực hiện ở bài 1.b
Giả lập xóa CSDL
SSMS phải chuột vào Database cần xóa -> delete -> Delete Object ấn OK



Thực hiện phục hồi/Restore Backup Full
Phải chuột vào database -> Restore database


Tại cửa sổ Restore Database, chọn option Device ấn nút …


Tại cửa sổ Select backup device, trong phần Backup media type -> Backup Device, Trong phần Backup media -> nhấn Add -> chọn DemoDB_01_Backup_Full -> OK

Nhấn OK 2 lần để thực hiện phục hồi dữ liệu



Kết quả thành công -> OK


Thực hiện phục hồi /Restore Differential backup
Tương tự như backup Full bước 5 chúng ta chọn DemoDB_01_Backup_Full &
DemoDB_01_Backup_Differential





Kết quả thành công -> OK


Thực hiện phục hồi /Restore Transaction log
Tương tự chúng ta chọn DemoDB_01_Backup_Full, DemoDB_01_Backup_Differential, DemoDB_01_Backup_Transaction_Log




Kết quả thành công -> OK




Xong!
/*header slide*/