PDA

View Full Version : نحوه دسترسی به ابزارهای SQL



m_h_2007
سه شنبه 18 تیر 1387, 17:00 عصر
سلام چطور میشه برنامه ای نوشت که به تنظیمات sql دسترسی پیدا نمود و مثلا تنظیم کرد که هر 5 دقیقه یک بار یک backup تهیه شود ؟

رضا عربلو
سه شنبه 18 تیر 1387, 20:21 عصر
روش های مختلفی است از قبیل :
1 - اتصال به دیتابیس Master و اجرای دستورات T-SQL مربوطه
2 - استفاده از SDK ها و دیگر کتابخانه های توابع آماده شده مثل SMO
3 - ...

hdv212
سه شنبه 18 تیر 1387, 20:36 عصر
خود Sql Server ابزاری رو برای این قبیل کارها داره.
شما میتونید در Sql Server یک Job بسازید و تنظیم کنید که در هر زمان مشخص چه کارایی انجام بده، لطفا در مورد کلمه ی job جستجو کنید.

m_h_2007
سه شنبه 18 تیر 1387, 21:04 عصر
ممنون از راهنماییتون میشه یه مثال بزنین ، یا نمونه کد بنویسین که چطور در سی شارپ این کارو بکنم؟از چه راهی باید وارد شم ؟

hdv212
سه شنبه 18 تیر 1387, 22:43 عصر
ممنون از راهنماییتون میشه یه مثال بزنین ، یا نمونه کد بنویسین که چطور در سی شارپ این کارو بکنم؟از چه راهی باید وارد شم ؟
این چنین کارهایی مانند Automating Backup,... جزو وظایف Administrationای است و پیشنهاد نمیشه که در برنامه گنجانده بشه، چون ابزار این فرایند در خود Sql Server موجود هست، کافیه Job مورد نظر رو فقط یک بار در Sql Server ایجاد کنید، دیگه نیازی به کد نویسی نداره، ولی در عین اگر اصرار دارید که ایجاد Job رو هم به صورت کد نویسی انجام بدید (که کار اضافه ای هست)، باید کدهایی رو که در زمان ساختن JOb در Sql server اجرا میشه رو در Sql Profiler ردیابی کنید و کدهای Trace شده رو به عنوان یک SqlCommand در برنامه تون مثل بقیه ی دستورات T-Sql اجرا کنید.

razavi_university
چهارشنبه 19 تیر 1387, 01:14 صبح
همون طوری که دوستم جناب وزیری فرمودند اینکارها وظیفه ی مدیر دیتایس است نه برنامه نویس ولی چون در ایران برنامه نویس و مدیر دیتابیس و ... اکثر اوقات یک نفره:متعجب: باید آچار فرانسه بود:چشمک:


در این مقاله روشهای مختلف تهیه نسخه پشتیبان (Backup) و همچنین تعریف برنامه زمانبندی جهت Backup گیری اتوماتیک در زمانهای معین شرح داده شده است.
در SQL Server فایلهای Backup علاوه بر ساختار Database، داده ها و Object ها (Table, View, Stored Procedure, Foreign Key, Primary Key, Relation, UDF, DDF, …) را نیز شامل میشود. به عبارت دیگر با Backup گرفتن، داده های شما به صورت فیزیکی (و نه به صورت دستورات Insert) ذخیره میشود.

قبل از شروع کار توجه داشته باشید که سرویسSQL Server Agent ، Start شده باشد.

1. استفاده از Script
در این Script متغیر path حاوی مسیر، نام فایل و همچنین تاریخ، ساعت و دقیقه اجرا میباشد.



Code:
Declare @path varchar(200) Set @path='C:\Backup\BK_' + Replace(Cast(GetDate() As char), ':', '-') + '.BAK'BACKUP DATABASE [MyDatabaseName] TO DISK = @path WITH NOINIT,NOUNLOAD, NAME = N'My Backup', NOSKIP, STATS = 10, NOFORMAT
سپس یک Daily, Weekly, Monthly) Job) تعریف کرده و Script فوق را در آن Job قرار میدهیم که باعث میشودScript ما به صورت متناوب اجرا شود.

2. استفاده از Wizard Backup
بر رویDatabase مورد نظر Right-Click کنید و گزینه Backup Database را انتخاب کنید تا پنجره SQL Server Backup ظاهر شود.
بر روی Add… کلیک کنید تا مسیر و نام فایل Backup را تعیین کنید.

پس ازتعیین مسیر و نام فایل Backup، بر روی OK کلیک کنید. با OK کردن نام و مسیر فایل، به پنجره قبلی بر میگردیم. در این حالت به دو صورت میتوان عمل کرد: یکی Backup گرفتن که با کلیک کردن برروی کلید OK در همان لحظه این عمل انجام میشود و دیگری تعریف Schedule یا برنامه زمانبندی جهت تکرار Backup گیری به صورت اتوماتیک.

برای تعریف Schedule بر روی Check Box کنار Schedule کلیک کنید. به محض کلیک، در Box مقابل، برنامه زمانبندی Default ظاهر میشود. حال برای تغییر برنامه زمانبندی پیش فرض بر روی کلید ... کلیک کنید تا پنجره Edit Schedule باز شود.

در این مرحله ابتدا نام برنامه زمانبندی و سپس نوع برنامه را مشخص کنید. در صورتی که تمایل دارید Back گیری به صورت منظم و در زمانهای مشخص انجام شود گزینه Recurring را انتخاب کنید. برای تغییر برنامه پیش فرض بر روی کلید Change کلیک کنید تا پنجره Edit Recurring Job Schedule ظاهر شود.

در این قسمت میتوانید دوره (ماهیانه، هفتگی و روزانه)، ساعت و بازه زمانی اجرای این برنامه زمانبندی را مشخص کنید. پس از تایید نهایی از Database شما طبق برنامه زمانبندی Backup گرفته میشود و در مسیر مشخص شده ذخیره میگردد. توجه داشته باشید که تاریخ و ساعت Backup گیری به انتهای نام فایل Backup اضافه میشود.

روش سوم تعریف Backup به صورت منظم با استفاده از تعریف یک Database Maintenance Plan میباشد.
منبع (http://forum.persiannetworks.com/f88/t8929.html)

در پنجره هایی که در SQL2005 وظایفی رو انجام می دهند دکمه Script وجود دارد که می تواند دستورات(T-SQL) آن عملیات را برای شما تولید کند
ببخشید ولی میخواستم زبان اصلی نگذارم ;)
روش سوم به زبان اصلی در ضمیمه

m_h_2007
چهارشنبه 26 تیر 1387, 10:15 صبح
بسیار ممنون و سپاسگزارم از این همه لطی که شما به کاربران دارین واقعا توضیح کامل و جامعی بود بی نهایت ممنون و متشکرم