.:: محمدحسین فخرآوری ::.

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

🌐 افزایش حملات سایبری در دوران جنگ، و اهمیت توجه به SQL Injection

در این روزهای پرتنش که حملات سایبری هم شدت گرفته، یکی از حملاتی که بیشتر از همیشه باید جدی گرفته بشه، SQL Injection هست.

این نوع حمله می‌تونه آسیب‌های جبران‌ناپذیری به دیتابیس وارد کنه:
از حذف داده‌ها گرفته تا رمزنگاری یا دستکاری اطلاعات، و متأسفانه چون حمله از طریق اکانتی انجام می‌شه که نرم‌افزار به دیتابیس متصل شده، دسترسی کامل به اطلاعات فراهم می‌شه.

چند سوال کلیدی که باید از خودمون بپرسیم:

  1. آیا نقاط ضعف مربوط به Injectionها در سیستم رو شناسایی و برطرف کردید؟
  2. آیا اطلاعات حساس و مهم رو رمزنگاری کردید؟
  3. آیا دسترسی‌ها رو در سطح Schema تفکیک کردید، یا همچنان با یک یوزر Owner به کل دیتابیس متصل می‌شید؟
  4. آیا ساختار Backup شما به گونه‌ای هست که در صورت نفوذ بتونید داده‌ها رو بازیابی کنید؟
  5. آیا از Backupها نسخه‌ی دوم تهیه و در مکان امن نگهداری می‌کنید؟
  6. آیا روی سرور دیتابیس، فایروال فعال و پیکربندی‌شده دارید؟
  7. آیا آخرین Service Packها و Patchهای امنیتی نصب شده‌اند؟
  8. آیا تنظیمات امنیتی مربوط به Service Accountهای SQL Server به‌درستی رعایت شده؟

🔐 این‌ها تنها بخشی از سوالاتی هستند که باید در روزهای پرریسک امروز بهشون فکر کنیم.

برچسب‌ها: SQL Injection , sql server
محمدحسین فخرآوری ، دوشنبه ۱۴۰۴/۰۴/۰۹ ، 9:47

انتخاب نسخه اس کیو ال مناسب برنامه

برای تصمیم گیری در مورد نسخه SQL Server مناسب برای برنامه‌ی خود، باید به عوامل زیر توجه کنید:
تعداد همزمان کاربران: اگر برنامه‌ی شما توسط تعداد زیادی همزمان کاربر استفاده می‌شود، نسخه SQL Server Express ممکن است محدودیت‌های کاربران همزمان داشته باشد. در این مورد، احتمالاً نیاز به نسخه‌های پیشرفته‌تر SQL Server مانند Standard یا Enterprise دارید.
حجم داده‌ها: برنامه شما به نظر می‌آید که داده‌های معمولی داشته باشد. اما تعداد روزانه فاکتورها و حجم داده‌ها می‌تواند افزایش یابد. اگر حجم داده‌ها به سرعت افزایش پیدا می‌کند، نسخه Express ممکن است به زودی به محدودیت حجم داده برخورد کند. در این صورت، نسخه‌های Standard یا Enterprise با قابلیت‌های مدیریت داده بزرگتر مناسب‌تر هستند.

ادامه نوشته
محمدحسین فخرآوری ، سه شنبه ۱۴۰۳/۰۷/۱۰ ، 8:16

مفهوم Attach و Detach در SQL Server

Attach و Detach در SQL Server دو عمل پرکاربرد در مدیریت دیتابیس هستند که به ترتیب، امکان افزودن داده به دیتابیس‌های مختلف یا حذف داده از آن‌ها را به کاربران می‌دهند. در این مقاله قصد داریم با این دو عملیات در SQL Server بیشتر آشنا شویم و روش اجرای هرکدام را به تفکیک بررسی کنیم. همچنین به استفاده‌های متداول از این دو عمل و تفاوت بین آن‌ها می‌پردازیم. اگر می‌خواهید دو عمل حذف و اضافه داده‌ها را در SQL Server به‌سادگی انجام دهید، مطالعه این مقاله را از دست ندهید.

ادامه نوشته
برچسب‌ها: Attach , Detach , SQL Server
محمدحسین فخرآوری ، سه شنبه ۱۴۰۳/۰۳/۲۹ ، 7:13

انتخاب نسخه اس کیو ال مناسب برنامه

برای تصمیم گیری در مورد نسخه SQL Server مناسب برای برنامه‌ی خود، باید به عوامل زیر توجه کنید:
تعداد همزمان کاربران: اگر برنامه‌ی شما توسط تعداد زیادی همزمان کاربر استفاده می‌شود، نسخه SQL Server Express ممکن است محدودیت‌های کاربران همزمان داشته باشد. در این مورد، احتمالاً نیاز به نسخه‌های پیشرفته‌تر SQL Server مانند Standard یا Enterprise دارید.
حجم داده‌ها: برنامه شما به نظر می‌آید که داده‌های معمولی داشته باشد. اما تعداد روزانه فاکتورها و حجم داده‌ها می‌تواند افزایش یابد. اگر حجم داده‌ها به سرعت افزایش پیدا می‌کند، نسخه Express ممکن است به زودی به محدودیت حجم داده برخورد کند. در این صورت، نسخه‌های Standard یا Enterprise با قابلیت‌های مدیریت داده بزرگتر مناسب‌تر هستند.

ادامه نوشته
محمدحسین فخرآوری ، شنبه ۱۴۰۳/۰۳/۱۲ ، 7:52

اختلاف بین 2 ساعت در SQL SERVER

DECLARE @MyTable TABLE(Enters TIME(0), LeftTime TIME(0));

INSERT @MyTable VALUES('07:00:00', '15:45:00')

SELECT *, FORMAT(CAST(DATEDIFF(HOUR, Enters, LeftTime) AS int),'00')+':'+FORMAT(CAST(DATEDIFF(MINUTE, Enters, LeftTime)% 60 AS INT),'00') AS JobTime FROM @MyTable;

http://www.uplooder.net

محمدحسین فخرآوری ، چهارشنبه ۱۴۰۲/۱۰/۲۰ ، 7:36

مشکل Auto Identity Column در SQL Server و راه‌حل

چنانچه سرویس SQL را در MS SQL server ریست نمایید، VALUE (مقدار)هایی که Identity SPECIFICATION آن‌ها برابر YES باشد جهش پیدا می‌کنند. این افزایش مقدار، از نقطه نظر برنامه نویسی، به خصوص در زمانی که قصد نمایش داده‌ها به کاربر وجود دارد، قابل قبول نیست.

برای رفع این مشکل SQL SERVER CONFIGURATION MANAGER را باز کنید، از سمت چپ پنجره بر روی عبارت SQL services کلیک نمایید، از سمت راست همان پنجره بر روی عبارت «(SQL Server (MSSQLSERVER» کلیک راست کنید، سپس بر روی گزینه‌ی Properties کلیک کنید تا پنجره آن باز شود.

در بخش Startup Parameters مقدار –t272 را اضافه نمایید.

محمدحسین فخرآوری ، دوشنبه ۱۴۰۱/۱۰/۱۲ ، 7:34

وضعیت بانک‌های اطلاعاتی در SQL Server

مقدمه

در SQL Server بانک‌های اطلاعاتی می‌توانند وضعیت‌های مختلفی داشته باشند ما در این مقاله سعی خواهیم کرد وضعیت بانک‌های اطلاعاتی را بررسی کنیم. برای مشاهده وضعیت بانک‌های اطلاعاتی می‌توانید از روش‌های زیر استفاده کنید.

۱- استفاده از Management Studio

اگر در SSMS کلید F8 را فشار دهید Object Explorer برای شما نمایش داده می‌شود. شما می‌توانید اغلب وضعیت‌های مربوط به بانک اطلاعاتی را در آن مشاهده کنید.

 

 

ادامه نوشته
محمدحسین فخرآوری ، چهارشنبه ۱۳۹۷/۰۵/۱۰ ، 7:42

Execution Plan چیست؟

 بدون تردید، execution plan یکی از مهمترین ابزارهای داخلی sql server در جهت کشف مشکلات کارایی و کندی سرعت اجرای کوئری ها است. برای هر فرد برنامه نویس و ادمین دیتابیس، آشنایی با execution plan از مهارت های کاربردی می باشد. اگر بخواهیم بطور خلاصه کاربرد execution plan را بدانیم، مواقعی که سرعت اجرای یک کوئری قابل قبول نیست و در اصطلاح، کوئری کند اجرا می شود، قبل از اینکه به زیاد بودن تعداد رکوردهای جدول و یا ضعیف بودن منابع سرور شک کنیم و دلیل اجرای کند و زیاد بودن میزان I/O یک کوئری رو با حدس و گمان برطرف کنیم، بهترین روش این است که از execution plan کمک بگیریم و دقیقا قسمتی از کوئری که باعث ایجاد مشکل شده رو کشف و حل نماییم.
مطالبی که در این آموزش مطالعه خواهید کرد به عنوان یک پیش نیاز برای تعداد زیادی از آموزش های آتی در زمینه بهینه سازی کوئری ها (performance tuning) و همچنین آموزش هایی مانند معرفی عملگرها، نحوه خواندن execution plan و ... خواهد بود. در ادامه ابتدا بصورت مفهومی با execution plan آشنا خواهیم شد و تعدادی از مهمترین کاربردهای آن را اشاره می کنیم.

ادامه نوشته
محمدحسین فخرآوری ، چهارشنبه ۱۳۹۶/۰۸/۱۰ ، 10:35