الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

رسالة خطأ

بدأه أبو دانه في 23 يوليو 2010 · 3 رد · 432 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخواني الاعزاء السلام عليكم

قمت بمحاولة انشاء قاعدة بيانات في فولدر معين عن طريق الكود البرمجي كما هو واضح بالاسفل :

create database AbuDanah_db
on primary
(name = testdata
filename = N 'F:\AbuDanah\testdata.mdf',
size = 5MB,
maxsize = 10MB,
filegrowth = 2%

log on
(name = testlog
filename = N 'F:\AbuDanah\testlog.ldf',
size = 3MB,
maxsize = 5MB,
filegrowth = 2

ولكن المحاولة كانت فاشلة للاسف.. فهل بالامكان المساعدة لنعرف اين يكمن الخطأ بالضبط..!

علماً ان رسالة الخطأ كانت كما بالشكل التالي :

Msg 153, Level 15, State 1, Line 4
Invalid usage of the option filename in the CREATE/ALTER DATABASE statement.

سؤال آخر متى يجب وضع primary كما في السطر الثاني وايضا متى يجب وضع حرف N أمام اسم المجلد filename ومافائدة كليهما..؟

وتقبلوا شكري وفائق احترامي..؛

اخوكم أبو دانه

#2

السلام عليكم

هكذا

create database AbuDanah_db
on primary
(name = testdata,
filename = N'm:\testdata.mdf',
size = 5MB,
maxsize = 10MB,
filegrowth = 2%
)
log on
(name = testlog,
filename = N'm:\testlog.ldf',
size = 3MB,
maxsize = 5MB,
filegrowth = 2)

بالنسبة لوضع Primary فهي لتشير ان هذا الملف هو الاساسي لقاعدة البيانات اي سيتم تخزين البيانات الاساسية به مثل Functions و Procedures وغيرهما وهي تلزم عند استخدام عدة ملفات لقاعدة البيانات اما عند وجود ملف واحد فسيكون هو الملف الافتراضي تلقائيا .

وبالنسبة لحرف N فهو ليشير الى اليونيكود اي اذا كان داخل علامات التنصيص حروف غير اللاتينية وذلك حتى لا تتحول هذه الحروف الى علامات استفهام.حرف N يجب ان يكون حرف كبير Capital وملاصق لعلامة التنصيص .

1
#3

بارك الله فيك اخي طارق وجعلها في موازين اعمالك

تم تعديل الكود بناء على ملاحظة اقفال القوس في اخر الكود في السطر الأخير وكذلك ملاصقة حرف الـ N مع احتفاضي بالباث الخاص بموقع القاعدة أي كما بالشكل التالي

create database AbuDanah_db
on primary
(name = TestData,
filename = N'F:\AbuDanah\TestData.mdf',
size = 5MB,
maxsize = 10MB,
filegrowth = 2%
)
log on
(name = TestLog,
filename = N'F:\AbuDanah\TestLog.ldf',
size = 3MB,
maxsize = 5MB,
filegrowth = 2MB)

والسبب هو انه لا يوجد لدي فولدر باسم M فأنشأته في الـ F في فولدر AbuDanah حتى لا يكون في الـ F مباشرة

هناك خطأ ثاني بسيط لم تنتبه له اخي طارق وهو حجم الـ filegrowth في الـ Log قد نسيت اضافة الحجم المناسب له سواء كان بالنسبة المئوية او بالميقابايت وحقيقة لا اعرف اذا كان هذا يسبب خطأ أم لا، المهم انني تعودت على كتابته..!

اكرر شكري لك اخي طارق ولا عدمك الله الاجر

#4
اقتباس
هناك خطأ ثاني بسيط لم تنتبه له اخي طارق وهو حجم الـ filegrowth في الـ Log قد نسيت اضافة الحجم المناسب له

بالنسبة ل filegrowth هناك قيمة افتراضية للزيادة وهي MB لذا الكود ينفذ بشكل صحيح. وطبعا من الافضل وضعها.

مواضيع مشابهة