خانه SQL Server نکاتی در رابطه با رشته اتصال SQL Server SQL Server امنیت SQL Server نوشته شده توسط: تیم فنی نیک آموز تاریخ انتشار: ۰۶ بهمن ۱۴۰۰ آخرین بروزرسانی: ۲۷ خرداد ۱۴۰۳ زمان مطالعه: 20 دقیقه ۱ (۲) مقدمه این مقاله قصد دارد نکات مفیدی در مورد جزئیات استفاده از رشتههای اتصال SQL ارائه دهد. رشته اتصال در SQL چیست؟ رشته اتصال شامل پارامترهای لازم برای اتصال برنامههای کاربردی به سرور پایگاهداده است. در SQL Server، رشتههای اتصال شامل آدرس سرور، نام پایگاه داده، جزئیات احراز هویت و برخی تنظیمات دیگر برای برقراری ارتباط با سرور پایگاهداده است. نحوه اتصال SQL Server با استفاده از رشته اتصال ما می توانیم از رشته اتصال زیر برای احراز هویت SQL Server استفاده کنیم. در این نوع رشته اتصال، ما نیاز به تنظیم نام کاربری و رمز عبور داریم. Server=ServerName;Database=DatabaseName;UserId=UserName;Password=UserPassword; این نوع استفاده ممکن است باعث کاهش امنیت در برنامه ما شود، بنابراین استفاده از احراز هویت ویندوز میتواند امنیت بیشتری را در برنامههای ما ایجاد کند. رشته اتصال زیر پایگاهداده را با استفاده از احراز هویت ویندوز متصل میکند Server=ServerName;Database=DatabaseName;Trusted_Connection=True; با کمک کد سی شارپ زیر، میتوانیم نحوه استفاده از یکرشته اتصال را در یک برنامه ببینیم. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; namespace TestConnectionString { class Program { static void Main(string[] args) { using (SqlConnection conn = new SqlConnection("Server=localhost;Database=SQLShackDemo;User Id=SuperHero;Password=1pass;")) { conn.Open(); Console.WriteLine("Connection is just opened"); System.Threading.Thread.Sleep(10000); conn.Close(); } } } } ما میتوانیم جزئیات اتصال را با استفاده از View dm_exec_sessions در SQL Server مشاهده کنیم. SELECT session_id ,program_name, last_request_start_time, last_request_end_time, language, date_format ,(select name from sys.databases where database_id =11) as ConnectedDatabase FROM sys.dm_exec_sessions where login_name ='SuperHero' and is_user_process=1 نحوه تغییر زبان در رشته اتصال SQL SQL Server اجازه میدهد تا تنظیمات زبان را برای جلسات تغییر دهید. این گزینه پیامهای سیستم و قالبهای تاریخ در جلسه را تغییر میدهد. میتوانیم با استفاده از ویژگی Language گزینه زبان را در رشته اتصال تغییر دهیم. در رشته اتصال SQL زیر، زبان پیشفرض را به زبان لهستانی تغییر میدهیم. Server=localhost;Database=SQLShackDemo;UserId=SuperHero;Password=1pass;Language=Polish نحوه تغییر نام برنامه در رشته اتصال SQL نام برنامه (Application Name) به شما کمک میکند تا بهراحتی تشخیص دهید کدام برنامه به SQL Server متصل میشود. میتوانیم اسم برنامه را تغییر دهیم یا نامی در رشته اتصال به برنامه بدهیم. Server=localhost;Database=SQLShackDemo;UserId=SuperHero;Password=1pass; Application Name=SuperApp نحوه تغییر نام برنامه در رشته اتصال SQL نام برنامه (Application Name) به شما کمک میکند تا بهراحتی تشخیص دهید کدام برنامه به SQL Server متصل میشود. میتوانیم اسم برنامه را تغییر دهیم یا نامی در رشته اتصال به برنامه بدهیم. Server=localhost;Database=SQLShackDemo;UserId=SuperHero;Password=1pass; Application Name=SuperApp رشته اتصال SQL و ترکیب چند اتصال ایجاد یک اتصال جدید یک کار برای متمرکز ساختن منبع برای موتور SQL است؛ بنابراین، SQL Server از مکانیسم ادغام اتصال برای خلاص شدن از شر این کار پرزحمت استفاده میکند. تنظیمات پیشفرض مخزن اتصال آماده است، بنابراین، برای فعالکردن این گزینه نیازی به تغییر چیزی نیست. با این حال، ما میتوانیم این گزینه را بهآسانی در رشته اتصال تنظیم کنیم. Server=localhost;Database=SQLShackDemo;UserId=SuperHero;Password=1pass;ApplicationName=SuperApp;Workstation ID=SuperNova;Pooling=true مخزن اتصال را میتوان به یک کش اتصال تشبیه کرد زیرا در این مفهوم کار SQL Server بهجای ازبینبردن اتصالاتی که وظایف آنها به پایان رسیده است، ذخیره انواع رشتههای اتصال و انتخاب از میان آنها است. هنگامی که کاربر یک اتصال جدید با یکرشته اتصال منطبق را درخواست میکند، pooler به دنبال یک اتصال موجود در استخر میگردد که با آن رشته اتصال مطابقت دارد. اگر هنگام جستجو در استخر یک اتصال را بر اساس معیارهای منطبق پیدا کند، این اتصال آماده را به این درخواست برمیگرداند. هنگامی که برنامه یک سیگنال برای بستن اتصال ارسال میکند، بهجای بستن اتصال، پیامی به استخر اتصال ارسال میکند. در کد سی شارپ، ۷ اتصال جدید درخواست میکنیم و یک کوئری بسیار ساده را اجرا میکنیم. وقتی این برنامه کنسول را اجرا میکنیم، ۲ استخر اتصال ایجاد میکند. ۳ اتصال اول در یک استخر اتصال قرار میگیرند و ۲ اتصال دوم را در استخر دیگری قرار میگیرند. این عمل را میتوان با استفاده از شمارشگرهای عملکرد ارائهدهنده داده فریمورک دات نت برای SQL Server در PerfMon مشاهده کرد. پارامتر NumberOfActiveConnectionPools تعداد استخرهای اتصال را نشان میدهد و NumberOfPooledConnections نشان میدهد که چند اتصال در این استخرها مدیریت میشود. دلیل تولید دو استخر اتصال مجزا، تفاوت نام اپلیکیشن در رشتههای اتصال است.عدم تشابه رشته اتصالات باعث ایجاد حوضچههای اتصال جداگانه میشود. مانند نامهای مختلف پایگاهداده، انواع احراز هویت، و سایر تفاوتها باعث ایجاد استخرهای اتصال مختلف میشود. حوضچههای اتصال تا زمانی که فرایند فعال به پایان برسد یا از طول عمر اتصال فراتر نباشند، از بین نمیروند. ما میتوانیم طول عمر اتصال را در رشته اتصال تنظیم کنیم و تعیین کنیم که چه مدت یک اتصال در استخر اتصال نگهداشته شود. Server=localhost;Database=SQLShackDemo;UserId=SuperHero;Password=1pass; Application Name=SuperApp;Workstation ID=SuperNova;Pooling=true; Connection Lifetime=100 بهعنوان نمونه در برنامه ما یک اتصال ششم و هفتم در انتهای کد داریم که درخواست اتصال آنها از استخر اتصال داده میشود. بهمنظور نظارت بر همه این فرایندهای پیچیده، میتوانیم از یک رویداد توسعهیافته (Store Procedure) استفاده کنیم. ما میتوانیم رویدادهای ورود/خروج را ضبط کنیم و همچنین رویداد rpc_completed را نیز دریافت میکنیم. پس از شروع برنامه، صفحه (Store Procedure) بهصورت زیر نمایش داده میشود: همانطور که گفتیم ۵ اتصال اول یک اتصال جدید ایجاد میکند و به دلیل نامهای مختلف برنامه، سرور SQL دو استخر اتصال ایجاد میکند. هنگامی که اتصال ششم درخواست اتصال میکند، این اتصال از اولین مخزن اتصال داده میشود زیرا رشتههای اتصال آنها مشابه است. همچنین این مورد برای اتصال هفتم معتبر است. اتصال هفتم از استخر اتصال دوم داده میشود. اگر مقدار is_cached درست باشد، به این معنی است که اتصال از مخزن اتصال داده شده است و این مقدار برای اتصال ششم و هفتم صحیح به نظر میرسد. میبینیم که رویه sp_reset_connection بعد از رویداد خروج اجرا میشود. به روش خروج از سیستم و ورود به سیستم event گفته میشود زیرا وضعیت اتصال را بازیابی میکند. نتیجه گیری در این مقاله، ما برخی از جزئیات را در مورد رشته اتصال SQL بررسی کردهایم. همانطور که آموختیم، تنظیمات مختلف رشتههای اتصال میتوانند رفتارهای اتصال را تغییر دهند. منبع https://www.sqlshack.com/sql-connection-strings-tips چه رتبه ای میدهید؟ میانگین ۱ / ۵. از مجموع ۲ اولین نفر باش دانلود مقاله نکاتی در رابطه با رشته اتصال SQL Server فرمت PDF 6 صفحه حجم 1 مگابایت دانلود مقاله معرفی نویسنده مقالات 377 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده تیم فنی نیک آموز معرفی محصول مسعود طاهری دوره آموزش امنیت در SQL Server 2022 7.000.000 تومان 4.900.000 تومان مقالات مرتبط ۱۹ شهریور SQL Server علت Attach نشدن دیتابیس در SQL Server و راه حل آن تیم فنی نیک آموز ۱۱ شهریور SQL Server پروتکل های SSL و TLS چه تفاوت هایی دارند؟ تیم فنی نیک آموز ۰۸ شهریور SQL Server اهمیت مانیتورینگ در SQL Server چیست؟ | تمام آنچه که باید از مانیتورینگ بدانید تیم فنی نیک آموز ۰۳ شهریور SQL Server اعمال گواهینامه SSL روی SQL Server تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ