مزیت‌های استفاده از رویه‌های ذخیره شده؛ واقعیت یا توهم؟!
متن زیر یک سری نکات و یا شاید توهماتی را مطرح می‌کند که در مورد رویه‌های ذخیره شده در اس کیوال سرور رایج هستند.1- رویه‌های ذخیره شده در مقابل SQL Injection مقاوم هستند. کوئری‌های Ad hoc همیشه این آسیب پذیری را به همراه دارند.نادرست است! رویه‌های ذخیره شده‌ای که رشته‌ها را به صورت پارامتر دریافت کرده و آن‌ها را به صورت یک عبارت sql اجرا می‌کنند، آسیب پذیر هستند. اگر هنگام استفاده از کوئری‌های Ad hoc از پارامترها استفاده شود، در برابر حملات ...
مقایسه حساس به حروف کوچک و بزرگ در SQL Server
چندین روش برای انجام مقایسه حساس به حروف کوچک و بزرگ (case sensitive) در SQL Server وجود دارد که در ادامه آن‌ها را مرور خواهیم کرد:ابتدا جدول موقتی زیر را جهت آزمایشات بعدی در نظر بگیریدCREATE TABLE #tblTest( f1 NVARCHAR(50))INSERT INTO #tblTest (f1) VALUES('Test1')INSERT INTO #tblTest (f1) VALUES('TEST1')الف) استفاده از collation صحیحعموما هنگام نصب اس کیوال سرور از collation غیرحساس به کوچکی و بزرگی حروف استفاده می‌شود و این مورد سبب م ...
بازسازی msdb تخریب شده
حاصل قطع برق و یا یک ری استارت دستی ناصحیح را در نظر بگیرید:Database 'msdb' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information. (Microsoft SQL Server, Error: 926)Msdb از نوع دیتابیس‌های سیستمی است و نمی‌شود مطابق روال متداول دیتابیس‌های SUSPECT شده آن‌را بازیابی کرد. این روش متداول به صورت زیر است:ALTER DATABASE DBName SET EMERGENCYDBCC checkdb('DBname')ALTER DATABASE DBName SET SINGL ...
تهیه بک آپ‌های خودکار از SQL Server Express
SQL Server express edition نگارش مجانی و ساده شده‌ی اس کیوال سرور است. این نگارش مجانی فاقد SQL Server agent برای زمان بندی انجام امور تکراری، برای مثال تهیه بک آپ‌های خودکار است. این مورد در کل ایرادی محسوب نمی‌شود زیرا می‌توان این عملیات را با استفاده از سیستم استاندارد scheduled tasks ویندوز نیز پیاده سازی کرد.برنامه خط فرمان سورس بازی به نام ExpressMaint موجود است که می‌تواند از دیتابیس‌های اس کیوال سرور اکسپرس (و غیر اکسپرس) بک آپ تهی ...
فشرده سازی اطلاعات در SQL server 2008
علاوه بر فشرده سازی خودکار بک آپ‌ها که پیشتر در مورد آن‌ها صحبت شد، اس کیوال سرور 2008 دو نوع فشرده سازی دیگر را نیز پشتیبانی می‌کند:Row Compression :حالت row compression نحوه‌ی ذخیره سازی فیزیکی داده‌ها را تغییر می‌دهد. فعال سازی آن اثرات زیر را خواهد داشت:الف) متادیتای هر رکورد را حداقل می‌کند (منظور از متادیتا اطلاعاتی مانند اطلاعات ستون‌ها، طول و آفست و غیره است)ب) داده‌های عددی و رشته‌هایی با طول ثابت، به صورت اطلاعاتی با طول متغیر ذخ ...
مقایسه رکوردهای دو جدول
گاهی از اوقات یک سری از امکانات جدید در دسترس هستند اما فراموش می‌شوند. برای مثال روش یافتن رکوردهای غیر یکسان دو جدول یکسان. مثلا یک دیتابیس قدیمی دارید دقیقا مشابه دیتابیس کاری فعلی با همان ساختار (ری استور شده از یک بک آپ). اکنون می‌خواهید بدانید در طول این مدت چه رکوردهایی به دیتابیس کاری اضافه شده که در دیتابیس قدیمی ری استور شده موجود نیست و کلا کدام رکوردها با هم متفاوتند. چه باید کرد؟مثال:دو جدول موقتی یکسان زیر را در نظر بگیرید.CR ...
انتقال فایل‌های دیتابیس اس کیوال سرور 2008
روز قبل نیاز بود تا فایل‌های mdf و ldf دیتابیس‌ها جابجا شوند (یک هارد بزرگتر و از این مسایل).برای جابجا کردن این فایل‌ها هم روش معمول detach و سپس attach است. ابتدا روی دیتابیس کلیک راست کرده و detach . حالا فایل‌ها را جابجا می‌کنید و سپس attach . یا می‌شود بک آپ کامل گرفت و بعد ری استور کرد.عموما هم نمی‌توان دیتابیس در حال استفاده را detach‌ کرد. باید دیتابیس ابتدا single user شود و بعد می‌توان این‌کار را انجام داد.تا اینجای کار متداول ا ...
تنظیم درجه سازگاری یک دیتابیس اس کیوال سرور
اس کیوال سرور خود را به 2008 ارتقاء داده‌اید؟ آیا می‌دانید که مجاز هستید از تمامی امکانات جدید آن در دیتابیس‌های موجود خود استفاده کنید یا خیر؟ به همین منظور ابتدا کوئری زیر را اجرا نمائید:Use master;SELECT name, compatibility_level FROM sys.databasesلیست دیتابیس‌های موجود به همراه درجه سازگاری آن‌ها نمایش داده می‌شود. هر کدام که درجه سازگاری مساوی با 100 نداشت یعنی مجاز به استفاده از تمامی امکانات سرور جدید نیست و با آن همانند یک دیتابیس ...
مقایسه نتایج الگوریتم‌های هش کردن اطلاعات در اس کیوال سرور و دات نت
از اس کیوال سرور 2005 به بعد تابع HashBytes نیز به مجموعه توابع قابل استفاده در دستورات T-SQL اس کیوال سرور اضافه شده است که الگوریتم‌های MD2 | MD4 | MD5 | SHA | SHA1 را پشتیبانی می‌کند. برای مثال:DECLARE @str1 VARCHAR(4), @str2 NVARCHAR(4)--متن یونیکد اینجا ناقص ذخیره می‌شودSET @str1 = 'وحید' SET @str2 = N'وحید'SELECT hashbytes('md5', @str1) --C82A7D721AAE517AD76EF1B871BC33CESELECT hashbytes('md5', @str2) --7D883091B80F3CD20B872CADBFDD ...
محدود کردن دسترسی به اس کیوال سرور بر اساس IP
عموما محدود کردن دسترسی بر اساس IP بهتر است بر اساس راه حل‌هایی مانند فایروال، IPSec و یا RRAS IP Filter صورت گیرد که جزو بهینه‌ترین و امن‌ترین راه حل‌های ممکن هستند.در ادامه قصد داریم این محدودیت را با استفاده از امکانات خود اس کیوال سرور انجام دهیم (بلاک کردن کاربران بر اساس IP های غیرمجاز). مواردی که در ادامه ذکر خواهند شد در مورد اس کیوال سرور 2005 ، سرویس پک 2 به بعد و یا اس کیوال سرور 2008 صادق است.اس کیوال سرور این قابلیت را دارد که ...