![]() |
Datenbank: MsSQL • Version: 2008 R2 • Zugriff über: UniDac
Fehler beim Überprüfen des Standards für die Spalte 'rowguid'
Hallo zusammen,
ich habe eine DB die ich seit einiger Zeit per Merge-Replikation replizieren. Beim Erstellen (noch mit SQL 2005) wurde in allen Tabellen automatisch die Spalte RowGuid mit dem Standardwert (newsequentialid()) eingefügt. Wenn ich jetzt in solch einer Tabelle per Management-Studio etwas ändere kommt beim Speichern die Meldung Zitat:
Es kann doch nicht sein, dass die von MsSQL selbst angelegt Definition falsch ist. Was also tun. Alles auf NewID ändern oder lassen Viele Grüße Gerd |
AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'
Hat die Datenbank evtl. noch einen älteren Kompatibilitätsgrad (compatibility level) als der Server?
|
AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'
Hallo Andreas,
der Kompatibilitatsgrad der DB ist Server 2005 der MsSQL-Server selber ist 2008 R2. Ich hab die DB mal testweise auf SQL 2008 gesetzt. Die Meldung bleibt aber dieselbe. Grüße Gerd |
AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'
Lass Dir das "CREATE TABLE" Statement vom Management Studio erzeugen und ändere dann den Tabellennamen ab.
Wenn du das Script ausführst solltest du eine weitere Tabelle mit genau der gleichen Struktur bekommen. Hat diese Tabelle das gleiche Problem? Wenn du das Script hier einstellst könnte man es auch auf einem anderen SQL Server ausführen und ebenfalls testen. |
AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'
Vorweg: Ich hab keine Ahnung von MSSQL.
Ich glaube aber, dass es ein Datenproblem ist. Wenn es mit newid funktioniert und die Fehlermeldung für newsquentialid "Fehler bei Überprüfen des Standards" lautet schließt man doch: Es gibt einen Constraint Unterschied der beiden Funktionen. Sequential werte ich dabei mal als fortfolgend/aufsteigend. Bei NewID fehlt dieser Constraint. Du hast also vermutlich ID in der Spalte, die nicht mehr gegen "aufsteigend" validiert werden können. Lässt Du diesen Constraint weg und nimmst nur newid geht es ja dann auch. Also einfach so lassen oder Daten aufräumen. Prüfen ließe sich meine Annahme mit einer Auswertung der ID Sequence. |
AW: Fehler beim Überprüfen des Standards für die Spalte 'rowguid'
Hallo,
ich habe das Thema etwas aus den Augen verloren da es eigentlich nur eine Unschönheit ist und wollte es jetzt wieder aufgreifen. Ich habe mal eine neue Tabelle mit folgendem Sript erstellt
Code:
Danach im MsSQL Management Studio mit "Oberste 200 Zeilen bearbeiten" einen Datensatz eingefügt
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Test]( [ID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, [VorNr] [nvarchar](2) NULL, [Benennung] [nvarchar](40) NULL, [ServOrt] [nchar](1) NULL, [ErstUserID] [int] NULL, [ErstDat] [datetime] NULL, [LastUserID] [int] NULL, [LastDat] [datetime] NULL, [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL, CONSTRAINT [PK__Test] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[Test] ADD CONSTRAINT [DF_Test_rowguid] DEFAULT (newsequentialid()) FOR [rowguid] GO Danach über "Entwerfen" das Feld Test nvarchar(10) ans Ende der Tabelle gehängt Beim Schließen kommt wieder die Meldung Zitat:
Gerd |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz