SQL Server:如何编写alter index语句以将列添加到唯一索引?

JL.*_*JL. 50 indexing sql-server-2005 alter

我有一个UNIQUE, NON CLUSTERED表的索引,目前使用4列索引.

我想创建一个只能向该索引添加另一列的alter脚本.新列类型是varchar.

该数据库是SQL Server 2005.

提前致谢.

mar*_*c_s 78

你不能改变索引 - 你所能做的就是

  1. 删除旧索引(DROP INDEX (indexname) ON (tablename))
  2. 使用其中的附加列重新创建新索引:

      CREATE UNIQUE NONCLUSTERED INDEX (indexname)
      ON dbo.YourTableName(columns to include)
    
    Run Code Online (Sandbox Code Playgroud)

ALTER INDEXSQL Server中的语句可用于更改现有索引的某些属性(存储属性等),但不允许更改组成索引的列.

  • 现在你让我难过......为什么问你的团队中是否有DBA? (39认同)
  • @LievenKeersmaekers“如果你的团队中有 DBA,为什么还要问这个问题?”对于有同样问题的人来说?StackOverflow 的总体目的是什么? (5认同)
  • 查看MSDN上"创建索引"页面中的DROP_EXISTING.有一些限制,您可以修改索引.请参阅Paul White的回复.http://www.sqlservercentral.com/Forums/Topic913722-391-1.aspx (3认同)