ich das früher war ein Follow-up zu Changing data type of column in SQL ServerDropping/index Deaktivieren ist besser in SQL Server
Meine Frage schreibe, wenn ich alle Indizes und Einschränkungen entfernen müssen und es war, antwortete ich sie brauche zu entfernen.
So wie ich Surf-Internet zu dem Thema war ich stieß auf ein paar Post sagen, es ist besser zu deaktivieren und aktivieren Sie einen Index, anstatt sie zu entfernen und neu zu erstellen.
Also was ist der bessere Weg, es zu tun? Ermöglicht die Deaktivierung des Indexes auch, den Datentyp der Spalte zu ändern? Was ist der Unterschied zwischen beiden?
Statement mit Abwurf und Erstellen von Index
DROP INDEX UX_1_COMPUTATION ON dbo.Computation
ALTER TABLE dbo.Computation
ALTER COLUMN ComputationID NVARCHAR(25) not null
CREATE UNIQUE INDEX UX_1_COMPUTATION ON dbo.Computation (ComputationID);
Statement mit Sperren und Freigeben Index
ALTER INDEX [UX_1_COMPUTATION ] ON dbo.Computation DISABLE
ALTER TABLE dbo.Computation
ALTER COLUMN ComputationID NVARCHAR(25) not null
ALTER INDEX [UX_1_COMPUTATION ] ON dbo.Computation REBUILD;
Haben Sie Ihr Testskript ausgeführt? Sie können sich auch die Dokumentation ansehen, die Ihnen die [Einschränkungen für das Ändern einer Spalte] (http://msdn.microsoft.com/en-us/library/ms190273.aspx), die in einem Index verwendet werden, und auch was [ Deaktivieren von Indizes] (http://msdn.microsoft.com/en-us/library/ms177406 (v = sql.100) .aspx) tut. Hoffentlich ist es offensichtlich, dass es einen Unterschied zwischen dem Deaktivieren und Löschen (Löschen) gibt. – Pondlife
@Pondlife Danke für die Info – Sam