خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
مجاز کردن ترافیک SQL در فایروال ویندوز
اگردر ویندوزتان SQL Server را کرده اید و Windows Firewall ویندوز هم ON باشد، به طور پیشفرض Windows Firewall اجازه ورود و خروج ترافیک SQL در inbound / outbound را نمی دهد و این ترافیک مسدود است و مثلا نرم افزار کلاینت شما قصد ارتباط با SQL را داشته باشد، این ارتباط میسر نخواهد تا زمانی که یا Firewall را Off کنید و یا آن را به نحوی Customize کنید که ترافیک SQL از نظر فایروال مجاز شناخته شود. بنابراین تصمیم داریم در این پست به شما نشان دهیم که چطور می توان فایروال ویندوز را به گونه ای کانفیگ کردن که Request های SQL مجاز یا Allow شود.
لطفا به Control panel وارد شوید و Applet مربوط به Windows Firewall را انتخاب کنید.
سپس در این پنجره از پانل سمت چپ، لینک Allow a program or feature through Windows Firewall را انتخاب کنید.
بدین ترتیب پنجره allowed programs باز می شود. در این فرم لیستی از تمام برنامه هایی که مجاز به برقراری ارتباط از طریق فایروال ویندوز هستند را مشاهده خواهید کرد که در همین حالت غیرقابل ویرایش و تغییر هستند. برای تغییر Rules دکمه Change Settings را کلیک کنید، بدین ترتیب وضعیت Rule ها از Gray خارج شده و فعال می شوند و اماده تغییر هستند.
از قسمت پایین فرم دکمه Allow another program را برای افزودن به این لیست انتخاب کنید.
در پنجره Add a Program دکمه Browse را کلیک نمایید.
به مسیر نصب SQL Server instance وارد شده و sqlservr.exe را انتتخاب وOpen را کلیک کنید. به عنوان مثال در این سیستم مسیر نصب این است:
مجددا به پنجره Add a Program برخواهید گشت که مشاهده می کنید آیکون SQL به لیست اضافه شده است. سپس دکمه Add را کلیک کنید.
بدین ترتیب SQL هم به لیست Allowed programs های موجود در این ویندوز افزوده می شود و برای این برنامه در این لیست تیکه گزینه های Private و Public را بزنید و در آخر پنجره را ok کنید.
کار در اینجا به اتمام رسیده است ولی از روش Command prompt هم می توانستید هم اینکار را انجام دهید. ابتدا مسیر نصب SQL Server instance در جایی کپی کنید.
سپسCommand prompt را اجرا نمایید و دستور زیر را در آن کپی کنید:
فقط حتما در داخل "" مسیر نصب Sql سیستم خودتان را جایگزین این مسیر کنید.
بدین ترتیب چه از روش اول و چه از طریق CMD توانستید که کلیه پورتهای مربوط به SQL را در Windows firewall مجاز اعلام نمایید.
لطفا به Control panel وارد شوید و Applet مربوط به Windows Firewall را انتخاب کنید.
سپس در این پنجره از پانل سمت چپ، لینک Allow a program or feature through Windows Firewall را انتخاب کنید.
بدین ترتیب پنجره allowed programs باز می شود. در این فرم لیستی از تمام برنامه هایی که مجاز به برقراری ارتباط از طریق فایروال ویندوز هستند را مشاهده خواهید کرد که در همین حالت غیرقابل ویرایش و تغییر هستند. برای تغییر Rules دکمه Change Settings را کلیک کنید، بدین ترتیب وضعیت Rule ها از Gray خارج شده و فعال می شوند و اماده تغییر هستند.
از قسمت پایین فرم دکمه Allow another program را برای افزودن به این لیست انتخاب کنید.
در پنجره Add a Program دکمه Browse را کلیک نمایید.
به مسیر نصب SQL Server instance وارد شده و sqlservr.exe را انتتخاب وOpen را کلیک کنید. به عنوان مثال در این سیستم مسیر نصب این است:
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe
مجددا به پنجره Add a Program برخواهید گشت که مشاهده می کنید آیکون SQL به لیست اضافه شده است. سپس دکمه Add را کلیک کنید.
بدین ترتیب SQL هم به لیست Allowed programs های موجود در این ویندوز افزوده می شود و برای این برنامه در این لیست تیکه گزینه های Private و Public را بزنید و در آخر پنجره را ok کنید.
کار در اینجا به اتمام رسیده است ولی از روش Command prompt هم می توانستید هم اینکار را انجام دهید. ابتدا مسیر نصب SQL Server instance در جایی کپی کنید.
سپسCommand prompt را اجرا نمایید و دستور زیر را در آن کپی کنید:
netsh advfirewall firewall add rule name="SQL Server TCP" protocol=tcp dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe" enable=yes profile=any localip=any localport=any remoteip=any remoteport=any
netsh advfirewall firewall add rule name="SQL Server UDP" protocol=udp dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe" enable=yes profile=any localip=any localport=any remoteip=any remoteport=any
فقط حتما در داخل "" مسیر نصب Sql سیستم خودتان را جایگزین این مسیر کنید.
بدین ترتیب چه از روش اول و چه از طریق CMD توانستید که کلیه پورتهای مربوط به SQL را در Windows firewall مجاز اعلام نمایید.
مطالب مرتبط :
- رفع ارور Fix You’ll Need a New App to Open This Windowsdefender Link
- چگونه This PC را جایگزین Quick Access در File Explorer کنیم؟
- چگونه This PC را در Taskbar ویندوز Pin کنیم؟
حسن ضرابی ۱۳۹۷/۰۵/۲۳
با سلام و خسته نباشید خدمت شمااز سایت خوبتون ممنونم
ببخشید یک سئوال داشتم من از دو تا ویندوز استفاده می کنم که هر کدام یک آی پی دارند بر روی یک ویندوز sql server 2014 نصب هست و سئوال من این هست که وقتی که فایروال ویندوزی که بر روی آن sql server نصب هست On می کنم و آن فایل exe را به فایروال می دهم طبق آمورشی که شما دادید من انجام دادم و بر روی ویندوز دومی می روم و می بینم که ping سرور sql server را ندارم و حتی با برنامه های خاص و سبک که می خواهم به sql server کانکت بشوم به من ارور می دهد چون من مثلا به صورت زیر وصل می شوم :
192.168.1.200sql2014
اول آی پی را وارد می کنم بعد نام instance و به صورت sql server authentication کانکت می شوم
چون windows firewall جلوی Ip را گرفته
ممنون می شوم که منرا راهنمایی کنید
با تشکر از شما
۱۳۹۷/۰۵/۲۳
سلام، ممنونم، یه سوال از خدمتتون دارم، وقتی فایروال رو روی سیستمی که SQL نصب هست Off می کنید برنامه تحت شبکه با SQL از اون یکی کامپیوتر ارتباط میگیره؟آیا TCP/IP مربوط به instance SQL مورد نظر Enable است؟
۱۳۹۷/۰۵/۲۳
من از مدل CMD استفاه می کنم و SQL بنده هم 2014 است منتها در دستور آدرس instance خودم رو جایگزین کردم و در CMD اجراش کردم:netsh advfirewall firewall add rule name="SQL Server TCP" protocol=tcp dir=in action=allow program="C:Program FilesMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQLBinnsqlservr.exe" enable=yes profile=any localip=any localport=any remoteip=any remoteport=any
netsh advfirewall firewall add rule name="SQL Server UDP" protocol=udp dir=in action=allow program="C:Program FilesMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQLBinnsqlservr.exe" enable=yes profile=any localip=any localport=any remoteip=any remoteport=any
قبل از اینکه حتی برای ما کامنت کنم، خودم تستش کردم و جواب داد، ضمن اینکه حتما TCP/IP باید Enable باشد.
لطفا شما هم این رو تست و نتیجه رو اعلام بفرمایید.