SQL Server mehr Schema-Objekt Fragen
-
26-09-2019 - |
Frage
Ich habe Datenbank, die mehrere Schemata und Objekte unter ihnen hat. Ich mag die Objekte in ein Schema konsolidieren.
Ich habe versucht,
ALTER SCHEMA dbo TRANSFER <custom_schema>.<table_name>
Ich bekomme ein „Objekt ist bereits vorhanden Meldung“. sehe sie Allerdings kann ich nicht im Management Studio und
SELECT * from dbo.<table_name>
returns "Objekt existiert nicht" Fehler.
Sieht aus wie ein System Tabelleneintrag ist whack heraus. Ich sah sysobjects und es hat nur einen Eintrag für. Irgendwelche Vorschläge, wie man Ärger zu schießen / beheben dieses Problem ist willkommen.
Hinweis: Ich kann ein Synonym erstellen
CREATE SYNONYM dbo.<table_name> FOR <custom_schema>.<table_name>
funktioniert
Lösung
Nach dieser MSDN-Seite Ihr Problem kann durch einen doppelten Primärschlüssel verursacht werden Name . das heißt Ihre table_name Primärschlüssel Namenskonflikte mit einem Primärschlüssel Name bereits in einer anderen Tabelle in dbo definiert.
Um dieses Problem zu beheben, benennen Sie die Primärschlüssel für die Tabelle, dass Sie verschieben möchten. Verwenden Sie einen Namen, der nicht der Fall ist erscheinen als ein Primärschlüssel in der Zielschema.