السلام عليكم و رحمة الله و بركاته،
معظمنا يعرف طريقة تعديل Server Authentication كم خلال SSMS، و لكن كيف نفعل ذلك من خلال كود T-SQL؟
عندما تثبت برنامجاً لدى عميل فإنك تنشأ لديه SQl server express و أحياناً عملية تثبيت SQl Server Express تتم خلال تثبيت البرنامج الأصلي(مثلما أفعل مع برامجي)، لذا لن تكون هناك فرصة لتعديل Server Authentication Mode خلال التثبيت، لذا هناك حلان:
1- أن تقوم بنفسك بتثبيت البرنامج ثم تثبيت SQl server Express مع SSMS، حتى تقوم بالتعديل بنفسك.
2-أن تثبت SQl Server Express اثناء تثبيت البرنامج الأصلي (كإضافة ضرورية- يتم عمل هذا خلال عملية تحزيم ملفات البرنامج)، و لكن عليك اولاً أن تكتب هذا الكود داخل البرنامج حتى يقوم بتغيير Server Authentication Mode من خلال البرنامج الأصلي (أقصد البرنامج الذي سيستخدمه العميل - برنامج مخازن مثلاً):
exec master..xp_instance_regwrite N'HKEY_LOCAL_MACHINE',N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer','LoginMode', N'REG_DWORD', 2
حيث 2 او 0 =Mixed mode و 1=Windows Mode
الكود يقوم بتغيير وضع الServer Authentication Mode من خلال تعديل الريجستري الخاص بSQl server .
لمعرفة وضع Server Authentication Mode الحالي ننفذ هذا الكود:
EXEC master.sys.xp_loginconfig 'login mode'