Ich habe eine vorhandene Datenbank, die die Arabic_CI_AS
Sortierung verwendet, muss sie jedoch in SQL_Latin1_General_CP1_CI_AS
die Standardkollatierung für den Server konvertieren. Das Problem besteht jedoch darin, dass ich den folgenden Befehl verwende:
USE master;
GO
ALTER DATABASE MyDB
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO
Es gibt mir die folgende Fehlermeldung:
Meldung 5075, Ebene 16,
Status 1, Zeile 1 Das Objekt 'GetAllSuppliersInCompliance' ist abhängig von der Datenbanksortierung. Die Datenbanksortierung kann nicht geändert werden, wenn ein schemagebundenes Objekt davon abhängt. Entfernen Sie die Abhängigkeiten von der Datenbanksortierung und wiederholen Sie den Vorgang.Meldung 5075, Ebene 16,
Status 1, Zeile 1 Das Objekt 'GetTier1SupplierComplianceStatus' ist abhängig von der Datenbanksortierung. Die Datenbanksortierung kann nicht geändert werden, wenn ein schemagebundenes Objekt davon abhängt. Entfernen Sie die Abhängigkeiten von der Datenbanksortierung und wiederholen Sie den Vorgang. ..... .....Meldung 5072, Ebene 16, Status 1, Zeile 1
ALTER DATABASE fehlgeschlagen. Die Standardkollatierung der Datenbank 'MyDB' kann nicht auf SQL_Latin1_General_CP1_CI_AS festgelegt werden.
Daher habe ich Folgendes versucht, um die temporären Einschränkungen mit dem folgenden Befehl zu deaktivieren:
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
Ich habe dann den ersten Befehl ausgeführt, jedoch ist der gleiche Fehler aufgetreten.
quelle
WITH SCHEMABINDING
, die Sortieränderung für die Datenbank durchführen und dann erneut anwenden würdeWITH SCHEMABINDING
. Dies, um zu vermeiden, dass Berechtigungen, erweiterte Eigenschaften usw. verloren gehen, die Sie beim Erstellen von Skripten für das Objekt möglicherweise versehentlich übersehen. Ich bin mir auch nicht sicher, ob das Ändern der Sortierung der Datenbank automatisch die Sortierung jeder Tabelle ändert.