CREATE TABLE [dbo].[PolicyUserRole]
(
[ID] [uniqueidentifier] NOT NULL,
[RoleID] [uniqueidentifier] NOT NULL,
[UserID] [uniqueidentifier] NOT NULL,
[PolicyID] [uniqueidentifier] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PolicyUserRole] ADD CONSTRAINT [PK_PolicyUserRole] PRIMARY KEY NONCLUSTERED ([ID]) ON [PRIMARY]
GO
CREATE UNIQUE CLUSTERED INDEX [IX_PolicyUserRole] ON [dbo].[PolicyUserRole] ([RoleID], [UserID], [PolicyID]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PolicyUserRole] WITH NOCHECK ADD CONSTRAINT [FK_PolicyUserRole_Policy] FOREIGN KEY ([PolicyID]) REFERENCES [dbo].[Policies] ([PolicyID]) ON DELETE CASCADE
GO
ALTER TABLE [dbo].[PolicyUserRole] WITH NOCHECK ADD CONSTRAINT [FK_PolicyUserRole_Role] FOREIGN KEY ([RoleID]) REFERENCES [dbo].[Roles] ([RoleID])
GO
ALTER TABLE [dbo].[PolicyUserRole] WITH NOCHECK ADD CONSTRAINT [FK_PolicyUserRole_User] FOREIGN KEY ([UserID]) REFERENCES [dbo].[Users] ([UserID])
GO
GRANT REFERENCES ON [dbo].[PolicyUserRole] TO [RSExecRole]
GRANT SELECT ON [dbo].[PolicyUserRole] TO [RSExecRole]
GRANT INSERT ON [dbo].[PolicyUserRole] TO [RSExecRole]
GRANT DELETE ON [dbo].[PolicyUserRole] TO [RSExecRole]
GRANT UPDATE ON [dbo].[PolicyUserRole] TO [RSExecRole]
GO