سؤال

لدي قاعدة بيانات تحتوي على مخططات وكائنات متعددة تحتها. أريد دمج الأشياء في مخطط واحد.

حاولت

ALTER SCHEMA dbo TRANSFER <custom_schema>.<table_name>

أحصل على "كائن موجود بالفعل". ومع ذلك ، لا يمكنني رؤيته في استوديو الإدارة و

SELECT * from dbo.<table_name>

إرجاع "الكائن غير موجود" خطأ.

يبدو أن بعض إدخال جدول النظام خارج عن الضرب. نظرت إلى sysobjects ولديه إدخال واحد فقط. أي اقتراحات حول كيفية مشكلة التصوير/ إصلاح هذه المشكلة هي موضع ترحيب.

ملاحظة: يمكنني إنشاء مرادف

CREATE SYNONYM dbo.<table_name> FOR <custom_schema>.<table_name>

يعمل بشكل جيد

هل كانت مفيدة؟

المحلول

بالنسبة الى صفحة MSDN هذه قد تكون مشكلتك ناتجة عن أ تكرار اسم المفتاح الأساسي. أي أن اسم المفتاح الأساسي الخاص بـ Table_Name الخاص بك يتعارض مع اسم مفتاح أساسي محدد بالفعل داخل جدول آخر في DBO.

لحل هذه المشكلة ، أعد تسمية المفتاح الأساسي للجدول الذي تريد نقله. استخدم اسمًا لا يظهر كمفتاح أساسي في مخطط الوجهة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top