SQLServerPSModule icon indicating copy to clipboard operation
SQLServerPSModule copied to clipboard

[Always Encrypted]: DacFx Deploy is returning error 8171 when using NOEXPAND for indexed views

Open sejagada opened this issue 1 year ago • 0 comments

The following is the setup script for this scenario. After running the following TSQL script, encrypt column [T].[AB].[B]

/****** Object: Schema [T] Script Date: 8/1/2024 6:47:58 PM ******/ CREATE SCHEMA [T] GO

/****** Object: Table [T].[XY] Script Date: 8/1/2024 6:47:58 PM / SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [T].[XY]( [X] varchar NOT NULL, [Y] varchar NOT NULL ) ON [PRIMARY] GO / Object: Table [T].[XZ] Script Date: 8/1/2024 6:47:58 PM / SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [T].[XZ]( [X] varchar NOT NULL, [Z] varchar NOT NULL ) ON [PRIMARY] GO / Object: View [T].[V_XYZ] Script Date: 8/1/2024 6:47:58 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [T].[V_XYZ] WITH SCHEMABINDING AS SELECT XY.X, XY.Y, XZ.Z FROM T.XY AS XY INNER JOIN T.XZ AS XZ ON XY.X = XZ.X;

GO SET ARITHABORT ON SET CONCAT_NULL_YIELDS_NULL ON SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON SET ANSI_PADDING ON SET ANSI_WARNINGS ON SET NUMERIC_ROUNDABORT OFF GO /****** Object: Index [T_V_XYZ_X_CI] Script Date: 8/1/2024 6:47:58 PM / CREATE UNIQUE CLUSTERED INDEX [T_V_XYZ_X_CI] ON [T].[V_XYZ] ( [X] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] GO / Object: Table [T].[XP] Script Date: 8/1/2024 6:47:58 PM / SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [T].[XP]( [X] varchar NOT NULL, [P] varchar NOT NULL ) ON [PRIMARY] GO / Object: View [T].[V_YZP] Script Date: 8/1/2024 6:47:58 PM / SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [T].[V_YZP] WITH SCHEMABINDING AS SELECT yz.Y, yz.Z, p.P FROM T.XP AS p INNER JOIN T.V_XYZ AS yz WITH (NOEXPAND) ON p.X = yz.X; GO / Object: Table [T].[AB] Script Date: 8/1/2024 6:47:58 PM / SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [T].[AB]( [A] varchar NULL, [B] varchar NULL ) ON [PRIMARY] GO / Object: StoredProcedure [T].[GetB] Script Date: 8/1/2024 6:47:58 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [T].[GetB] @a VARCHAR (10) AS SELECT B FROM AB WHERE A = a;

GO

sejagada avatar Jan 28 '25 16:01 sejagada