حل مشكلة Linked SQL Server

السلام عليكم ورحمة الله
واجهتنا مشكلة اجراء استعلام على قاعدتى بيانات كل منهما على خادم خاص بها ,وكان الحل استخدام Linked Server

فظهرت لنا هذه المشكلة

Linked Server error: Login Failed for user ‘NT AUTHORITY\ANONYMOUS LOGON

ولحل هذه المشكلة قمت بالدخول لكل خادم منهما عن بعد واضافة كل خادم للآخر كخادم متصل Linked Server

“Login failed for user ”. (Microsoft SQL Server, Error: 18456)”

السلام عليكم ورحمة الله وبركاته , واجهتنى هذه المشكلة عند العمل على نسخة تجريبية من البرنامج الذى قمنا بانشاؤه على جهاز آخر وكان الحل تفعيل

SQL Server Mixed authentication mode

Right click on Server name and go to properties then go to security

make sure SQL Server and Windows Authentication Mode is checked

المصدر

Am Pm to Arabic SQL

السلام عليكم ورحمة الله وبركاته ,اذا اردت الحصول على الوقت من التاريخ بصورة صباحا ومساءا يمكنك استخدام الدالة التالية فى SQL

case when CONVERT(varchar(15),CONVERT(time, Yourdate),100) like '%PM' then REPLACE(CONVERT(varchar(15), CONVERT(time, Yourdate),100),'PM','م') else REPLACE(CONVERT(varchar(15),CONVERT(time,Yourdate),100),'AM','ص') end

The SQL Server Execute Package Utility requires Integration Services to be installed

كان SQl Server 2008 يتطلب تنصيب SSIS ولحل هذه المشكلة قامت ميكروسوفت بعمل تحديث SP  يمكنك تنزيله لازالة هذه الضرورة http://support.microsoft.com/kb/961126

sql server mirroring error 1418

السلام عليكم ورحمة الله وبركاته , واجهتنى مشكلة عند محاولة عمل Mirror ل SQl server حيث أحصل على رسالة
The server network address “ ” can not be reached or does not exist. Check the network address name and that the ports for the local and remote endpoints are operational.
ولحل هذه المشكلة اتبعت الخطوات التالية :

أولا تأكد من أن خادم ال Mirror ليس  خلف جدار نارى Firewall

ثانيا تأكد من أن ال Port الذى تعمل عليه مفتوح على كلا الخادمين عن طريق الأمر

netstat -abn فى CMD

ثالثا تأكد من أنك تستطيع القيام بعمل Telnet على ال Port الذى تستخدمه من جهاز لآخر عن طريق استخدام Telnet ServerName PortNumber من كلا الجهازين على الآخر وينبغى أولا تفعيل Telnet client

رابعا تأكد من أن TCP/IP و Named Pipes ُ مفعلان Enabled على كلا الخادمين

خامسا تأكد من أن قاعدة البيانات تم عمل Restore with no recovery على الجهاز ال Mirror لكل من ال Full BackUp  و Transaction BackUp

سادسا تأكد من نفس ال Service Account على ال principal و ال Mirror  هو نفس مستخدم النطاق Domain Account وله صلاحية Connect  على كلا الخادمين (وهذا هو ما حل المشكلة خاصتى )

كيف تقوم بعمل مراقبة Audit على ال SQl

السلام عليكم ورحمة الله وبركاته , واجهتنا هذه المشكلة فى المؤسسة التى اعمل بها حيث يوجد برنامج لم نقم ببرمجته ويعمل على قاعدة بيانات ولكننا ليس لدينا المصدر Source Code  لنقوم بتعديله , فى الحالات العادية حينما نقوم بتطوير برنامج فاننا نهتم باضافة مستخدم الاضافة وتاريخ الاضافة ومستخدم التعديل وتاريخ آخر تعديل وهذا سهل برمجيا ولكن بسبب عدم حصولنا على شفرة المصدر تعذر هذا , ولهذا قررنا استخدام Trigger لحل المشكلة والحل كالتالى

CREATE TRIGGER usermod
on dbo.[your audit table name ]
After UPDATE
AS BEGIN
  Update [your audit table name]
  set UpBy = ORIGINAL_LOGIN()()
  from INSERTED i
  Where i.[primary key name] = [your audit table].[primary key name]
END

اما لحل مشكلة من قام بالاضافة فيكفى عمل Default Constraint وليكن اسمه InBy ووضع القيمة SUSER_SNAME() او SYSTEM_USER()