@@ -164,6 +164,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
164164 @full_object_name nvarchar (768 ) = NULL ,
165165 @final_script nvarchar (MAX ) = ' ' ,
166166 /* cursor variables*/
167+ @c_database_id integer ,
168+ @c_schema_name sysname ,
167169 @c_table_name sysname ,
168170 @c_index_name sysname ,
169171 @c_is_unique bit ,
@@ -275,6 +277,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
275277 database_id integer NOT NULL ,
276278 object_id integer NOT NULL ,
277279 index_id integer NOT NULL ,
280+ schema_name sysname NOT NULL ,
278281 table_name sysname NOT NULL ,
279282 index_name sysname NULL ,
280283 column_name sysname NOT NULL ,
@@ -323,7 +326,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
323326 PRIMARY KEY CLUSTERED (database_id, object_id , index_id, partition_id)
324327 );
325328
326- CREATE TABLE #index_analysis
329+ CREATE TABLE
330+ #index_analysis
327331 (
328332 database_id integer NOT NULL ,
329333 schema_name sysname NOT NULL ,
@@ -340,7 +344,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
340344 PRIMARY KEY CLUSTERED (table_name, index_name)
341345 );
342346
343- CREATE TABLE #index_cleanup_report
347+ CREATE TABLE
348+ #index_cleanup_report
344349 (
345350 database_name sysname NOT NULL ,
346351 table_name sysname NOT NULL ,
@@ -526,6 +531,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
526531 database_id = @database_id,
527532 t.object_id,
528533 i.index_id,
534+ schema_name = s.name,
529535 table_name = t.name,
530536 index_name = i.name,
531537 column_name = c.name,
@@ -652,6 +658,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
652658 database_id,
653659 object_id ,
654660 index_id,
661+ schema_name ,
655662 table_name,
656663 index_name,
657664 column_name,
@@ -861,6 +868,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
861868 WITH
862869 (TABLOCK )
863870 (
871+ database_id,
872+ schema_name ,
864873 table_name,
865874 index_name,
866875 is_unique,
@@ -869,6 +878,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
869878 filter_definition
870879 )
871880 SELECT
881+ @database_id,
882+ id1 .schema_name ,
872883 id1 .table_name ,
873884 id1 .index_name ,
874885 id1 .is_unique ,
@@ -922,6 +933,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
922933 id1 .filter_definition
923934 FROM #index_details id1
924935 GROUP BY
936+ id1 .schema_name ,
925937 id1 .table_name ,
926938 id1 .index_name ,
927939 id1 .is_unique ,
@@ -949,6 +961,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
949961 READ_ONLY
950962 FOR
951963 SELECT DISTINCT
964+ ia .database_id ,
965+ ia .schema_name ,
952966 ia .table_name ,
953967 ia .index_name ,
954968 ia .is_unique ,
@@ -963,6 +977,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
963977 FETCH NEXT
964978 FROM @index_cursor
965979 INTO
980+ @c_database_id,
981+ @c_schema_name,
966982 @c_table_name,
967983 @c_index_name,
968984 @c_is_unique,
@@ -974,13 +990,17 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
974990 IndexColumns AS
975991 (
976992 SELECT
993+ id .database_id ,
994+ id .schema_name ,
977995 id .table_name ,
978996 id .index_name ,
979997 id .column_name ,
980998 id .is_included_column ,
981999 id .key_ordinal
9821000 FROM #index_details id
983- WHERE id .table_name = @c_table_name
1001+ WHERE id .database_id = @c_database_id
1002+ AND id .schema_name = @c_schema_name
1003+ AND id .table_name = @c_table_name
9841004 ),
9851005 CurrentIndexColumns AS
9861006 (
@@ -1087,12 +1107,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10871107 ' '
10881108 )
10891109 FROM #index_analysis ia
1090- WHERE ia .table_name = @c_table_name
1110+ WHERE ia .database_id = @c_database_id
1111+ AND ia .schema_name = @c_schema_name
1112+ AND ia .table_name = @c_table_name
10911113 AND ia .index_name <> @c_index_name;
10921114
10931115 FETCH NEXT
10941116 FROM @index_cursor
10951117 INTO
1118+ @c_database_id,
1119+ @c_schema_name,
10961120 @c_table_name,
10971121 @c_index_name,
10981122 @c_is_unique,
@@ -1109,7 +1133,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
11091133 THEN N ' DROP'
11101134 WHEN superseded_by IS NOT NULL
11111135 AND missing_columns IS NULL
1112- THEN N ' MERGE INTO ' + superseded_by
1136+ THEN N ' MERGE INTO ' +
1137+ superseded_by
11131138 WHEN superseded_by IS NOT NULL
11141139 AND missing_columns IS NOT NULL
11151140 THEN N ' MERGE INTO ' +
0 commit comments