Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,036

HOME > บทความจากสมาชิก > การเขียน Stored Procedure ทำการ Backup (สำรอง) ข้อมูลทั้งก้อนบน SQL Server Database



 
Clound SSD Virtual Server

การเขียน Stored Procedure ทำการ Backup (สำรอง) ข้อมูลทั้งก้อนบน SQL Server Database

การเขียน Stored Procedure ทำการ Backup (สำรอง) ข้อมูลทั้งก้อนบน SQL Server Database บทความนี้เป็นเทคนิควิธีการเขียน Stored Procedure ในการ Backup ข้อมูลบน SQL Server Database โดยสามารถประยุกต์ใช้การกับตั้ง Job Schedule หรือการสั่ง Backup จากหน้า Application ได้ทั้งจาก Windows Desktop App หรือ Web Application ประโยชน์ของมันก็คือ คือในการสำรองข้อมูลแบบ Automatic ตาม Schedule ที่เรากำหนดขึ้น เช่นถ้าข้อมูลสำคัญมาก ๆ อาจจะต้องทำการ Backup ทุก ๆ วัน หรือจะใช้การ Backup แบบ Manual โดยการสั่งให้ .Net Application ทำการ Execute ตัว Stored Procedure ที่ทำหน้าที่ Backup Database




Stored Procedure and SQL Server Backup Database


สำหรับตัวอย่างนี้รองรับการทำงานบน SQL Server เกือบทุกเวอร์ชั่น เช่น 2005,2008,2012,2014 หรือจะเวอร์ชั่นล่าสุด อย่าง SQL Server 2016 ก็ใช้คำสั่งนี้ Stored Procedure นี้ได้เช่นเดียวกัน

บทความที่เกี่ยวข้อง

Backup บน SQL Server 2005 และ 2008 แบบรัน Auto Schedule Task อัตโนมัติ


Stored Procedure สำหรับการ Backup Database
-- =============================================
-- Author:		ThaiCreate.Com
-- Create Date:	27-Apr-2016
-- Description:	Backup Database
-- =============================================
CREATE PROCEDURE [dbo].[spBackupDB]
AS
	SET DATEFORMAT DMY;  
BEGIN

	SET NOCOUNT ON;

	DECLARE @sCmd	VARCHAR(1000),
			@sDb	VARCHAR(30),
			@sPath	VARCHAR(100),
			@sTime	VARCHAR(20);

	SELECT @sDb = DB_NAME();
	SELECT @sTime = REPLACE(CONVERT(VARCHAR(30), GETDATE(), 106),' ','-') + '_' +REPLACE(CONVERT(VARCHAR(30), GETDATE(), 108), ':', '.');
	
	SET @sPath = 'D:\BackupDB\' + @sDb +'_' + @sTime + '.bak';
	
	SET @sCmd = 'BACKUP DATABASE ' + @sDb + ' TO DISK = ''' + @sPath + '''' + ' WITH NOFORMAT, INIT,  NAME = ''' + @sDb + ''', SKIP, NOREWIND, NOUNLOAD,  STATS = 10';
	EXEC (@sCmd);

END

จากคำสั่ง Stored Procedure นี้อยู่ภายใต้ Database : millionaire ชื่อว่า spBackupDB โดยจะเก็บไฟล์ที่แบ็คอัพไว้ใน D:\BackupDB\








ทดสอบการ Backup เรียก Stored Procedure
EXEC spBackupDB


1

เมื่อ Execute ตัว Stored Procedure จะเห็นว่ามีการทำการ Backup ข้อมูลเกิดขึ้น

2

ไฟล์ Backup จะถูกจัดเก็บไว้ใน Path : D:\BackupDB\

จะเห็นว่าสามารถทำการ Backup ข้อมูลทั้งก่อนได้แบบง่าย ๆ ด้วยการ Execute ตัว Stored นี้เท่านั้น ซึ่งสามารถใช้เรียกจาก Application เพื่อทำการ Backup ได้เลย หรือไม่จะใช้ Job Schedule ที่อยู่บน SQL Server ก็ได้เช่นเดียวกัน

การตั้ง Job Schedule บน SQL Server เพื่อตั้งเวลาให้ทำการ Execute ตัว Stored Procedure

1

ในการใช้งาน Jobs จะต้องต้องรันตัว Services ที่ชื่อว่า SQL Server Agent (อย่าลืมตั้งให้ Start แบบ Automatic ด้วย)

2

คลิกวาที่ Jobs เลือก New Job...

1

ในส่วนของ General กำหนดชื่อ Jobs และเลือก User ที่มีสิทธิ์ในการ Backup ข้อมูล ปกติแล้วจะใช้ sa

2

ในส่วนของ Step -> New

3

ในแทบของ General กำหนดเชื่อ Step name และ เลือก Database พร้อมกับคำสั่งในการ Execute ตัว Stored Procedure

EXEC spBackupDB


4

ในส่วนของ Schedule จะเป็นการตั้งเวลาให้ทำงาน เลือก New

5

กำหนดชื่อ Schedule พร้อมกับกำหนดรูปแบบการทำงาน เช่น Daily พร้อมกับ เวลาที่มันจะทำงาน ในตัวอย่างนี้ทำตอน 12:30

6

หลังจากนั้นเราจะได้ Jobs Schedule ที่เราสร้างขึ้น

7

สามารถทดสอบการทำงานโดยคลิกขวา เลือก Start Job at Step

8

แสดงผลทดสอบการทำงาน

9

การทำงานเสร็จสิ้น

10

จะเห็นว่าไฟล์ Backup ถูกสร้างขึ้น

11

ในตัวอย่างนี้จะกำหนดเวลาทำงานทุกวัน 12:30 เมื่อถึงเวลาที่กำหนด ตัว Jobs นี้ก็จะทำงาน

12

ไฟล์ Backup ถูกสร้างขึ้น








Note!! ในการตั้ง Job Schedule เพื่อ Backup Database ครวจตรวจสอบขนาดไฟล์ที่ได้ทำการ Backup เพราะถ้ามีการตั้ง Schedule ให้ทำกงานบ่อย ๆ ปริมาณไฟล์ Backup อาจจะทำให้ Hardisk เต็มได้หรือาจจะใช้การ Backup ไปยังพวก Network Path เพื่อป้องกัน Server หลักมีปัญหาเกี่ยวกับ Harddisk เต็ม


   
Share
Bookmark.   

  By : TC Admin
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2016-04-27
  Download : No files
Sponsored Links
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่