SQL server cung cấp rất nhiều công cụ giúp DBA quản lý database dễ dàng, nhanh chóng và an toàn hơn. Trong module này chúng ta sẽ học cách thực hiện tự động các công việc lặp đi lặp lại nhiều lần trong một thời gian nhất định. Điều này sẽ giúp cho DBA tránh những thiếu sót không đang có trong việc quản lý. Thực hiện tự động hóa các công việc còn đảm bảo rằng chúng được thực hiện nhất quán.
Thực hiện xong bài lab này, bạn có thể biết cách sử dụng SQL server Agent để tự động hóa công việc, làm thế nào để cấu hình security context cho job, và thực hiện công việc trên multi server.
Thực Hiện Tự Động Hóa Quản Lý SQL Server 2014
A. Tạo Jobs:
1. Tạo job: Tại SSMS, ở cửa sổ Object explorer, Chọn SQL server Agent, phải chuột vào Jobs chọn New Job. Tại cửa sổ New job, trong phần name: nhập vào Check AdventureWorks Database. Cũng tại cửa sổ New job chọn Steps, ấn New xuất hiện cửa sổ Job step Properties, trong phần Step name: nhập vào Make Folder, trong phần type chọn Operation System(CmdExexc), trong phần command nhập vào đường dẫn chứa file MakeDir.cmd (file này có sẳn trong C:\SQL\Module12\MakeDir.cmd), lưu ý các folder không có khoản trắng OK
Tiếp tục ấn new, trong phần Step name: nhập vào Get DB Info, trong phần type chọn Transact-SQL script(T-SQL), trong phần command nhập vào EXEC sp_helpdb AdventureWorks;
Tại cửa sổ New Job Step chọn Advanced, trong phần Output file: nhập vào đường dẫn chứa file DB_Info.txt (ví dụ C:\SQL 2014\Module12\DB_Info.txt) OK
Tiếp tục ấn new, trong phần Step name: nhập vào Check DB, trong phần type chọn Transact-SQL script(T-SQL), trong phần command nhập vào DBCC CHECK (‘AdventureWorks’);. Tại cửa sổ New Job Step chọn Advanced, trong phần Output file: nhập vào đường dẫn chứa file CheckDB.txt (ví dụ C:\SQL 2014\Module12\ CheckDB.txt) OK.
Tại của sổ New Job kiểm tra đã có 3 step, chọn tiếp Schedules và ấn New. Tại cửa sổ New job Schedule, trong phần name: nhập vào Weekly Jobs, trong phần Occurs chọn Weekly, và chỉ chọn vào sun day, trong phần Daily frequency:12:00AM OK OK
2. Tạo job bằng Task Script Action: Tại cửa sổ Object Explorer chọn database, phải chuột vào AdventureWorks chọn tasks Backup. Tại cửa sổ Back up Database, trong phần destination chọn đường dẫn có sẳn ấn Remove, sau đó ấn add chọn filename:C:\sql 2014\Module12\adventureWorks.bak Ok. Trở lại cửa sổ Back up database chọn script Script Action to job
Xuất hiện cửa sổ New Job, trong phần name: nhập vào Back up Database – AdventureWorks, chọn Steps, thấy có một job name: 1, chọn Schedules ấn pick, chọn Weekly Jobs đã tạo ở phần trên Ok Ok. Trở lại cửa sổ back up Database – AdventureWorks ấn cancel.
Kiểm tra thấy có Back up Database –AdventureWorks trong jobs
3. Tạo Script job từ những Job đã có: Tại cửa sổ Object Explorer, chọn SQL Server Agent, chọn Jobs, phải chuột vào Check AdventureWorks DB chọn Script job as Create to New Query Editor Window
Xuất hiện cửa sổ chứa query các lệnh T-SQL để tạo job, cũng tại cửa sổ Object Explorer, chọn SQL Server Agent, chọn Jobs, phải chuột vào Back up Database – AdventureWorks chọn Script job as Create to Clipboard. Đặt con trỏ ở cuối cửa sổ query, Click phải chọn paste đoạn code trong clipboard vào. Save script thành file C:\SQL 2014\Module12\Create job.sql.
B. Xem Job History:
1. thực thi job: Tại SSMS, ở cửa sổ Object explorer, Chọn SQL server Agent, chọn job, phải chuột vào Back up database –AdventureWorks chọn Start job at step, chờ job thực thi thành công ấn close. Tiếp tục phải chuột vào Check AdventureWorks DB chọn start job at step xuất hiện cửa sổ Start job chọn step 1 ấn start Job bị báo lỗi, chọn close. Phải chuột vào Back up Database – AdventureWorks chọn View history, xem job thực thi thành công. Phải chuột vào Check AdventureWorks DB chọn view history, check vào dấu + của date thấy có lỗi ở bước thứ 3 (Step ID là 3).
Đặt con trỏ vào step 3 xem thông báo lỗi ở cuối cửa sổ.
2. Khắc phục job bị lỗi: Tại SSMS, ở cửa sổ Object explorer, Chọn SQL server Agent, chọn job, phải chuột vào Check AdventureWorks DB chọn Properties, tại cửa sổ Job properties chọn Steps, chọn step 3 (check DB) ấn edit. Tại cửa sổ Job step Properties – check DB, trong phần command sửa lại lệnh: DBCC CheckDB (‘AdventureWorks’); Ok Ok
Tại SSMS, ở cửa sổ Object explorer, Chọn SQL server Agent, chọn job, phải chuột vào Check AdventureWorks DB chọn start job at step xuất hiện cửa sổ Start job chọn step 1 ấn start. Lần này job không bị lỗi. Phải chuột vào Check AdventureWorks DB chọn view history, check vào dấu + của date mới nhất thấy các job đã thực thi thành công.
Tại SSMS, ở cửa sổ Object explorer, Chọn SQL server Agent, chọn job, phải chuột vào Job Activity Monitor chọn View Job Activity, thấy các job đã thực thi thành công (nếu không thấy, có thể ấn refresh). Vào C:\SQL 2014\Module12\ kiểm tra có DB_Info.txt, CheckDB.txt và file backup đã được tạo.
C. Cấu hình Security Context:
1. Tạo credential: Tại SSMS, ở cửa sổ Object explorer, Chọn Security, phải chuột Credential chọn New Credential, tại cửa sổ Credential properties, trong phần Credential name: nhập vào FileAgent, trong phần Identity chọn CTL\FileAgent (FileAgent là domain user của CTL.VN hay là user trên máy cài SQL server cũng được), nhập password 2 lần (phải là password của user FileAgent trên windows) OK
2. Tạo Proxy Account: Tại SSMS, ở cửa sổ Object explorer, chọn SQL Server Agent, chọn Proxies, phải chuột vào Operating System (CmdExec) chọn New Proxy. Tạo cửa sổ New proxy Account, trong phần Proxy name: nhập vào ProxyFile Agent, Trong phần Credential name: chọn FileAgent, kiểm tra chỉ có Operating system (CmdExec) được check Ok
3. Thực thi Job step với Proxy Account: Tại SSMS, ở cửa sổ Object explorer, chọn SQL Server Agent, chọn jobs, double-click vào Check AdventureWorks DB, tại cửa sổ Job properties, chọn steps, đặt con trỏ vào Step 1 (Make Folder) chọn edit. Tại cửa sổ Job Step Properties – Make Folder, trong phần Run as: chọn ProxyFile Agent Ok Ok
Tại SSMS, ở cửa sổ Object explorer, Chọn SQL server Agent, chọn job, phải chuột vào Check AdventureWorks DB chọn Start Job at step xuất hiện cửa sổ Start job chọn step 1 ấn start, chờ cho job thực hiện thành công ấn close. Vào C:\SQL\Module12 phải chuột vào AdventureWorks folder chọn properties, chọn tab security, ấn Advanced, kiểm tra thấy Owner của folder là FileAgent account.
D. Cấu hình Multi-Server Jobs:
1. Tạo Master và Target Server: Tại SSMS, ở cửa sổ Object explorer, Phải chuột vào SQL server Agent chọn Multi Server Administration Make this a Master. Màn hình Welcome ấn Next, tại mà hình Master Server Operator trong phần E-mail address: nhập vào adminsql@labs.ctl.vn (user đang connect vào SQL server) next
Tại cửa sổ target server ấn add connection, tại cửa sổ connect to server trong phần server name chọn SER100\SQLTEST ấn connect Next
Tại màn hình Checking Server Compatibility ấn close, tại màn hình Master Server Login Credentials ấn next, màn hình Complete the Wizardpage ấn Finish, chờ cấu hình thành công ấn close. Nếu bị lỗi thì vào run gõ regedit rồi tìm 2 key sau:
-
- Master server: \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQLServer\<instance_name>\SQLServerAgent\ AllowDownloadedJobsToMatchProxyName (REG_DWORD) sửa lại thành 1
- Targer server: \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQLServer\<instance_name>\SQLServerAgent\MsxEncryptChannelOptions (REG_DWORD) sửa lại thành 1
2. Tạo Job cho Target Server: Tại cửa sổ Object Explorer (của Master server), chọn SQL Server Agent (MSX), phải chuột vào Jobs chọn new job, tại màn hình New job trong phần name: nhập vào Backup master database, chọn Steps ấn New, trong phần Step name: nhập vào Backup Master, Type: chọn Transact-SQL script (T-SQL), trong phần command: nhập vào BACKUP DATABASE master TO DISK = ‘master.bak’, có thể chọn Advanced chỉ nơi lưu file backup, nếu không sẽ lưu vào folder default OK
Trở lại màn hình New Job, chọn Targets, chọn option Target multiple servers và chọn SER100\SQLTEST OK
3. Thực thi Job cho Target Server: Trong cửa sổ Object Explorer, chọn SQL server Agent (MSX), chọn Job, phải chuột vào Backup Master database chọn Start Job at step, sau khi thực hiện xong ấn close. Tại Object Explorer, Chọn Connect drop-down list, chọn Database Engine, trong phần server name chọn SER100\SQLTEST connect.
Tại Object Explorer chọn SER100\SQLTEST, chọn SQL Server Agent (TSX: SER100), chọn Jobs, phải chuột vào Backup Master Database chọn View History. Thấy job thực hiện thành công.
+
Mr CTL – CTL.VN