标题: Microsoft SQL Server Management Studio
------------------------------
创建 对于 索引“ddd”失败。 (Microsoft.SqlServer.Smo)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1540+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=创建+Index&LinkId=20476
------------------------------
其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
无法对视图 'visit_channel_doc' 创建 索引,因为该视图未绑定到架构。 (Microsoft SQL Server,错误: 1939)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=1939&LinkId=20476
sqlserver 2008 视图索引创建 在设计视图创建的话 默认 绑定到架构为否,TOP规范为是,这样再创建视图索引时就会出现视图未绑定到架构的错误信息,所以要在属性窗口改下 绑定到架构为是,TOP规范为否,还有就是count函数要变为COUNT_BIG函数;
记着创建唯一聚集索引 好处大大滴(联机丛书上有解说嘿嘿...)
视图中的 SELECT 语句不能包含下列 Transact-SQL 语法元素:
指定列的 * 或 table_name.* 语法。必须明确给出列名。
不能在多个视图列中指定用作简单表达式的表列名。如果对列的所有(或除了一个引用之外的所有)引用是复杂表达式的一部分或是函数的一个参数,则可以多次引用该列。例如,下面的 SELECT 列表无效:
复制代码
SELECT ColumnA, ColumnB, ColumnA
下面的 SELECT 列表有效:
复制代码
SELECT SUM(ColumnA) AS SumColA, ColumnA % ColumnB AS ModuloColAColB, COUNT_BIG(*) AS cBig FROM dbo.T1 GROUP BY ModuloColAColB
在 GROUP BY 子句中使用的列的表达式或基于聚合结果的表达式。
派生表。
公用表表达式 (CTE)。
行集函数。
UNION、EXCEPT 或 INTERSECT 运算符。
子查询。
外联接或自联接。
TOP 子句。
ORDER BY 子句。
DISTINCT 关键字。
COUNT(*)(允许 COUNT_BIG(*)。)
AVG、MAX、MIN、STDEV、STDEVP、VAR 或 VARP 聚合函数。如果在引用索引视图的查询中指定了 AVG(expression),则当视图 SELECT 列表中包含 SUM(expression) 和 COUNT_BIG(expression) 时,优化器可经常计算所需结果。例如,索引视图 SELECT 列表不能包含表达式 AVG(column1)。如果视图 SELECT 列表包含表达式 SUM(column1) 和 COUNT_BIG(column1),则 SQL Server 可以计算引用视图并指定 AVG(column1) 的查询的平均数。
引用可为空表达式的 SUM 函数。
包括排名或聚合开窗函数的 OVER 子句。
CLR 用户定义聚合函数。
全文谓词 CONTAINS 或 FREETEXT。
COMPUTE 或 COMPUTE BY 子句。
CROSS APPLY 或 OUTER APPLY 运算符。
PIVOT 或 UNPIVOT 运算符。
表提示(仅应用于 90 或更高的兼容级别)。
联接提示。
对 Xquery 表达式的直接引用。可以接受间接引用,例如位于绑定到架构的、用户定义的函数内部的 Xquery 表达式。
如果指定了 GROUP BY,则视图选择列表必须包含 COUNT_BIG(*) 表达式,且视图定义不能指定 HAVING、ROLLUP、CUBE 或 GROUPING SETS。
详细可参考sqlserver联机丛书中的“创建索引视图