استكشاف أخطاء المشاكل المتعلقة بإنشاء بيانات
قد تواجهك المشكلات التالية عند العمل مع بيانات إنشاء خطط:
فشل إنشاء بيانات عند انتهاك قيود فحص
لا يمكن تعيين تعبير عادي منشئ البيانات إلى أعمدة نوع معرف من قبل مستخدم
لا يمكن توليد بيانات للمشغلات مع حذف جداول
المشكلات المتعلقة بالبيانات حدود مولدات
لا يمكن توليد بيانات ل SPARSE أعمدة
فشل إنشاء بيانات عند انتهاك قيود فحص
عند توليد عمود يحتوي على قيد تحقق من صحة البيانات، تفشل تشغيل إذا كانت البيانات هو المنشأ التي تخالف قيد. يمكنك استخدام الإطار إنشاء مهام إلى معرفة ما إذا كانت بيانات الموجودة تخالف قيد قبل تشغيل الخطة. لمزيد من المعلومات، راجع كيفية القيام بما يلي: معاينة خطة إنشاء بيانات.
إلى إصلاح هذه المشكلة، يجب استخدام أحد الأساليب التالية:
استخدم Minو Maxالخصائص لعنصر التحكم كيف بيانات هو التي تم إنشاؤها. على سبيل المثال، افترض أن لديك جدول يحتوي على عمودين باسم StartDateو EndDate، وقيد تحقق من صحة تتطلب StartDateإلى تسبق EndDate. يمكنك تعيين Maxخاصية StartDateعمود إلى القيمة التي هو أصغر من من Minخاصية EndDateالعمود لتحقيق هدف الخاص بك. لمزيد من المعلومات، راجع قم بتحديد تفاصيل لإنشاء بيانات للعمود.
استخدم حدود البيانات مولد. لمزيد من المعلومات، راجع The Data Bound Generator.
استخدام مخصص منشئ البيانات. لمزيد من المعلومات، راجع إنشاء بيانات اختبار متخصصة مع مولد بيانات المخصصة.
لا يمكن تعيين تعبير عادي منشئ البيانات إلى أعمدة نوع معرف من قبل مستخدم مع قيود فريد
عند محاولة تعيين منشئ البيانات على عمود له قيد فريد، تعرض قائمة مولدات توفر مولدات التي يمكن أن تنتج قيم الفريدة فقط. لأن منشئ "تعبير عادي" هو لا يمكن ضمان لإنتاج قيم فريدة، لا يمكنك استخدامها لتعبئة عمود نوع المعرف من قبل مستخدم الذي له قيد فريد.
إلى إنشاء البيانات لعمود نوع معرف من قبل مستخدم مع قيد فريد، يجب استخدام generaإلىr بيانات مرتبطة أو generaإلىr بيانات cusإلىm. للمزيد من المعلومات، راجع The Data Bound Generator وإنشاء بيانات اختبار متخصصة مع مولد بيانات المخصصة.
لا يمكن توليد بيانات للمشغلات مع حذف جداول
تتضمن بعض الجداول مشغلات التي تمنعك من حذف صفوف في هذه الجداول. وإذا حاولت إلى يحذف صفوف من جدول مثل، تتحرك يشغّل مرة أخرى بعملية اليحذف. لا يمكنك توليد بيانات عادة مثل جدول أو جدول يرجع مثل جدول. على سبيل المثال، لا يمكن توليد البيانات عادة للموظفين جدول في قاعدة بيانات AdventureWorks.
إلى إنشاء بيانات للحصول على جدول، استخدم إحدى الطرق التالية:
يعطل أو يحذف يشغّل، تشغيل خطة إنشاء بيانات، وإعادة تمكينه أو إضافته يشغّل.
قم بتشغيل الخطة الجيل بيانات. عندما تتم مطالبتك بمسح محتويات الجداول قبل جديد صفوف التي تم إدراجها، انقر فوق لا. البيانات الجديدة التي تقوم بإنشاء هو تمت الإضافة إلى أية بيانات exهوting في الجدول بحيث لا يتم إجراء يحذف يشغّل. يمكن أن يؤدي هذا الأسلوب إلى نتائج غير متوقعة، وقد تظهر أخطاء في حالة وجود أي واحد أعمدة له قيد فريد.
المشكلات المتعلقة بالبيانات حدود مولدات
إذا فشل إنشاء البيانات لواحد أو المزيد عمود s الذي قمت بتحديد بيانات منضمة مولد، "إخراج منشئ" عمود في تفاصيل عمود يعرض الإطار "اخراج Coercible لا" أو "عدم اخراج". تصف المقاطع التالية الأسباب لهذا النوع من الفشل إنشاء بيانات.
لا يوجد إخراج
إذا dهوplays عمود إخراج مولد "عدم اخراج"، عبارة SELECT التي قمت بتحديدها في "استعلام تحديد" الخاصية هو من المحتمل أن يكون غير صحيح. لأن عبارة تحديد يصعب رؤيتها في الإطار خصائص ، قد تحتاج إلى نسخ ولصق الجملة في Transact-SQLالمحرر للتحقق ما إذا كانت العبارة الصحيحة.
لا يوجد إخراج Coercible
إذا تم عرض العمود إخراج Generaإلىr "اخراج Coercible لا"، اكتب البيانات أن ترجع العبارة تحديد لا يمكن فرض وضع الكائن إلى نوع البيانات العمود الذي يتم إنشاء بيانات. على سبيل المثال، إذا كنت تريد إلى توليد بيانات لأعمدة من نوع INT، يؤدي عبارة تحديد التالية "عدم إخراج Coercible" إلى تظهر:
SELECT RAND() * (column1 - column2) AS Column1 FROM Table1
يجب تحديث عبارة تحديد لإرجاع بيانات التي هو coercible INT، كما يلي:
SELECT CAST(RAND() * (column1 - column2) AS INT) AS Column1 FROM Table1
لا يمكن توليد بيانات ل SPARSE أعمدة
عندما حاولت إلى توليد بيانات لجدول الذي يحتوي على أعمدة المتفرقة أو أكثر COLUMN_SET، قد يظهر الخطأ التالي: "فشل إنشاء بيانات بسبب استثناء التالي: ColumnMapping المعطاة لا تطابق لأعلى مع أي عمود في المصدر أو وجهة. "
قد يحدث ذلك، على سبيل المثال، إذا حاولت إلى توليد بيانات للجدول التالي:
CREATE TABLE [dbo].[SparseTable]
(
ID INT PRIMARY KEY,
C1 varchar(20) SPARSE NULL,
C2 smallint SPARSE NULL,
C3 varchar(20) SPARSE NULL,
SpecialPurposeColumns XML COLUMN_SET FOR ALL_SPARSE_COLUMNS
)
لإنشاء البيانات لجدول الذي يحتوي على أعمدة متفرقة COLUMN_SET، فيجب أما تغيير الأسلوب المفضل للإدراج البيانات إلى "SqlV1CompatibilitySink" أو يجب استخدام مخصص منشئ البيانات.
إذا كنت استخدم "SqlV1CompatibilitySink"، إنشاء بيانات قد يكون البحث بطيئا لجداول قطر أيمن متوسط.
لمزيد من المعلومات حول كيفية إلى تغيير الأسلوب المفضل للإدراج بيانات، راجع كيفية القيام بما يلي: Specify Defaults and Options for Data Generators. لمزيد من المعلومات حول كيفية إنشاء و توزيع مولد بيانات مخصصة، راجع إنشاء بيانات اختبار متخصصة مع مولد بيانات المخصصة.