معرفی دو DataType در SQL
بسم الله الرحمن االرحیم
آموزش SQL Server
Timestamp
در بعضی مواقع نیاز است شما اطلاعات درون یک پایگاه داده را به صورت Mirror ذخیره کنید، یعنی ما یک پایگاه داده اصلی و یک پایگاه داده پشتیبان داریم که اطلاعات بر روی پایگاه داده اصلی RW می شود و نسخه ای از آن نیز بر روی پایگاه داده دوم بایگانی می شود. خوب فکر کنید این کار را در سطح بسیار کوچکتر و فقط بر روی یک جدول در یک پایگاه داده انجام دهید یعنی اطلاعات این جدول با ارزش بوده و می خواهید به صورت ساده هر تغییری که در اطلاعات جدول شماره یک صورت گرفت بر روی جدول شماره دو انجام شود. راه حل؟
خوب بعضی ها اولین راه را انتخاب می کنند یعنی هر عملیات CUD را بروی جدول شماره یک اگر صورت گرفت بر روی جدول شماره دو نیز همان کار را تکرار می کنند، خوب است.
خوب راه دیگر استفاده از فیلد TimeStamp است که مقدار باینری را در خود نگه می دارد، در صورتی که مقدار رکورد عوض شود مقدار باینری این فیلد نیز عوض خواهد شد
پس اگر بخواهید متوجه شوید که مثلا بر روی رکورد شما توسط کاربر تغییری صورت گرفته می توان با مشاهده مقدار این فیلد، به این جواب برسید مثال:
آموزش SQL Transaction
بسم الله الرحمن الرحیم
آموزش SQL Transaction
در این بخش قصد دارم مدیریت تراکنش های اسکیوال را به صورت مختصر توضیح دهم
توسط متغییر Global، @@Error می توانیم شماره خطا را بازیابی نماییم اگر خطایی داشته باشیم مقدار این متغییر از صفر بزرگتر است در غیر این صورت مقدار آن صفر است و در صورتی که از این متغییر استفاده کنیم مجددا مقدار این متغییر صفر می گردد
همچنین جهت خواندن شماره خطا می توانیم از Error_Number() استفاده کنیم و جهت چاپ متن خطا از Error_Message استفاده می کنیم
جهت ایجاد یک خطا به صورت دستی می توانیم از RAISERROR استفاده کنیم
مثال
RAISERROR('خطایی رخ داده است',16,1)
به دلیل وجود کاراکترهای فارسی و انگلیسی جای متن خطا از ابتدا به انتها منتقل شده به همین دلیل تصویری در انتهای مطلب قراردادم که گویا ی موضوع باشد
آموزش Constraint
بسم الله الرحمن الرحیم
آموزش SQL Server
در هر پایگاه داده ای که طراحی می شود وابسته به این که این سیستم برای چه محیطی طراحی شده است محدودیت ها و قید و شرطهایی مطرح می شود. مثلا قصد داریم برای یک شرکت تجاری پایگاه داده ای طراحی کنیم و پرسنل این شرکت در هیچ شرایطی در خصوص شروع اضافه کاری نباید ساعات بین 22 الی 6 صبح باشد. راه حل های ساده ای وجود دارد و معمولا اکثر برنامه نویسان این وظیفه را به جای طراحان انجام می دهند و طبیعتا این کار را در Application مورد نظر نوشته می شود خوب راه حل دیگر این است که ما به عنوان طراح این کار را در پایگاه داده انجام دهیم و کمکی به همکار برنامه نویسمان کنیم.
آشنایی با SQL
بسم الله الرحمن الرحیم
آموزش SQL Server
DataBase Engine
در واقع مهمترین بخش اسکیو ال است که وظیفه مدیریت و اجرای سرویس های پایه را بر عهده دارد ساخت دیتابیس، مدیریت رشد db، ساخت جداول، جستجو، مرتب سازی، ایندکس کردن، اجرای دستورات، ساخت توابع و پروسیجر و تریگر، امکان برنامه نویسی از راه دور، امنیت، نسخه پشتیبان، اتچ کردن، همه توسط این بخش صورت می گیرد.
نرم افزار SQL Server Business Intellgince
به صورت مختصر و مفید باید گفت برنامه ای است که توانایی اجرای دستورات C# را در اسکیوال دارد.
SSMS
به صورت مختصر و مفید باید گفت نرم افزاری است که توسط آن می توانیم به تمامی امکانات اسکیوال به صورت گرافیکی دسترسی داشته باشیم.
خوب سعی کردم تمام این مطالب را کمی مختصر مطرح کنم تا برسیم سراغ بحث اصلی خودمان، در بعضی ممکن است شما بخواهید بر روی یک سیستم کارها و دستورات اسکیوال را اجرا کنید ولی به دلیل محدودیت هایی نمی توانید اسکیوال سرور را به صورت کامل نصب کنید تا از بخش های مدیریت آن استفاده کنید، خوب راه حل ؟
شما کافی است از نرم افزار کوچکی به نام SQL Comand در Command line استفاده کنید
آموزش Transaction
بسم الله الرحمن الرحیم
آموزش Transaction
مورد فایل LDF قبلا توضیحاتی ارائه گردید همان طور که قبلا ذکر کردیم نام این فایل Transaction DataBase File می باشد و وظیفه آن ذخیره دستورات برای اجرای کامل آنها در صورت ایجاد مشکل می باشد.
برای استفاده هوشمندانه از این ویژگی می بایست به صورت زیر عمل کنیم:
BEGIN TRAN T1
SELECT * FROM Account
COMMIT TRAN T1
BEGIN TRAN T1
این دستور باعث می شود خطوط بعدی در رم ذخیره شود.
COMMIT TRAN T1
باعث می شود کل دستورات در فایل ذخیره می شود.
معرفی فایلهای SQL
بسم الله الرحمن الرحیم
آموزش SQL Server
هر بانک اطلاعاتی از سه فایل تشکیل می شود:
(Master DataBase File) MDF: فایل اصلی SQL می باشد که تمامی جداول، رکوردها، توابع برنامه نویسی را ذخیره می کند. تمامی فایلها در SQL به قطعه های مساوی 8K تقسیم می شوند که
آموزش Cursor در SQL Sever
بسم الله الرحمن الرحیم
آموزش 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
بسم الله الرحمن الرحیم
آموزش MaintenancePlan در SQL Server
در این بخش قصد دارم بخشی را با عنوان Maintenance plan که یکی از قابلیت های SQL server می باشد معرفی کنم. شما با استفاده از این قابلیت می توانید یک برنامه یا همان plan
پیکربندی Database Mail وارسال ایمیل از طریق Database Mail
بسم الله الرحمن الرحیم
آموزش DataBase Mail
پیکربندی Database Mail وارسال ایمیل از طریق Database Mail
در این مقاله قصد داریم یک Database Mail راه اندازی کنیم و بهتر است دوستانی که باDatabase Mail آشنایی ندارند ابتدا معرفی و تفاوت آن را با SQLMail که قبلا در مورد آن مطلبی را قرار داده ام بررسی کنند.
برای شروع کار ابتدا باید Database Mail را پیکر بندی کنیم، در این مرحله ابتدا یک profile ایجاد می کنیم
ابتدا SSMS (اسکیوال سرور) را باز می کنیم در بخش سمت چپ Object Explorer بر روی Management کلیک می کنیم و از گزینه های زیر مجموعه آن بر روی Database Mail کلیک راست می کنیم و گزینه Configuration Database Mail را انتخاب می کنیم
تفاوت بین SQLMAIL و Database Mail
بسم الله الرحمن الرحیم
این مبحث را برای دوستان تیم طراحی پایگاه داده قرار دادم انشالله مفید واقع شود
تا کنون کسی را ندیده ام که اولا تفاوت این دو را بداند (در بحث های انجام شده در تمامی سایت هایی که بررسی کرده ام؛ هیچ بحثی در این مورد وجود ندارد!) و دوما هیچ کس از این روش برای ارسال ایمیل استفاده نمی کند مجددا در هیچ مطلب فارسی این مبحث مطرح نشده است به همین دلیل این مطلب را قرار داده تا شاید دوستان خارج از مجموعه با مباحث این چنینی بیشتر آشنا شوند
Database mail یک مفهوم جدید است که در SQL Server 2005 مطرح شد و جایگزین SQLMail در نسخه های قبل تر Sql گردید
Database Mail چندین مزیت و پیشرفت بر SQLMail دارد. Database Mail بر اساس SMTP (Simple Mail Transfer Protocol) و همچنین خیلی سریعتر و قابل اعتماد تر از SQLMail است و SQLMail بر اساس MAPI (Messaging Application Programming Interface) است.