<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مهدی رحمان زاده</title>
        <link>https://virgool.io/feed/@mehdirahmanzadeh</link>
        <description>ادمین دیتابیس SQL Server</description>
        <language>fa</language>
        <pubDate>2026-06-08 08:00:59</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1074851/avatar/aMMMJn.jpeg?height=120&amp;width=120</url>
            <title>مهدی رحمان زاده</title>
            <link>https://virgool.io/@mehdirahmanzadeh</link>
        </image>

                    <item>
                <title>فشرده سازی اطلاعات در SQL Server</title>
                <link>https://virgool.io/@mehdirahmanzadeh/%D9%81%D8%B4%D8%B1%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D8%B1-sql-server-gzbemnzbhpfc</link>
                <description>SQL Server Data Compressionفشرده سازی اطلاعات در SQL Serverیکی از مهم ترین چالش های اکثر مدیران پایگاه داده رشد زیاد داده ها و حجم کل دیتابیس می باشد که به تبع آن این موضوع باعث کند شدن اجرای کوئری های ارسال شده توسط برنامه نویسان بر روی جداول می شود . به همین دلیل می بایست با روش هایی جهت افزایش حجم بسیار بالای دیتا جلوگیری کرد .فشرده سازی اطلاعات در SQL SERVERبا استفاده از عملیات فشرده سازی اطلاعات یا Data Compression می توان دیتای پایگاه داده ها را به صورت فشرده با حجم کمتر نگهداری کرد.عملیات فشرده سازی بر روی موارد موجود در زیر قابل اعمال شده می باشد :جدول هایی که به صورت HEAP می باشند .ایندکس هایی که Clustered می باشند .آیندکس هایی که NonClustered می باشند .بر روی Index View هازمانی که از سمت Application دیتای خاصی درخواست می شود ، داده های فشرده شده مورد نظر به حافظع Cache انتقال داده می شود ، بعد از این فرآیند CPU کار Uncompressed کردن دیتا را انجام می دهد ، البته این فرآیند برای Cpu هزینه زیادی ندارد .فشرده سازی اطلاعات در SqlServer به دو روش زیر انجام می شود :فشرده سازی در سطح ردیف و یا (Row Data Compression)فشرده سازی در سطح صفحات و یا (Page Data Compression)1 - فشرده سازی در سطح رکورد (Row Data Compression)این مدل فشرده سازی در دو مرحله زیر انجام می شود :حجم Meta Data هر رکورد در ابتدا به حداقل می رسد(منظور از متا دیتا اطلاعاتی مانند آفست ، طول و اطلاعات سطر و ستون ها می باشد) .در ادامه فیلد ها و داده های با طول ثابت به داده های با طول متغییر تبدیل می شود . مثل : VarCharبرای درک بهتر این مدل فشرده سازی به مثال زیر دقت کنید :ساخت جدولی با قابلیت فشرده سازی رکورد ، روی گزینه New Query در SqlServer کلیک کرده و اسکریپت زیر را وارد نمایید .--SQLDBA.IR وبسایتCREATE TABLE TblCompress(id INT IDENTITY (1,1) PRIMARY KEY , Name VARCHAR(100))WITH (DATA_COMPRESSION = ROW)در اسکریپت بالا مشاهده می شود که جدولی با نام TblCompress ایجاد کردیم که اطلاعات را به صورت فشرده در سطح رکورد دارد.و در اسکریپت زیر جدولی که از قبل موجود بوده را به جدولی با خاصیت فشرده سازی تبدیل میکنیم :Alter TABLE PageComp REBUILD WITH(DATA_COMPRESSION=Row );2 - فشرده سازی در سطح صفحات و یا (Page Data Compression)دومین روش فشرده سازی اطلاعات در سطح پیج (Page) بوده که این روش قوی تر و بهینه تر از روش فشرده سازی ردیف می باشد .در این مدل اطلاعات مشترک در سطر یک صفحه مشترکا مورد استفاده قرار میگیرد ، تکنولوژی موجود در این روش در زیر آمده است :روش قبلی (Row Compression) که در بالاتر گفته شد نیز در این روش بکار برده شده است .PreFix Compression :  در هر صفحه به ازای هر ستون موجود PreFix های تکراری یافت شده و در Header مختص فشرده سازی ذخیره می شود . (موقعیت این هدر بعد از هدر اصلی Page می باشد) و در هر قسمتی که به این PreFix اشاره شده باشد عدد مختص جهت شناسایی شدن آن ها نسبت داده می شود .Dictionary Compression : در این روش مقدار های تکراری موجود در یک Page پیدا شده و در Header مختص فشرده سازی ذخیره می شود . در روش قبلی فقط در یک ستون جستجو می شود ولی در این روش در کل Page اعمال می شود .در ادامه جدولی جدید برای فعال سازی این روش می سازیم:CREATE TABLE TblCompress(id INT IDENTITY (1,1) PRIMARY KEY , Name VARCHAR(100),Email VARCHAR(100))WITH (DATA_COMPRESSION = Page)و برای تغییر خاصیت جداول موجود برای فشرده سازی از اسکریپت زیر استفاده میکنیم :Alter TABLE PageComp REBUILD WITH(DATA_COMPRESSION=Row );باید به این نکته نیز توجه کرد که در این روش فقط دیتای جداول و ایندکس های کلاستر فشرده خواهد شد و این فرآیند بر روی ایندکس های NonClustered تاثیری نخواهد داشت .ALTER INDEX Index_name ON DataBase_name.Table_name    REBUILD WITH(DATA_COMPRESSION=PAGE)جهت فشرده سازی همه ی ایندکس های یک جدول خاص از اسکریپت زیر استفاده کنید :ALTER INDEX ALL ON dbo.TestCompress    REBUILD WITH(DATA_COMPRESSION=PAGE)نکته مهمی که در بحث فشرده سازی اطلاعات وجود دارد این است که ما قبل از فشرده سازی اطلاعات می بایست دیتای خود را بررسی کرده و بعد از اطمینان از حصول نتیجه رضایت بخش فرآیند فشرده سازی را انجام دهیم ، به طور مثال فشرده سازی بر روی دیتای متنی با درصد خیلی بالاتری انجام می شود و همچنین این نکته رو باید در نظر داشت که این فرآیند بر روی ایندکس ها و جداول تراکنشی با Read و Write بالا مناسب نمی باشد .برای بررسی میزان فشرده سازی اطلاعات قبل از انجام میتوان از رویه های ذخیره شده زیر نیز استفاده کرد تا بدون فشرده سازی واقعی از مقدار فشرده سازی قابل انجام مطلع شد .با دو پراسیجر زیر می توان این میزان را بررسی کرد :-- نمایش میزان فضای برگشتی بعد از عملیات فشرده سازی صفحاتEXEC sp_estimate_data_compression_savings &#x27;schemaname&#x27;, &#x27;TableName&#x27;, NULL, NULL, &#x27;PAGE&#x27;;-- نمایش میزان فضای برگشتی بعد از عملیات فشرده سازی سطرهاEXEC sp_estimate_data_compression_savings &#x27;schemaname&#x27;, &#x27;TableName&#x27;, NULL, NULL, &#x27;ROW&#x27;;برای بررسی میزان Read و write ایندکس ها از اسکریپت زیر استفاده کنید :--SQLDBA.IR وبسایتSELECT objectname = OBJECT_NAME(s.object_id),      indexname = i.name,      i.index_id,      reads = range_scan_count + singleton_lookup_count,      &#x27;leaf_writes&#x27; = leaf_insert_count + leaf_update_count + leaf_delete_count,      &#x27;leaf_page_splits&#x27; = leaf_allocation_count,      &#x27;nonleaf_writes&#x27; = nonleaf_insert_count + nonleaf_update_count +      nonleaf_delete_count,      &#x27;nonleaf_page_splits&#x27; = nonleaf_allocation_countFROM   sys.dm_db_index_operational_stats (DB_ID(), NULL, NULL, NULL) AS s      INNER JOIN sys.indexes AS i           ON  i.object_id = s.object_idWHERE  OBJECTPROPERTY(s.object_id, &#x27;IsUserTable&#x27;) = 1      AND i.index_id = s.index_idORDER BY      leaf_writes DESC,      nonleaf_writes DESCامیدوارم این مقاله برای شما مفید واقع شود .در لینک زیر می توانید مقاله متناظر این مطلب در وب سایت مایکروسافت را مشاهده کنید .data compression : Strategy T capacity Planing and Best Practcesنمایش این مطلب در وبسایت SQLDBA.IR</description>
                <category>مهدی رحمان زاده</category>
                <author>مهدی رحمان زاده</author>
                <pubDate>Tue, 26 Jul 2022 14:29:45 +0430</pubDate>
            </item>
                    <item>
                <title>مایکروسافت آژور چیست ؟</title>
                <link>https://virgool.io/@mehdirahmanzadeh/%D9%85%D8%A7%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%D8%A7%D9%81%D8%AA-%D8%A2%DA%98%D9%88%D8%B1-%DA%86%DB%8C%D8%B3%D8%AA-kjtnixsnmzfb</link>
                <description>در این مقاله قصد داریم به صورت اجمالی به معرفی پلت فرم آژور مایکروسافت بپردازیم .یکی از پلت فرم های رایانش ابری پلت فرم شرکت مایکروسافت یعنی سرویس Azure است ، سرویس آژور گستره وسیعی از خدمات ابری شامل ذخیره سازی ، تجزیه تحلیل ، محاسباتی ، و شبکه که تعداد این سرویس ها به بیش از 600 سرویس در پنل آژور است ، این سرویس در سال 2008 معرفی شد و در سال 2014 اسم این سرویس از ویندوز آژور به مایکروسافت Azure تغییر پیدا کرد و توانست مشتریان بسیار زیادی در سراسر دنیا بدست بیاورد . تیم SLA مایکروسافت که پشتیبان این سرویس می باشند ادعای پایداری دائمی و UP time با درصد 99.95 را دارند .این پلت فرم نیز مانند دیگر سرویس های کلاد مثل AWS شرکت آمازون و Google Cloud Platform شامل تعداد زیادی ابزار بسیار جامع و پرقدرت می باشد . بر اساس گزارش وب سایت STATISTA سرویس های ابری آمازون AWS با 180 میلیارد دلار ارزش 33 درصد از سهم بازار را در زمینه پلت فرم های ابری به خود اختصاص داده است .تفاوت اصلی سرویس آژور با دیگر سرویس ها یکپارچه سازی این پلت فرم های دیگر مایکروسافت مثل آفیس و همچنین ایجاد زیر ساخت های توسعه ای برای برنامه نویسان است . آژور تا هم اکنون در 54 منطقه و 140 کشور جهان دیتاسنتر هایی برای سرویس دهی به مشتریان داشته و مشتریان می توانند با توجه به موقعیت مکانی خود جهت دریافت بهترین سرویس اقدام کنند .لوکیشن دیتاسنتر های مایکروسافت آژوراگر از مابقی سرویس های مایکروسافت استفاده کرده باشید به راحتی با این سرویس تقریبا پیچیده که البته بسیار کاربر پسند نیز می باشد آشنا خواهید شد .معرفی پلت فرم آژورنحوه محاسبه هزینه های مایکروسافت آژورهزینه پرداختی این سرویس به مایکروسافت به صورت Pay-as-you-go می باشد یعنی به هر میزانی که شما از منابع سرور های مایکروسافت سرویس گرفتید به همان اندازه صورتحساب دریافت می کنید .قتی اشتراک آژور را خریداری می کنید دسترسی کلیه خدمات موجود در پرتال برای شما قابل مشاهده است . مشترکین می توانند از خدمات و سرویس ها آژور برای ارائه خدمات مبتنی برای فضای ابری مثل دیتابیس ها و ماشین های مجازی استفاده کنند .تعدادی شرکت third party نرم افزار را از طریق آژور در دسترس قرار می دهند که البته این موارد از طریق پرتال آژور هم در دسترس هستند ، که شامل هزینه های استفاده از منابع و زیرساخت و هزینه استفاده از برنامه می باشد که برنامه های شخص ثالث نسبت به مایکروسافت بسیار متفاوت می باشند .5 پلن مایکروسافت برای آژور جهت پشتیبانی مشتریپلن پایهپلن توسعه دهندهپلن استانداردپلن Professonal Directپلن Premierپلن های پشتیبانی مشتری در دامنه و قیمت با یکدیگر تفاوت دارند ، پلن های پایه ای برای همه ی اکانت ها آژور در دسترس هستند ولی Microsoft برای مابقی خدمات پشتیبانی برنامه ای هزینه جداگانه دریافت می کند ، هزینه سرویس پشتیبانی توسعه دهنده تا این لحظه 29 دلار در هم ماه می باشد ، اختلاف قیمت پشتیبانی استاندارد و professional Direct بسیار زیاده می باشد ، پشتیبانی پلن استاندارد 100 دلار در ماه بوده ولی پلن حرفه ای 1000 دلار در ماه می باشد ، نکته قابل توجه پلن Premier بوده که مایکروسافت هیچگاه قیمت آن را اعلام نکرده است .کاربرد های مایکروسافت آژور و نحوه استفاده از آنسرویس های آژور شامل موارد زیاد و خدمات متنوعی می باشد که یکی از رایج ترین این سرویس ها ماشین مجازی می باشد ، میزبانی سرورهای DNS می توانند از این منابع محاسباتی ابری استفاده کنند .سرویس های مایکروسافت آژور می توانند برای میزبانی دیتابیس ها بستر بسیار مناسبی باشند چون آپ تایم بسیار بالایی دارند ، مایکروسافت جهت نگهداشت و میزبانی دیتابیس های رابطه ای سرور های Azure SQL را ارائه می دهد ،همچنین برای دیتابیس های غیر رابطه ای مثل No SQL نیز سرویس های مرتبطی ارائه داده است .علاوه بر این سرویس ها، مایکروسافت سرویس های پشتیبان گیری و نگهداری و بازگردانی اطلاعات را نیز ارائه می دهد ، بسیاری از شرکت های بزرگ از فضای ارائه شده آژور برای نگهداشت و بایگانی اطلاعات خود استفاده میکنند .سرویس های Azure و محصولات آندر این قسمت مهم ترین سرویس های آژور را معرفی می کنیم .سرویس دیتابیس : خدمات نگهداشت پایگاه داده در آژور با نام DBaaS شناخته می شود که خدماتی برای SQL و NoSql فراهم می کند و همچنین برای سایر نمونه های پایگاه داده مثل Azure database در این سرویس موجود هستند یکپارچه سازی دیتابیس ها و حافظه پنهان در این خدمات وجود دارند.کانتینر (Container): پلت فرم های Kubernetes و Docker کانتینر های خود را در Cloud Azure مدیریت ، ثبت و ایجاد می کنند .سرویس محاسباتی :  مدیریت و مستقر کردن ماشین های مجازی ، Container ها  , تسک های دسته جمعی را فراهم کرده و امکان دسترسی از راه دور را می دهد . بعد از اینکه منابع و خدمات این سرویس را راه اندازی کردیم می توان بسته به نیاز با آدرس IP های عمومی یا خصوصی پیکربندی شده و قابل دسترسی باشد .سرویس موبایل : سرویس های ناتیفیکیشن موبایل، برنامه های مبتنی بر سرویس های Cloud ، back-end service support  ،ابزار های رابط API برنامه ها و ...سرویس های وب : سرویس های وب مبتنی بر آژور شامل نمایش گزارش های و اعلان های تحت وب ، Content delivery ، پشتیبانی و مدیریت API ها , ... می شود .فضای ذخیره سازی CLOUD :  آرشیو دیتای ساختار یافته و بدون ساختار ، ذخیره سازی دائمی دیتای سازمان ها ، پشتیبانی از پروژه های کلان داده ، دسترسی به داده های ذخیره شده در محیط وب ، ایجاد data lake ، مدیریت و کنترل محتوای دیسک و ...بهترین گزینه برای راه اندازی CDN ها : سرویس های ابری مایکروسافت برای راه اندازی CDN یا به اختصار شبکه ای برای تحویل رسانه و محتوای تحت وب یکی از بهترین بستر ها می باشند و از سرویس های زیر پشتیبانی می کنند : ON-Demand Streaming ، Azure Information Protection ،رمزگذاری اطلاعات ، پخش مولتی مدیا و رسانه ها با سرعت بهتر و ...سرویس های تجزیه و تحلیل : خدمات تجزیه تحلیل شامل جریان اینترنت اشیا و هوش تجاری ، Big Data , Machine Learning , Data Lake , Real Time Log Analyze ,Data Catalog ,شبکه سازی : میزبانی DNS ها ، کنترل و مدیریت ترافیک ، VPN Gate and Connection ، Network Security ، virtual network ، امنیت شبکه ها در برابر حملات DDoS و ...سرویس های Identity : یکی از مهم ترین مسائل در سرویس های ابری آژور اطمینان از برقراری دسترسی کاربران مجاز به خدمات ارائه شده و هدف آن حفاظت از اطلاعات حساس مهمان ها با استفاده از کلید های ابری است .آژور با استفاده از احراز هویت چند مرحله ای یا MFA به پشتیبانی از Azure active directory میپردازد .سرویس اینترنت اشیاء : نظارت ، پشتیبانی ، اعلان ، تجزیه تحلیل و نگهداری اطلاعات ارسالی از حسگر ها ، دستگاه های ضبط اطلاعاتی و نظارتی توسط این سرویس انجام می شود .سرویس های DevOps :  این سرویس جهت تسهیل تسک ها و فرآیند های تیم های توسعه نرم افزار DevOps بر مبانی ویژوال استودیو خدمات ارائه می دهد .سرویس های توسعه : این سرویس مشابه سرویس سورس کنترل ویژوال استودیو بوده که میزبانی برای سورس کد های برنامه نویسان است و آژور از تعداد بسیار زیادی از زبان های برنامه نویسی از جمله javaScript ، dotnet ، NodeJs ، پایتون و ... پشتیبانی میکند .ابزار های این سرویس شامل SDK ها و بلاک چین نیز می شوند .سرویس های امنیتی : ابزار های این سرویس جهت افزایش امنیت اطلاعات حساس و رمزنگار آن  برای شناسایی به اتک های امنیتی و تهدیدات مورد استفاده قرار میگیرد .سرویس هوش مصنوعی (AI) :  در این سرویس خدمات گسترده ای را در اختیار توسعه دهندگان قرار می دهد تا بتوانند به توسعه هوش مصنوعی و برنامه های محاسبات بپردازند .سرویس بلاک چین : سرویس های Block Chain در بستر آژور به راحتی می توانند به شبکه اصلی بلاک چین متصل شوند .دیتابیس ابریسرویس ابری چیست ؟سرویس و یا محاسبات ابری فضایی در بستر سرویس دهنده ابری ( مثل آژور ) بوده که از طریق اینترنت به راحتی می توان به آن دسترسی پیدا کرده و بدون نیاز به خرید سخت افزار و تجهیزات می توان بر روی کلاد ذخیره سازی ، اجرا ، محاسبات و ... را انجام داد . قطعا بر روی موبایل ها و لپ تاپ های خود بر روی اکانت مایکروسافت یا گوگل سرویس های OnDrive و Google Drive را برای نگهداری فایل های مورد نیاز خود استفاده کرده اید . این فایل ها بر روی سرور های این دو شرکت ذخیره شده و از طریق اینترنت به آنها دسترسی پیدا کرده اید . و قطعا علت این کار هم نبود فضای کافی ذخیره سازی یا در دسترس بودن همیشگی فایل های شما در هر زمان و مکانی می باشد . و قطعا با این کار دیگر شما نیازی به خرید و تهیه سخت افزار ذخیره سازی مثل هارد دیسک یا فلش ندارید ، خب این یک مورد کوچک از استفاده از سرویس های ابری مایکروسافت می باشد .روش استفاده از سرویس آژورهمه ی ما با استفاده از اکانت مایکروسافت خود می توانیم به بیش از 40 عدد از خدمات آژور به صورت دائمی دسترسی داشته باشیم ، بسیاری از سرویس های آژور نیز به مدت 12 ماه رایگان بوده و بعد از این مدت بر حسب نیاز و خدمات دریافتی خود پلن خدماتی خود را انتخاب کرده و از سرویس ها استفاده کنند ، مایکروسافت جهت تست و آزمایش سرویس ها 200 دلار در اختیار کاربران گذاشته تا به مدت محدود یک ماه بدون محدودیت از همه سرویس ها استفاده کند . برای مطالعه مقالات بیشتر در زمینه SQL SERVER به اینجا مراجعه کنید .امیدوارم مطالعه این مقاله برای شما مفید بوده باشد.</description>
                <category>مهدی رحمان زاده</category>
                <author>مهدی رحمان زاده</author>
                <pubDate>Tue, 26 Jul 2022 12:14:02 +0430</pubDate>
            </item>
            </channel>
</rss>