В существующей базе данных я хотел бы изменить существующий идентификатор как int на UUID
Как вы можете видеть ниже, столбец теперь является основным ключом с индексом CLUSTERED
Пример кода создания таблицы:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tblUsers](
[UserID] [int] IDENTITY(1,1) NOT NULL,
[LastName] [nvarchar](100) NOT NULL,
[LoginName] [nvarchar](25) NOT NULL,
[RoleID] [int] NOT NULL,
CONSTRAINT [PK_tblUsers] PRIMARY KEY CLUSTERED
(
[UserID] 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
Как быстро решить проблему для многих таблиц?
В таблице может быть много строк, поэтому мне интересно, как сделать индекс. В общем случае не следует создавать индекс для UUID.
EDIT:
Пример другой справочной таблицы:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tblUsersDist](
[UserDistID] [int] IDENTITY(1,1) NOT NULL,
[UserID] [int] NOT NULL,
[LocationId] [int] NOT NULL,
CONSTRAINT [PK_tblUsersDist] PRIMARY KEY CLUSTERED
(
[UserDistID] 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