السلام عليكم ورحمة الله وبركاته
اخواني الكرام
عملت مشروع في vb.net وعملت صلاحية عمل باك اب لقاعدة البيانات واسترجاعها من نفس البرنامج بصيغه bak ولكن يستطيع المستخدم بعد نسخ قاعدة البيانات ان يستوردها على اي سيرفر sql ويطلع على محتوياتها
ارغب في عمل حماية من الاطلاع على ملف النسخة الاحتياطية وشكرا
أخى يمكنك عمل حماية لقاعدة البيانات نفسها بحيث لا تعمل إلا فى جهازك (السيرفر) فقط حتى لو عملت اتاتس إلى جهاز أخر أو أخذت نسخة إحتياطية لا تعمل مطلقا
يا ريت نعرف الطريقة يا استاذ matrixmas
شكرا لك اخي matrixmas
ولكن كيف الطريقة ؟
اخي الكريم
اعتزر عن التاخير ولكن ساقوم بارفاق الكود ولكني في العمل الان واكتب من جوالي
قم بالبحث عن طريقه حمايه قاعده البيانات بالحمايه القصوي للاخ ابو ايهاب علي ما اتذكر
وفرت قواعد البيانات SQL server 2008 طريقة جديدة لتشفير قواعد البيانات .
بهذه الطريقة يصبح بإمكانك ضمان أن قاعدة بياناتك أصبح آمنة جدا جدا ولن يستطيع أحد الوصول لها أو فتحها إلا أنت أو برنامجك .
حتى لو حاول أحدهم ربط Attach قاعدة بياناتك بسيرفر آخر يكون فيه هو المدير فإنه لن يستطيع أن يفتح تلك القاعدة أبدا .
وحتى لو حاول أحدهم فتح القاعدة ببرنامج محرر نصوص عادي فإنه لن يرى أي نصوص .
خطوات حماية قاعدة بياناتك بشكل آمن 100% :
- أنشيء مخدم SQL بنظام ثقة مختلط بين الويندوز وبين SQL Server .
- احذف جميع حسابات الدخول Logins ما عدا SA واحمه بكلمة مرور قوية جدا .
- يمكنك أيضا تغيير اسم SA إلى اسم آخر .
الآن لن يستطيع سواك الدخول إلى هذا المخدم .
- قم بعمل MASTER KEY بواسطة تعليمة sql التالية :
رمز برمجي:
USE master;
GO
CREATE MASTER KEY
ENCRYPTION BY PASSWORD = 'MyStr0ngP@ssw0rd2009';
GO
- قم بعمل شهادة مصدقة بواسطة التعليمة التالية :
رمز برمجي:
USE master;
GO
CREATE CERTIFICATE MasterCert
WITH SUBJECT = 'Cert used for TDE';
GO
- قم بحفظ الماستر كي في ملف خارجي وأبقه بعيدا عن المخدم فقد تحتاجه لاحقا .
رمز برمجي:
USE master;
GO
BACKUP CERTIFICATE MasterCert
TO FILE = 'D:\Backup\MasterCert.bak'
WITH PRIVATE KEY (
FILE = 'D:\Backup\MasterCert.pvk',
ENCRYPTION BY PASSWORD = 'MyB@ckUpP@ssw0rd');
GO
- أخيرا قم بتشفير قاعدة بياناتك بواسطة التعليمة التالية :
رمز برمجي:
USE YouDatabaseName;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE MasterCert;
ALTER DATABASE YouDatabaseName
SET ENCRYPTION ON;
GO
أخيرا لا تنسى أبدا عمل نسخة احتياطية لقاعدة بياناتك قبل التشفير
في حال فشلت العملية من الأساس فإنك تستطيع استرجاع النسخة الأصلية .
بهذه الخطوات البسيطة تكون قد حميت قاعدة بياناتك من الولوج غير المسموح .
وكذلك من فتحها بواسطة مخدم آخر أو ربطها معه .
شكرا لك اخي ولكن كيف يتم تنفيذ جمل sql اعلاه في قاعدة البيانات الخاصة بي
يمكنك فعل ذلك من
sql server management
ثم
New Query