RSS



منسوخ شده‌ها در نگارش‌هاي جديد SQL server

با تكامل SQL server و بهبودهاي حاصل شده، يك سري از ويژگي‌هاي موجود صرفا جهت حفظ سازگاري با نگارش‌هاي قبلي ارائه مي‌شوند. ليست كامل آنها را در آدرس زير مي‌توان مشاهده نمود:

msdn.microsoft.com/en-us/library/ms143729.aspx

ليست بلند بالايي است. اما در يك محيط كاري، نوع‌هاي زير از ساير موارد ذكر شده بيشتر مورد استفاده قرار مي‌گيرند:
منسوخ شده‌ها: text ، ntext و image . جايگزين‌ها : varchar ، nvarchar و varbinary از نوع max دار

عموما علت استفاده از نوع‌هاي text يا ntext (نمونه يونيكد text) ، مشخص نبودن تعداد كاراكتري است كه كاربر قرار است وارد كند. براي مثال يك سايت خبري ايجاد كرده‌ايد و طول محتواي خبر ثبت شده در بانك اطلاعاتي از يك خبر به خبر ديگر كاملا متفاوت است. در اينجا براي حل اين مشكل از نوع‌هاي text يا ntext استفاده مي‌شد (اين مورد تا اس‌كيوال سرور 2000 توصيه مي‌شود).
varchar max تا 2,147,483,648 كاراكتر را مي‌تواند ذخيره كند، يعني تا 2 GB و nvarchar max تا نصف اين مقدار را. در اس كيوال سرور 2000 محدوديت 8000 كاراكتر براي نوع vrachar وجود داشت (و نوع nvrachar تا 4000 كاراكتر).

مزاياي استفاده از نوع‌هاي max دار (از اس كيوال سرور 2005 به بعد) :

* بهبود كارآيي كوئري‌هاي جستجو نسبت به نوع‌هاي Text‌
* اگر مطلب تشخيص كمبود ايندكس‌ها را دنبال كرده باشيد، در آنجا ذكر شد كه در قسمت included columns نمي‌توان از text و ntext‌ استفاده كرد اما نوع‌هاي max دار متني مجازند.
* امكان استفاده از فيلدهاي max دار براي مرتب سازي كوئري مجاز است. (به شخصه با اين مورد زياد برخورد داشتم. براي مثال امكان سورت كردن يك گريد را در ASP.Net فراهم كرده‌ايد و كاربر با كليك بر روي سر ستون فيلدي از نوع ntext با يك خطا متوقف خواهد شد)
* امكان استفاده از نوع‌هاي Text به‌عنوان متغير در رويه‌هاي ذخيره شده يا توابع T-SQL مهيا نيست اما اين محدوديت در نوع‌هاي max دار برطرف شده است.
* نوع‌هاي text را در توابع REPLACE ، CHARINDEX و SUBSTRINGنمي‌توان بكار برد (برخلاف نوع‌هاي متني max دار).

بعد از اين توضيحات شايد علاقمند شده باشيد كه نوع‌هاي فيلدهاي قديمي را به نوع‌هاي جديد تبديل كنيد (مراجعه به management studio ، تغيير نوع فيلد و كليك بر روي دكمه ذخيره در نوار ابزار آن). اگر تعداد ركوردها بالا باشد، بدون شك با خطاي زير متوقف خواهيد شد:


Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.


براي حل اين مشكل مي‌توان مقدار پيش فرض timeout را مطابق تصوير زير تغيير داد (منوي tools گزينه options) :

بعد از اين تغيير به سادگي مي‌توان عمليات ارتقاء را بدون نگراني از بروز خطاي فوق انجام داد.

منبع : http://vahidnasiri.blogspot.com
 

تاريخ : جمعه 22 آذر 1387   ساعت : 9:12:25 PM    نويسنده : مهرداد قاسمي | نظرات




منوي اصلي

معرفی تصویری شرکت  


آموزش پروژه ای C#.Net



شرکت ساینا مبتکر شیوه نوین آموزش تحت پروژه برگزار می کند

C#,ASP.Net,ADO.Net,SQL Server
66494685-66405702 : تلفن

لینک روزانه


 اولین وسایل الکترونیکی ساخته شده در دنیا (555)
 Dropbox با ۲۵ میلیون کاربر و دویست میلیون اشتراک فایل روزانه (756)
 امکان جدید گوگل : استفاده از تصاویر اختصاصی در ساخت تم جی میل (697)
 مجموعه طراحی های استاد مرتضی کاتوزیان (1036)
 خلاقیت در طراحی سی دی (1089)
  آشنایی با ۲۲ برنامه ضروری تحت ویندوز برای طراحان وب  (1482)
 آموزش دکمه های جهانی برای وب سایت شما در فتوشاپ  (1300)
 ارسال فایل بدون اینترنت  (1188)
 25 ترفند حرفه ای فتوشاپ (1138)
 چت رایگان با ایرانسل (1429)
  ادامه آرشيو لينك روزانه «

پربازدیدترین مطالب


آرشیو موضوعی


آرشیو ماهانه


لینک دوستان

     CodeProject
     CoderSource
     w3schools
     مرجع برنامه نویسی AVR


جستجو در سایت