4 Stimmen

Es kann keine Zeile der Größe 8064 erstellt werden, die größer ist als die zulässige Zeilengröße von 8060

Ich habe dieses seltsame Problem, wenn ich eine Spalte zu einer bestehenden Tabelle hinzufüge.

Die vorhandene Tabelle sieht wie folgt aus:

CREATE TABLE [BinaryAssets].[BinaryAssets](
 [BinaryAssetId] [int] IDENTITY(1,1) NOT NULL,
 [BinaryAssetStructureId] [int] NOT NULL,
 [Name] [nvarchar](max) NOT NULL,
 [Created_By] [int] NOT NULL,
 [Created_On] [bigint] NOT NULL,
 [Modified_By] [int] NOT NULL,
 [Modified_On] [bigint] NOT NULL,
 [Active] [bit] NOT NULL,
 CONSTRAINT [PK_BinaryAsset] PRIMARY KEY NONCLUSTERED 
(
 [BinaryAssetId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF,
   ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

Die Sql, die ich auszuführen versuche, sieht wie folgt aus:

ALTER TABLE BinaryAssets.BinaryAssets ADD
 [Version] INT NOT NULL CONSTRAINT DF_BinaryAssets_Version DEFAULT 1

ALTER TABLE BinaryAssets.BinaryAssets
 DROP CONSTRAINT DF_BinaryAssets_Version

Wenn ich versuche, das Programm auszuführen, erhalte ich eine sqlexception (siehe Titel).

Ich glaube nicht, dass meine Tabelle größer als 8060 ist, wo liegt also das Problem? Seltsam ist, dass wenn ich zum Beispiel den Namen von nvarchar(max) auf nvarchar(100) ändere, dann meine neue Sql ausführe und dann die 100 wieder auf MAX ändere, es funktioniert... Logik scheint hier weit weg zu sein.

Kann mir jemand sagen, was ich hier falsch mache?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X