در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش Snapshot گرفتن از SQL سرور قسمت 2 : استفاده از Snapshot

در مقاله قبلی در خصوص اینکه Snapshot در SQL سرور چیست و چگونه کار می کند صحبت کردیم در این قسمت می خواهیم به شما آموزش دهیم که چگونه بصورت عملی از Database های خود Snapshot بگیرید و داده ای را حذف و از طریق Snapshot آنرا بازیابی کنید. خوب بیابید با مثالی Snapshot را به خوبی یاد بگیریم. توجه کنید که این مثال فعلا در محیط تست و پایلوت قابل اجرا است و در محیط واقعی کمی بار کاری بر ریو CPU و دیسک و حافظه شما ایجاد خواهد شد ، در این خصوص که چگونه این مشکلات در محیط واقعی باید حل شوند بعد ها صحبت خواهیم کرد ، سناریو به این شکل خواهد بود :

  • یک Database ایجاد می کنیم
  • از این Database داده ای را حذف می کنیم
  • از طریق Snapshot داده مربوطه را بازیابی می کنیم

در اولین مرحله یک Database را با استفاده از دستورات زیر به همراه یک سری داده های آزمایشی ایجاد می کنیم ، در محیط واقعی قاعدتا شما دارای Database می باشید و نیازی به ایجاد کردن آن ندارید نام Database را در اینجا RegularDB قرار می دهیم و چند Table نیز به آن اضافه می کنیم و در نهایت همانطور که در توضیحات دستورات T-SQL هم مشاهده می کنید Snapshot را ایجاد می کنیم :

USE master
GO
-- Create Regular Database
CREATE DATABASE RegularDB
GO
USE RegularDB
GO
-- Populate Regular Database with Sample Table
CREATE TABLE FirstTable (ID INT, Value VARCHAR(10))
INSERT INTO FirstTable VALUES(1, 'First');
INSERT INTO FirstTable VALUES(2, 'Second');
INSERT INTO FirstTable VALUES(3, 'Third');
GO
-- Create Snapshot Database
CREATE DATABASE SnapshotDB ON
(Name ='RegularDB',
FileName='c:\SSDB.ss1')
AS SNAPSHOT OF RegularDB;
GO
-- Select from Regular and Snapshot Database
SELECT * FROM RegularDB.dbo.FirstTable;
SELECT * FROM SnapshotDB.dbo.FirstTable;
GO

بعد از اینکه Table های فرضی را ایجاد کردیم از Database اصلی یک سری داده را با استفاده از دستور زیر حذف می کنیم :

-- Delete from Regular Database
DELETE FROM RegularDB.dbo.FirstTable;
GO
-- Select from Regular and Snapshot Database
SELECT * FROM RegularDB.dbo.FirstTable;
SELECT * FROM SnapshotDB.dbo.FirstTable;
GO

زمانیکه شما دستور بالا برای حذف داده ها از Database را وارد کردید ابتدا و قبل از حذف داده ها در Snapshot کپی می شوند. البته دقت کنید که داده ها در سطح Page ها کپی خواهند شد. قبل از حذف داده ها فایل Snapshot ظرفیت چندانی نخواهد داشت اما بعد از حذف به دلیل اینکه ابتدا در Snapshot کپی شده و بعد حذف می شود حجم فایل Snapshot ما بالا خواهد رفت. حالا با استفاده از دستورات زیر داده ای که حذف کرده ایم را Restore یا بازیابی می کنیم. قاعدتا در این قسمت از Snapshot برای بازگردانی داده ها استفاده خواهیم کرد :

-- Restore Data from Snapshot Database
USE master
GO
RESTORE DATABASE RegularDB
FROM DATABASE_SNAPSHOT = 'SnapshotDB';
GO
-- Select from Regular and Snapshot Database
SELECT * FROM RegularDB.dbo.FirstTable;
SELECT * FROM SnapshotDB.dbo.FirstTable;
GO
-- Clean up
DROP DATABASE [SnapshotDB];
DROP DATABASE [RegularDB];
GO

خوب در این مرحله اگر به Database اصلی مراجعه کنید متوجه می شوید که FirstTable را که حذف کرده بودیم با استفاده از Snapshot بازیابی شده است ، امیدوارم مورد توجه شما قرار گرفته باشد. ITPRO باشید.

نویسنده : محمد نصیری

منبع : جزیره بانک های اطلاعات وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#ُگرفتن_snapshot_از_sql #کاربرد_snapshot_در_sql #snapshot_گیری_از_sql #snapshot_گرفتن_از_sql_سرور #استفاده_از_snapshot_در_sql #روش_استفاده_از_sql_snapshot #backup_گیری_از_sql #مفهوم_snapshot_در_sql
عنوان
1 آموزش Snapshot گرفتن از SQL سرور قسمت 1 : آشنایی با Snapshot رایگان
2 آموزش Snapshot گرفتن از SQL سرور قسمت 2 : استفاده از Snapshot رایگان
زمان و قیمت کل 0″ 0
1 نظر
حسن ضرابی

با سلام و خسته نباشید خدمت استاد عزیزم

جناب آقای مهندس محمد نصیری از بابت این دو آموزش بسیار مفید و عالی که شما عالی توضیح دادید بسیار متشکرم.

خیلی عالی بود.

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....