ورود

View Full Version : تغییر زبان و تنظیمات collation بعد از نصب sql server 2008



connector
جمعه 09 دی 1390, 12:57 عصر
سلام
من روی سرورم sql server 2008 راه اندازی شده. ولی نیاز دارم که در collation زبان را به Persian_100_CI_AS تغییر دهم. این تنظیمات رو در هنگام نصب در configuration قرار داره. ولی بعد از اینکه sql server 2008 نصب شده نمی دونم که از کجا میشه تغییرش داد. دوستان لطف می کنند به من بگین که از کجا میشه تغییر بدم؟

in_chand_nafar
جمعه 09 دی 1390, 13:32 عصر
دوست عزيز اين Collation مربوط به Instance‌مي باشد (و شايد تغيير اون فرقي به حال شما نكنه...اگر بيشتر توضيح دهيد راهنمايي خوبي مي توانيم بكنيم)
در ضمن پس از نصب Collation مربوط به Instance را نمي توانيد عوض كنيد و بايد در Command Prompt‌اين كار را با دستورات زير انجام دهيد
E:\setup.exe /Quiet /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=x \Administrator /SAPWD=x /SQLCOLLATION=SQL_Latin1_General_CP850_BIN2
توي مثال بالا محل setup.exeهمان محل setup مربوط به SQL‌مي باشد
به لينك زير هم سري بزن
http://sql-articles.com/articles/dba/how-to-change-server-collation-in-sql-server-2008/
اما شما مي توانيد Collation را به ازاي بانك اطلاعاتي خودتون تغيير بدهيد و اون رو عوض كني
در ضمن Collation را براي زبان فارسي بهتر است Persian_100_CI_AI قرار دهيد چون زبان فارسي مفهوم Accent Sensitive (حساسيت در تلفظ )برايش معني ندارد البته اگر براي ساير زبان ها داده ذخيره كرده ايد مفهوم خواهد داشت مثل فرانسه و ....
نكته مهم ديگه اين است كه تغيير Collation مربوط به ديتابيس هيچ تاثيري بر روي فيلدهايي كه از قبل تعريف شده اند ندارد
Collation فقط به ازاي داده هاي كاركتري مفهوم دارد
استخراج ليست Collationهاي براي زبان فارسي

SELECT * FROM SYS.FN_HELPCOLLATIONS() WHERE NAME LIKE '%PERSIAN%'

به اين نوع توابع TVF يا Table Value Function مي گويند منظورم تابع FN_HELPCOLLATIONS است

in_chand_nafar
جمعه 09 دی 1390, 13:43 عصر
در ضمن براي دوستاني كه معني Collation (تلفظش كوليشن است و نه Collection كالكشن چند جا ديدم اين طوري تلفظ شده / قصد جسارت به هيچكدام از دوستان ندارم) را نمي دوند يك تعريف ساده وجود
داره
اما تعريفش
الگوي مرتب سازي اطلاعات داخل جداول و ايندكس ها مي باشد و صرفا به ازاي داده هاي كاركتري مفهوم دارد و انواع مختلفي دارد
Windows Collation
SQL Collation
الباقي توضيحات را هر كس خواست بدونه چي بحث ادامه خواهد داشت
موفق باشيد

connector
جمعه 09 دی 1390, 14:18 عصر
حقیقت این هست که سرچ سایت ما خیلی کند هست و همچنین فشار زیادی به سی پی یو و رم سرور میاورد .بعد از اینکه تحقیقاتی انجام دادم متوجه شدم که باید از full text index و full test search یا همون FTS استفاده کرد. که برای این منظور باید تنظیمات collation روی Persian باشد.
البته طراح سایت خود من نیستم . ولی در حال تلاشم که اطلاعاتی به طراح سایت بدهم که بتواند بهترین سرچ را برای سایتم طراحی کند.اگه هم مطلبی در مورد اینکه چگونه می شود بهترین و سریع ترین سرچ را طراحی کرد به من بدهید که عالی میشه.

in_chand_nafar
جمعه 09 دی 1390, 20:37 عصر
ببين دوست عزيز شما Collation بانك اطلاعاتي خودت را مي توني عوض كني و روي Persian بگذاري بايد اون فيلدهايي را كه مي خواهي Fulltext بزني Collation اونها را عوض كني
يه نكته ديگه با تغيير Collation بانك اطلاعاتي از اين به بعد هر فيلدو ...به بانك اطلاعاتي اضافه بشه Collation اون با Collation بانك اطلاعاتي يكسان در نظر گرفته ميشه

خوب حالا چند تا سوال : فيلدي كه مي خواهي روي اون Fulltext راه اندازي كني از چه نوعي است بهتر از نوع ntext نباشه
در ضمن Fulltext در برخي از حالت نتيجه اش با جستجوي بدون ايندكس (به خاطر روش ايندكس كردن اطلاعات) فرق مي كنه اما با كمي تغييرات در نويز ورود ها و... ميتونيد يه بلايي سر جستجو بياريد
در ضمن جهت اطلاع بدونيد كه سايت برادران بسيجي مون توي تبيان (http://barnamenevis.org/www.tebyan.net/)با اين تكنيك حدود 100 گيگابايت به بالا(100 گيگ داده بدون عكس) رو داران بالا پايين مي كنند
(آخري براي اين بود كه قدرت Fulltext رو بدونيد)

grafic
دوشنبه 01 آبان 1391, 15:19 عصر
من با این دستور راحت تونستم عوض کنم



setup.exe /q /ACTION=RebuildDatabase /INSTANCENAME=MSSQLSERVER /SAPWD=***** /SQLSYSADMINACCOUNTS="BUILTIN\ADMINISTRATORS" /SQLCOLLATION=Arabic_CI_AS

sepahbod
شنبه 29 تیر 1392, 13:28 عصر
با عرض سلام و خسته نباشید
من یه برنامه نوشتم که با SQL Server 2008 ارتباط برقرار می کنه حالا مشکل اینه که وقتی این برنامه به SQL Server ی متصل بشه که Collation آن برابر زبان فارسی باشه هنگام جستجوی کلمات فارسی مشکلی پیش نمی آید و تمام اطلاعات نشان داده می شود در برنامه ولی به SQL Server ی متصل شود که Collation آن برابر زبان فارسی نباشد در هنگام جستجوی کلمات فارسی چیزی نشان داده نمی شود .
دستور جسجوی من به این شرح است که متن مورد جستجو را در جعبه text1.text وارد می کنیم

SELECT * FROM ali WHERE name LIKE'%" & Text1.Text & "%'

حالا چکار کنم که هنگام اتصال برنامه به SQL Server ی که Collation آن به زبان فارسی نمی باشد هنگام جستجوی متن فارسی مشکلی پیش نیاید .
نوشته بودید که می توانیم از دستور زیر استفاده کنیم
SELECT * FROM SYS.FN_HELPCOLLATIONS() WHERE NAME LIKE '%PERSIAN%'
حالا من چکونه این دستور را با دستور جستجوی خودم ترکیب کنم و یا این دو دستور را به هم بچسبانم و چی بنویسم که مشکلی پیش نیاید.
پیشاپیش از همکاری شما سپاسگذارم

ashkandehnavi
چهارشنبه 02 مرداد 1392, 23:17 عصر
روی اسم دیتابیس که ساختی راست کلیک کن properties رو بزن از منوی راست روی option کلیک کن اونجا میتونی collation رو عوض کنی بهتره بزاری روی Latin1_general_CP1256_CI_AS اگه بزاری رو این هیچ وقت به مشکل نمیخوری با زبان فارسی

nafisehk
یک شنبه 24 شهریور 1392, 08:24 صبح
روی اسم دیتابیس که ساختی راست کلیک کن properties رو بزن از منوی راست روی option کلیک کن اونجا میتونی collation رو عوض کنی بهتره بزاری روی Latin1_general_CP1256_CI_AS اگه بزاری رو این هیچ وقت به مشکل نمیخوری با زبان فارسی

سلام
تغییر دادم اما همچنان به جای حروف فارسی ? میزاره...

SayeyeZohor
یک شنبه 24 شهریور 1392, 19:46 عصر
اين تغييرات تاثيري بر ديتاهاي قبلي ندارد
براي امتحان يك ركورد جديد فارسي ايجاد كنيد و تست كنين

mehdi.safavie
چهارشنبه 20 آذر 1392, 07:17 صبح
درود;
دوست عزیزمون ashkandehnavi راه رو درست گفتن ، راحت ترین راه اینه که اگر SQL رو نصب کردی و Collation رو موقع نصب تنظیم نکردی ، سر هر دیتابیس روی اون راست کلیک کنی و از منوی Peropertis گزینه Option رو انتخاب کنی ، و Collation اون رو تنظیم کنی !
من یه پروژه عظیم نوشتم که Collation اون روی Arabic_CI_AS تنظیم شده ، نه روی ذخیره اطلاعات مشکلی دارم و نه روی سرچ کردن اطلاعات ( فارسی )
حالا میتونی یه کم بیشتر سرچ کنی اگه ماله تو روی این گزینه مشکل داره ، ببینی دوستان روی SQL 2008 چه گزینه هایی رو پیشنهاد دادن !
مهم اینه که یه راه ساده میخواستی برای عوض کردن Collation که ashkandehnavi ترتیبش رو برات داده :چشمک:

mmbguide
سه شنبه 31 شهریور 1394, 09:24 صبح
خروجی دستور معرفی شده به شرح زیر است. لطفا اگر امکان دارد توضیح دهید چرا اینقدر برای زبان فارسی Collation وجود داره


name description
--------------------------------------------------------------------------------------------------------------------------------
Persian_100_BIN Persian-100, binary sort
Persian_100_BIN2 Persian-100, binary code point comparison sort
Persian_100_CI_AI Persian-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Persian_100_CI_AI_WS Persian-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Persian_100_CI_AI_KS Persian-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Persian_100_CI_AI_KS_WS Persian-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Persian_100_CI_AS Persian-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Persian_100_CI_AS_WS Persian-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Persian_100_CI_AS_KS Persian-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Persian_100_CI_AS_KS_WS Persian-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive
Persian_100_CS_AI Persian-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Persian_100_CS_AI_WS Persian-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Persian_100_CS_AI_KS Persian-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Persian_100_CS_AI_KS_WS Persian-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Persian_100_CS_AS Persian-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Persian_100_CS_AS_WS Persian-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Persian_100_CS_AS_KS Persian-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Persian_100_CS_AS_KS_WS Persian-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive
Persian_100_CI_AI_SC Persian-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive, supplementary characters
Persian_100_CI_AI_WS_SC Persian-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive, supplementary characters
Persian_100_CI_AI_KS_SC Persian-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive, supplementary characters
Persian_100_CI_AI_KS_WS_SC Persian-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive, supplementary characters
Persian_100_CI_AS_SC Persian-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive, supplementary characters
Persian_100_CI_AS_WS_SC Persian-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive, supplementary characters
Persian_100_CI_AS_KS_SC Persian-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive, supplementary characters
Persian_100_CI_AS_KS_WS_SC Persian-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive, supplementary characters
Persian_100_CS_AI_SC Persian-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive, supplementary characters
Persian_100_CS_AI_WS_SC Persian-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive, supplementary characters
Persian_100_CS_AI_KS_SC Persian-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive, supplementary characters
Persian_100_CS_AI_KS_WS_SC Persian-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive, supplementary characters
Persian_100_CS_AS_SC Persian-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive, supplementary characters
Persian_100_CS_AS_WS_SC Persian-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive, supplementary characters
Persian_100_CS_AS_KS_SC Persian-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive, supplementary characters
Persian_100_CS_AS_KS_WS_SC Persian-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive, supplementary characters


درضمن جناب
ashkandehnavi (http://barnamenevis.org/member.php?236975-ashkandehnavi) گزینه
Latin1_general_CP1256_CI_AS را پیشنها کرده اند که در فارسی هم جواب میده. پس لیست بالا برای چیه؟

ممنون

√Nemo√
پنج شنبه 14 فروردین 1399, 01:06 صبح
سلام برای منم همین سوال پیش امده که چرا این همه Persian_100 وجود داره میشه یه نفر توضیح بده و هرکدوم به چه دردی میخوره..

ja.softeng
جمعه 31 اردیبهشت 1400, 10:36 صبح
خروجی دستور معرفی شده به شرح زیر است. لطفا اگر امکان دارد توضیح دهید چرا اینقدر برای زبان فارسی Collation وجود داره


name description
--------------------------------------------------------------------------------------------------------------------------------
Persian_100_BIN Persian-100, binary sort
Persian_100_BIN2 Persian-100, binary code point comparison sort
Persian_100_CI_AI Persian-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Persian_100_CI_AI_WS Persian-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Persian_100_CI_AI_KS Persian-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Persian_100_CI_AI_KS_WS Persian-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Persian_100_CI_AS Persian-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Persian_100_CI_AS_WS Persian-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Persian_100_CI_AS_KS Persian-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Persian_100_CI_AS_KS_WS Persian-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive
Persian_100_CS_AI Persian-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Persian_100_CS_AI_WS Persian-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Persian_100_CS_AI_KS Persian-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Persian_100_CS_AI_KS_WS Persian-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Persian_100_CS_AS Persian-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive
Persian_100_CS_AS_WS Persian-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive
Persian_100_CS_AS_KS Persian-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive
Persian_100_CS_AS_KS_WS Persian-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive
Persian_100_CI_AI_SC Persian-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive, supplementary characters
Persian_100_CI_AI_WS_SC Persian-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive, supplementary characters
Persian_100_CI_AI_KS_SC Persian-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive, supplementary characters
Persian_100_CI_AI_KS_WS_SC Persian-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive, supplementary characters
Persian_100_CI_AS_SC Persian-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive, supplementary characters
Persian_100_CI_AS_WS_SC Persian-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive, supplementary characters
Persian_100_CI_AS_KS_SC Persian-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive, supplementary characters
Persian_100_CI_AS_KS_WS_SC Persian-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive, supplementary characters
Persian_100_CS_AI_SC Persian-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive, supplementary characters
Persian_100_CS_AI_WS_SC Persian-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive, supplementary characters
Persian_100_CS_AI_KS_SC Persian-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive, supplementary characters
Persian_100_CS_AI_KS_WS_SC Persian-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive, supplementary characters
Persian_100_CS_AS_SC Persian-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive, supplementary characters
Persian_100_CS_AS_WS_SC Persian-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive, supplementary characters
Persian_100_CS_AS_KS_SC Persian-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive, supplementary characters
Persian_100_CS_AS_KS_WS_SC Persian-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive, supplementary characters


درضمن جناب
ashkandehnavi (https://barnamenevis.org/member.php?236975-ashkandehnavi)
گزینه
Latin1_general_CP1256_CI_AS
را پیشنها کرده اند که در فارسی هم جواب میده. پس لیست بالا برای چیه؟

ممنون


سلام برای منم همین سوال پیش امده که چرا این همه Persian_100 وجود داره میشه یه نفر توضیح بده و هرکدوم به چه دردی میخوره..
برای منم این سوال بود
که یک فایل صوتی دیدم کلا جواب همه رو داده
https://nikamooz.com/what-is-collation-in-sql-server/

ja.softeng
جمعه 31 اردیبهشت 1400, 10:40 صبح
در ضمن پیشنهاد بنده برای زبان فارسی گزینه زیر است:

Persian_100_CI_AI Persian-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive



چون حساس به حروف بزرگ و وکوچک نیست (case-insensitive)
حساس به لهجه تلفظی نیست (accent-insensitive)
حساس به زبان ژاپنی نیست (kanatype-insensitive)
برای موارد varchar و nvarchar فرقی قائل نمیشه (width-insensitive)
همه اینا در پردازش و کوءری زدن تاثیر بسزایی داره