Troubleshooting Database Project, Build, and Deployment Issues
قد تصادف المشاكل التالية عند بنية أو تعديل، بنية، أو نشر قاعدة بيانات مشاريع:
أخطاء في الكائنات قاعدة بيانات
استخدم من الكلمات المحجوزة جديد في Microsoft Office 2010 Suite SQL الخادم 2005
الاختلافات في الأمر-بنية خط
برامج نصية و تحديث تبعيات
معرفات بين علامات الاقتباس قد تتسبب بمشاكل مع إعادة تحميل مشروع
الولاية داخلية قاعدة بيانات هو غير متسقة مع المحتويات الخاصة بها
التراجع عن التغييرات المعلقة
مستخدم Windows NT أو غير موجود المجموعة
كائن أسماء مكررة ومستبعدة من الملفات
و الخادم قاعدة البيانات-مؤهل-مؤهل أسماء
استيراد قاعدة بيانات أداء مخطط
بنية خطأ التنقل
أخطاء بناء الجملة عند استخدام مراجع قاعدة بيانات مشتركة
إعادة تسمية SQLCLR مشاريع و التجميعات
بناء جملة غير معتمد ل STOPLIST تتبع
SORT_IN_TEMPDB عبارة هو عدم الاستيراد
الولاية معرفات بين علامات الاقتباس هو خسارة متى يمكنك استيراد جدول-Valued دالات يتضمن بيانات متعددة
غير مسح بعض أخطاء مشروع بعد إنشاء مشروع
أخطاء في الكائنات قاعدة بيانات
عند كائن في قاعدة البيانات يحتوي واحد أو أكثر من أخطاء في بناء الجملة، الخطأ المقترنة تظهر في الإطار قائمة الأخطاء الرسائل.
ملاحظة
يجب أن توفر رسالة الخطأ التي تظهر في الإطار قائمة الأخطاء المعلومات حول ما يمكنك القيام به لحل الخطأ. بعد حل الخطأ وقم بحفظ كائن قاعدة بيانات، بإرجاع رمز هذا الكائن من قاعدة بيانات إلى حالته العادية والخطأ هو إزالتها من الإطار Lهوt خطأ.
استخدم من الكلمات المحجوزة جديد في Microsoft Office 2010 Suite SQL الخادم 2005
فيما يلي جديدة محجوز الكلمات الأساسية في SQL Server 2005: EXTERNAL, PIVOT, REVERT, TABLESAMPLE و UNPIVOT. يظهر خطأ في الإطار إخراج إذا استخدمت هذه الكلمات الأساسية كما مخطط أسماء الكائنات في قاعدة بيانات المشروع الذي هو المستهدفة ل Microsoft SQL Server 2005أو SQL Server 2008.
ملاحظة
إلى العمل حول هذا التقييد، يمكن وضع أسماء كائنات المخطط ضمن علامات اقتباس. على سبيل المثال، يمكنك استخدم " CREATE TABLE[الخارجي] (c1 INT)".
الاختلافات في الأمر-بنية خط
إذا قمت بإجراء سطر الأوامر بنية عندما يكون لديك مشروع فتح في Visual Studio، قد لا تتلقى الجميع بنية الأخطاء التي تتلقاها عند لك بنية في واجهة مستخدم.
ملاحظة
إلى حل هذه المشكلة، يغلق مشروع قاعدة بيانات في Visual Studioقبل تنفيذ بنية سطر الأوامر.
برامج نصية و تحديث تبعيات
إلى إنشاء الترتيب الصحيح من الكائنات في برنامج نصي تحديث، قم "يقارن مخطط" يفحص تبعية الكائنات. ل مثال، إذا كانت طريقة عرض تستند إلى جدول، يجب تاريخ الإنشاء الجدول قبل العرض. إذا كان كائن التي تعتمد تشغيل الثاني كائن عدم استخدام اسم مؤهل بالمخطط، تبعية قد لا يتم التعرف تشغيل برنامج نصي تحديث أو إنشاء قد يكون لدى وعبارات بترتيب غير صحيح. يؤدي هذا الاختلاف أخطاء عند تحديث الهدف يطابق على مصدر أو نشر التغييرات إلى قاعدة بيانات. تنطبق هذه المشكلة أيضا إلى قاعدة البيانات إنشاء برامج نصية.
ملاحظة
إلى حل هذه المشكلة، تأكد من إلى تأهيل أسماء الكائنات المضمنة في علاقات التابعة المخطط. في Visual Studio Premiumو Visual Studio Ultimate، يمكنك استخدام قاعدة بيانات refacإلىring إلى التأهيل الكامل أسماء الكائنات. للحصول على مزيد من المعلومات، راجع تأهيل أسماء الكائنات قاعدة بيانات بالكامل.في المثال التالي، يمكنك أن تضمن أنه سوف يتم تعريف تبعية بشكل صحيح إذا قمت بتغيير إنهاء الجملة إلى مرجع [dbo]. [KeysTable] بدلاً من مجرد KeysTable:
CREATE VIEW [NewUser].[ViewReferencingScalarFunction] AS SELECT Column2, dbo.SimpleMultiplyParamByTwo(PK_Column) AS [Function] FROM KeysTable
معرفات بين علامات الاقتباس قد تتسبب بمشاكل مع إعادة تحميل مشروع
تظهر الأخطاء عند حفظ الكائنات أو تحميل قاعدة بيانات تحتوي على تطبق علامات الاقتباس معرفات إذا تم إلغاء تحديد خانة اختيار التعيين QUOTED_IDENTIFIER في خصائص قاعدة البيانات. قد يحدث هذا الموقف إذا قمت باستيراد مخطط قاعدة بيانات من قاعدة بيانات تستخدم تطبق علامات الاقتباس معرفات.
ملاحظة
إلى التعامل مع هذه المشكلة، فلديك خياران. يمكنك تعديل ملفات تعريف الكائنات باستخدام أقواس مربعة بدلاً من علامات الاقتباس. على سبيل المثال، يمكنك تغيير "جدول الخاصة بي" إلى "الجدول الخاص بي". As an alternative, you can open the Project menu, click DatabaseProject Properties, click the Database Properties tab, and select the SET QUOTED_IDENTIFIER check box.
الولاية داخلية قاعدة بيانات هو غير متسقة مع المحتويات الخاصة بها
قد تتلقى التالية خطأ عند العمل مع Visual Studio Premium: "الحالة الداخلية لمشروع قاعدة بيانات هو inconsهوtent بمحتوياته. إلغاء تحميل مشروع ومن ثم إعادة تحميله إلى حل المشكلة. " Th هو يشير الخطأ إلى أنه، ما، مشروع، مما يوفر lهوt الملفات التي فإنه يؤكد أن تحتويها، هو لم تعد متزامنة مع الولاية الملفات. السبب الأكثر شيوعاً لماذا قد تصادف th هو الخطأ هو إذا كان واحد الملفات في المشروع هو تم الحذفه من dهوk عند مشروع قاعدة بيانات هو غير مفتوح. وهذا خطأ يمكن أيضا النتيجة في حالة حدوث مشكلات عند استيراد مخطط قاعدة بيانات.
ملاحظة
إلى التعامل مع هذه المشكلة، يمكنك النقر فوق تزامن في طريقة عرض المخطط. إذا لم يعمل، يمكنك تحميل و إعادة التحميل مشروع قاعدة بيانات. إلى للقيام بذلك، انقر فوق في من مستكشف الحل. فتح قائمة مشروع و انقر فوق إلغاء تحميل المشروع. بعد مشروع هو تم إلغاء تحميلها، وافتح قائمة مشروع ، ثم انقر فوق إعادة تحميل مشروع.
التراجع عن التغييرات المعلقة
طريقة عرض المخطط لا تلقائياً بتحديث بعد استخدم الأمر "تراجع عن التغييرات المعلقة" للنظام الإصدار عنصر التحكم. إذا، على سبيل المثال، قمت بإعادة تسمية جدول أو عمود ثم العودة تلك التغييرات، الرسالة "خارجية ملف تغيير مطلوب… إعادة المزامنة" يظهر في طريقة عرض المخطط.
ملاحظة
إلى التعامل مع هذه المشكلة، يجب عليك النقر فوق تزامن في عرض مخطط إلى olbar $ $ $ $.
مستخدم Windows NT أو غير موجود المجموعة
إذا مراجع مشروع قاعدة البيانات الخاصة بك تسجيل دخول التي هو غير متاح، تظهر رسالة الخطأ التالية: "نظام التشغيل Windows NT مستخدم أو المجموعة 'DomainName\اسم تسجيل الدخول' غير موجود. فحص الاسم مرة أخرى. " قد تصادف th هو هو sue إذا كنت تعمل تشغيل كمبيوتر التي هو في مجال آخر من قاعدة بيانات تم استيراد المخطط له. Th هو يحدث الموقف عادة إذا كنت تعمل في المنزل تشغيل قاعدة بيانات المشروع الذي هو التي تم إنشاؤها في أي مكان آخر. في هذه الحالة، لا يمكنك بنية أو نشر مشروع قاعدة بيانات.
ملاحظة
يمكن إنشاء مستخدم، مع حذف الجملة FOR تسجيل الدخول. ل مثال، يمكنك استخدام الإجراءات التالية: CREATE USER [Domain\someLogin]. سيتم تاريخ الإنشاء مستخدم عند نشر مشروع قاعدة بيانات و سيتم إقرانها بتسجيل الدخول [مجال\someLogin]، ولكن لا تحتاج مرجع لتسجيل الدخول إلى ذلك في مشروع قاعدة بيانات الخاصة بك.
كائن أسماء مكررة ومستبعدة من الملفات
إذا كان لديك أسماء كائنات مكررة في جهاز مشروع قاعدة بيانات (على سبيل المثال، جدولين تسمى Orders (الطلبيات))، يظهر خطأ في الإطار قائمة الأخطاء. حتى إذا قمت بحل هذه المشكلة باستثناء ملف يحتوي على تعريف واحد الكائنات، لم تختفي رسالة خطأ فورا.
ملاحظة
إلى التعامل مع هذه المشكلة، يمكنك النقر فوق تحديث أو يمكنك تعديل الملف الذي يحتوي على تعريف الكائن، أعد تسمية الكائن وقم بحفظ الملف.
و الخادم قاعدة البيانات-مؤهل-مؤهل أسماء
عندما تقوم بإنشاء كائن في Visual Studio Premium، الكائن هو باسم استناداً إلى [المخطط]. [كائن]. [التابع] التسمية اصطلاح. إذا كنت تريد الإشارة إلى كائن في قاعدة بيانات أخرى أو تشغيل آخر الخادم، يمكنك تضمين اسم قاعدة البيانات و الخادم بالطريقة التالية: [@]. [قاعدة بيانات]. [المخطط]. [كائن]. [التابع]. إذا قمت بإنشاء إجراء مخزّن أو طريقة عرض يشير إلى كائن يتطلب قاعدة بيانات-مؤهل أو يظهر اسم الخادم مؤهل، تحذير.
ملاحظة
إلى حل هذا التحذير، يجب عليك تعريف مرجع من قاعدة بيانات مشتركة. لمزيد من المعلومات حول مراجع قاعدة بيانات مشتركة، راجع استخدام مراجع في قاعدة بيانات المشاريعو كيفية القيام بما يلي: إضافة مراجع إلى قاعدة بيانات مشاريع.
هام
سوف تفشل التوزيع إذا تم غير محلول مشروع تحذيرات حول الأسماء المؤهلة بقاعدة بيانات أو مؤهل الالخادم وحدد الاختيار معاملة التحذيرات كأخطاء صندوق في بنية التبويب الخصائص لمشروع قاعدة بيانات. هذا الفشل نتيجة لمؤهل بقاعدة البيانات أو الخادم مؤهل أسماء توليد تحذيرات. إذا كنت تستخدم اسم مؤهل بقاعدة البيانات أو مؤهل بالخادم، يجب عليك مسح تحذيرات الأخطاء خانة اختيار معاملة.
استيراد قاعدة بيانات أداء مخطط
إذا قمت باستيراد مخطط قاعدة بيانات عندما يكون نافذة Ediإلىr قائمة اختبار أو نافذة طريقة عرض الاختبار مفتوحاً، سيستغرق وقتاً أطول بشكل ملحوظ عملية استيراد إلى الانتهاء. سيحدث هذا slowdown كلاهما في "معالج قاعدة بيانات جديد للمشروع" (إذا اخترت استيراد مخطط قاعدة بيانات) و أثناء عملية "استيراد مخطط قاعدة البيانات". تحدث المشكلة حتى إذا قمت بإغلاق محرر قائمة اختبار وإطارات طريقة عرض الاختبار قبل استيراد مخطط قاعدة بيانات.
ملاحظة
لحل هذه المشكلة، يجب إغلاق محرر "قائمة اختبار" اختبار عرض الإطارات ، إيقاف وإعادة تشغيل Visual Studio، ثم قم باستيراد مخطط قاعدة بيانات. لمخططات أصغر، قد لا تحتاج إلى القيام بالخطوات التالية؛ لقاعدة بيانات نموذج AdventureWorks، استغرق عملية استيراد المخطط 27 ثانية بدون محرر قائمة اختبار نافذة فتح و 48 ثانية مع محرر قائمة اختبار نافذة فتح.
بنية خطأ التنقل
إذا فشلت عملية نشر، لا يمكنك تصحيح الخطأ عن طريق جاري الآن التحديث تم إنشاؤه بنية برنامج نصي. يجب أن تقوم بتصحيح المصدر ملف التي تستخدم لتوليد التي تقوم بتوليد برنامج نصي. عند ينقر مزودجا فوق خطأ في نشر في الإطار قائمة الأخطاء، بنية يظهر برنامج نصي في المحرر، عرض السطر الذي تسبب في الخطأ.
ملاحظة
لحل هذه المشكلة، يجب عرض برنامج نصي للإنشاء لتحديد سبب الفشل، لكن ثم يجب تعديل المصدر ملف في مشروع قاعدة بيانات التي تحتوي على الخطأ. على سبيل المثال، إذا كانت ينشر-برنامج نصي للنشر Script.ينشرDeployment.sql يحتوي على خطأ ما، يجب عليك تعديل Script.ينشرDeployment.sql بدلاً من البرنامج النصي للإنشاء.
أخطاء بناء الجملة عند استخدام مراجع قاعدة بيانات مشتركة
قد تتلقى أخطاء بناء جملة أو أكثر وذلك عند حفظ بتعريف كائن الذي يحتوي على مرجع إلى كائن في قاعدة بيانات أخرى. ل مثال، يمكنك إضافة مرجع إلى مشروع قاعدة بيانات، قم بتعريف المتغيرات التي تسمى RefServer و RefDatabase وتعيين قيم. ثم يمكنك تعريف طريقة عرض كـ التالي:
CREATE VIEW [dbo].[MyView]
AS
SELECT * FROM $(RefServer).$(RefDatabase).dbo.TableName
عندما تقوم بحفظ تعريف هذا، قد تتلقى واحد أو المزيد رسائل خطأ تشير إلى بناء جملة غير صحيح. خطأ الرسائل قد تشير إلى اسم قاعدة التحقق من صحة لوقت التصميم الخاص بك، الذي قد يكون مربكاً.
ملاحظة
إلى حل هذه المشكلة، يجب عليك إحاطة أسماء المتغيرات في أقواس. إلى تصحيح هذا المثال، قم بتغيير كما يلي:
CREATE VIEW [dbo].[MyView]
AS
SELECT * FROM [$(RefServer)].[$(RefDatabase)].dbo.TableName
إعادة تسمية SQLCLR مشاريع و التجميعات
لن يتمكن من إلى نشر مشروع قاعدة بيانات التي تحتوي على مرجع إلى SQLCLR المشروع أو تجميع إذا قمت بتسميته ولكن لا يتم تحديث المرجع.
ملاحظة
لحل هذه المشكلة، إزالة القديمة ترجع، ثم قم بإضافة مرجع إلى مشروع SQLCLR أو تجميع بالاسم المحدث.
بناء جملة غير معتمد ل STOPLIST تتبع
Visual Studio Premium does not model the optional FROM { [DatabaseName.] SourceStoplistName } | SYSTEM STOPLIST ] syntax for the CREATE FULLTEXT STOPLIST statement. بناء الجملة هذا هو تجاهلها إذا قمت باستيراد كائن يقوم باستخدامها.
ملاحظة
لحل هذه المشكلة، يجب عليك يدوياً إضافة stopwords إلى برنامج نصي لما بعد توزيع الخاص بك. لمزيد من المعلومات، راجع كيفية القيام بما يلي: Avoid excessive اقتران الفئة.
SORT_IN_TEMPDB عبارة هو عدم الاستيراد
Visual Studio Premiumلا يمكن استيراد جملة SORT_IN_TEMPDB عن الفهارس. ل مثال، قد يكون لديك التعليمة البرمجية التالية:
CREATE TABLE [dbo].[IndexTable]
{
[Column1] [INT] NOT NULL
}
GO
CREATE NONCLUSTERED INDEX [SortInTempDbOn] ON [dbo].[IndexTable]
{
[Column1] ASC
}
WITH (SORT_IN_TEMPDB = ON)
GO
الفهرس هو استيرادها بدون العبارة SORT_IN_TEMPDB.
ملاحظة
في إصلاح هذه المشكلة، يجب أن يدوياً تصحيح تعريف الفهرس كلما قمت باستيراد التغييرات من قاعدة البيانات في في مشروع الخاص بك.
الولاية معرفات بين علامات الاقتباس هو خسارة متى يمكنك استيراد جدول-Valued دالات يتضمن بيانات متعددة
يمكنك استيراد دالات valued على الجدول التي تحتوي على عبارات متعددة، ولكن الولاية سلسلة "مقتبسة معرّف" هو لا تتم الحفظ في SQL Server. عند استيراد هذه الدالات، قد تظهر أخطاء لأن إعداد الافتراضي "معرفات مقتبسة" هو ON.
ملاحظة
لحل هذه المشكلة، يجب تغيير إعداد "معرفات مقتبسة" أية وظائف valued على الجدول التي تحتوي على عبارات متعددة بعد استيراد الكائنات و الإعدادات أو بعد كتابة التحديثات من قاعدة بيانات الخاصة بك إلى مشروع.
غير مسح بعض أخطاء مشروع بعد إعادة إنشاء مشروع
بعض الأخطاء التي قد تواجهها في مشروع قاعدة بيانات الخاصة بك لا تختفي بعد إصلاح سبب حدوث الخطأ، حتى إذا كنت اعادة تجميع المشروع الخاص بك. على سبيل المثال، إذا قمت بحذف.sqlpermissions ملف الذي تتم الإشارة إليه بالمشروع باستخدام مستكشف Windows، يحدث خطأ، كما هو متوقع. إذا قمت باستخدام "مستكشف الحلول" لإزالة ملف من مشروع و rebuild ثم، الخطأ يبقى، على الرغم من أن تصحيح ذلك.
ملاحظة
إلى إصلاح هذه المشكلة، يجب النقر فوق مشروع Reanalyze في olbar إلى في "مستكشف الحل".
راجع أيضًا:
المهام
كيفية القيام بما يلي: قم بتعديل الكائنات قاعدة بيانات
كيفية القيام بما يلي: Compare the Data of Two Databases
المبادئ
قم باستدعاء طريقة عرض الشجرة-بيانات محتوى محلل ملفات التعريف
قم باستدعاء طريقة عرض الشجرة-بيانات محتوى محلل ملفات التعريف