Поменять текущее значение для TIMESTAMP
тогда чем гарантировано, что это поле юник?
-----
Microsoft'oм, вообще-то.
Если у Вас ДТС пакеты регулярно импортируют данные
------
Ну какая может быть регулярность при разовом переносе базы?
...a исправить как-то так:
-----
Мысль, конечно, интересная... но...
Вот тебе скриптик с реальной таблички и замена поля типа TIMESTAMP:
DROP TABLE [dbo].[Defaults]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Defaults](
[IDs] [int] IDENTITY(1,1) NOT NULL,
[Active] [varchar](1) NOT NULL DEFAULT ('Y'),
[KeyID] [int] NOT NULL DEFAULT ((1)),
[RecordType] [int] NOT NULL DEFAULT ((0)),
[SequenceNo] [int] NOT NULL,
[RowID] [binary](8) NULL,
[RowTS] [timestamp] NOT NULL,
PRIMARY KEY CLUSTERED
(
[IDs] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[Defaults] ON
GO
INSERT INTO [dbo].[Defaults]
([IDs]
,[Active]
,[KeyID]
,[RecordType]
,[SequenceNo]
,[RowID])
VALUES
(1, 'Y', 4, 99, 0, 0x00000000000007E5)
GO
SET IDENTITY_INSERT [dbo].[Defaults] OFF
GO
DECLARE @RowTS AS TIMESTAMP
SELECT @RowTS = RowTS FROM dbo.DEFAULTS WHERE IDs = 1
UPDATE [dbo].[Defaults]
SET [RowTS] = @RowTS + 1
WHERE IDs = 1
GO
Надеюсь после его исполнения кое-что станет понятнее.
Меня интересует как установить начальное значение для вставляемых в [RowTS] значений.