a

ABLY مقالات و مطالب مجموعه

صفحه اصلی / ABLY مقالات و مطالب مجموعه

بسم الله الرحمن الرحیم

آموزش SQL Transaction

در این بخش قصد دارم مدیریت تراکنش های اسکیوال را به صورت مختصر توضیح دهم

توسط متغییر Global، @@Error می توانیم شماره خطا را بازیابی نماییم اگر خطایی داشته باشیم مقدار این متغییر از صفر بزرگتر است در غیر این صورت مقدار آن صفر است و در صورتی که از این متغییر استفاده کنیم مجددا مقدار این متغییر صفر می گردد

همچنین جهت خواندن شماره خطا می توانیم از Error_Number() استفاده کنیم و جهت چاپ متن خطا از Error_Message استفاده می کنیم

جهت ایجاد یک خطا به صورت دستی می توانیم از RAISERROR استفاده کنیم

مثال


    RAISERROR('خطایی رخ داده است',16,1)

به دلیل وجود کاراکترهای فارسی و انگلیسی جای متن خطا از ابتدا به انتها منتقل شده به همین دلیل تصویری در انتهای مطلب قراردادم که گویا ی موضوع باشد

بسم الله الرحمن الرحیم

آموزش SQL Server

در هر پایگاه داده ای که طراحی می شود وابسته به این که این سیستم برای چه محیطی طراحی شده است محدودیت ها و قید و شرطهایی مطرح می شود. مثلا قصد داریم برای یک شرکت تجاری پایگاه داده ای طراحی کنیم و پرسنل این شرکت در هیچ شرایطی در خصوص شروع اضافه کاری نباید ساعات بین 22 الی 6 صبح باشد. راه حل های ساده ای وجود دارد و معمولا اکثر برنامه نویسان این وظیفه را به جای طراحان انجام می دهند و طبیعتا این کار را در Application مورد نظر نوشته می شود خوب راه حل دیگر این است که ما به عنوان طراح این کار را در پایگاه داده انجام دهیم و کمکی به همکار برنامه نویسمان کنیم.

بسم الله الرحمن الرحیم

آموزش SQL Server

DataBase Engine

 در واقع مهمترین بخش اسکیو ال است که وظیفه مدیریت و اجرای سرویس های پایه را بر عهده دارد ساخت دیتابیس، مدیریت رشد db، ساخت جداول، جستجو، مرتب سازی، ایندکس کردن، اجرای دستورات، ساخت توابع و پروسیجر و تریگر، امکان برنامه نویسی از راه دور، امنیت، نسخه پشتیبان، اتچ کردن، همه توسط این بخش صورت می گیرد.

 

نرم افزار SQL Server Business Intellgince

به صورت مختصر و مفید باید گفت برنامه ای است که توانایی اجرای دستورات C# را در اسکیوال دارد.

 

SSMS

به صورت مختصر و مفید باید گفت نرم افزاری است که توسط آن می توانیم به تمامی امکانات اسکیوال به صورت گرافیکی دسترسی داشته باشیم.

خوب سعی کردم تمام این مطالب را کمی مختصر مطرح کنم تا برسیم سراغ بحث اصلی خودمان، در بعضی ممکن است شما بخواهید بر روی یک سیستم کارها و دستورات اسکیوال را اجرا کنید ولی به دلیل محدودیت هایی نمی توانید اسکیوال سرور را به صورت کامل نصب کنید تا از بخش های مدیریت آن استفاده کنید، خوب راه حل ؟

شما کافی است از نرم افزار کوچکی به نام SQL Comand در Command line استفاده کنید

بسم الله الرحمن الرحیم

آموزش Transaction

 مورد فایل LDF قبلا توضیحاتی ارائه گردید همان طور که قبلا ذکر کردیم نام این فایل Transaction DataBase File می باشد و وظیفه آن ذخیره دستورات برای اجرای کامل آنها در صورت ایجاد مشکل می باشد.

برای استفاده هوشمندانه از این ویژگی می بایست به صورت زیر عمل کنیم:

BEGIN TRAN T1
SELECT * FROM Account
COMMIT TRAN T1

 

BEGIN TRAN T1

این دستور باعث می شود خطوط بعدی در رم ذخیره شود.

COMMIT TRAN T1

باعث می شود کل دستورات در فایل ذخیره می شود.

بسم الله الرحمن الرحیم

آموزش SQL Server

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

(Master DataBase File) MDF:  فایل اصلی SQL می باشد که تمامی جداول، رکوردها، توابع برنامه نویسی را ذخیره می کند. تمامی فایلها در SQL به قطعه های مساوی 8K تقسیم می شوند که

بسم الله الرحمن الرحیم

آموزش Cursor در SQL Sever

در بسیاری مواقع شما نیاز دارید اطلاعات را به صورت رکورد به رکورد بررسی کنید، اولین راه حل ایجاد یک برنامه است اما اگر بخواهیم این کار را در SQL انجام دهیم چطور؟ همانطور که مشخص است دستور SELECT این کار را برای ما انجام می دهد با این تفاوت که نمی توانیم تک تک رکوردها را بررسی کنیم بلکه خروجی دستور SELECT یک ResualtSet یا در واقع یک Dataset است.

دستور Cursor  می تواند خروجی دستور SELECT را در حافظه نگه دارد و تک تک آنها را بررسی کند.

مثال

@id uniqueidentifier,
@userName varchar(20),
@password varchar(20)

DECLARE AccountRows CURSOR FOR SELECT id,userName,password FROM Account

 

AccountRows متغییری از جنس CURSOR تعریف کردیم تا اطلاعات را در خود ذخیره کند.

 

 

 بسم الله الرحمن الرحیم

آموزش MaintenancePlan در SQL Server

در این بخش قصد دارم بخشی را با عنوان Maintenance plan که یکی از قابلیت های SQL server  می باشد معرفی کنم. شما با استفاده از این قابلیت می توانید یک برنامه یا همان plan

بسم الله الرحمن الرحیم

آموزش DataBase Mail

پیکربندی Database Mail  وارسال ایمیل از طریق  Database Mail

در این مقاله قصد داریم یک Database Mail  راه اندازی کنیم و بهتر است دوستانی که باDatabase Mail  آشنایی ندارند ابتدا معرفی و تفاوت آن را با SQLMail که قبلا در مورد آن مطلبی را قرار داده ام بررسی کنند.

برای شروع کار ابتدا باید Database Mail  را پیکر بندی کنیم، در این مرحله ابتدا یک profile ایجاد می کنیم

ابتدا SSMS (اسکیوال سرور) را باز می کنیم در بخش سمت چپ Object Explorer بر روی Management کلیک می کنیم و از گزینه های زیر مجموعه آن بر روی Database Mail  کلیک راست می کنیم و گزینه Configuration Database Mail  را انتخاب می کنیم

SendTextEmail

بسم الله الرحمن الرحیم

این مبحث را برای دوستان تیم طراحی پایگاه داده قرار دادم انشالله مفید واقع شود

تا کنون کسی را ندیده ام که اولا تفاوت این دو را بداند (در بحث های انجام شده در تمامی سایت هایی که بررسی کرده ام؛ هیچ بحثی در این مورد وجود ندارد!) و دوما هیچ کس از این روش برای ارسال ایمیل استفاده نمی کند مجددا در هیچ مطلب فارسی این مبحث مطرح نشده است به همین دلیل این مطلب را قرار داده تا شاید دوستان خارج از مجموعه با مباحث این چنینی بیشتر آشنا شوند

Database mail یک مفهوم جدید است که در SQL Server 2005 مطرح شد و جایگزین SQLMail در نسخه های قبل تر Sql گردید

Database Mail چندین مزیت و پیشرفت بر SQLMail دارد. Database Mail بر اساس SMTP (Simple Mail Transfer Protocol) و همچنین خیلی سریعتر و قابل اعتماد تر از SQLMail است و SQLMail بر اساس MAPI (Messaging Application Programming Interface) است.

بسم الله الرحمن الرحیم

برای دوستان عزیز که در تیم طراحی پایگاه داده SQL فعالیت می کنند این کد بسیار کارا خواهد بود.

 

برای اینکه شما بتوانید یک پایگاه داده را Restore کنید می بایست ابتدا تمامی Connection های آن را حذف کنید برای این فرایند کافی است که دستور زیر را بر روی پایگاه داده خود اجرا نمایید (بجای MyDATABASE نام پایگاه داده خود را وارد نمایید). البته این مشکل مربوط به نسخه های قدیمی SQL می باشد.

اما به هر حال بسیاری از مواقع شما نیاز دارید تمامی Connnection های فعال اسکیوال سرور را حذف کنید. برای این کار کافی است تکه کد زیر را بروی دیتابیس مورد نظر خود اجرا کنید.

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس