Вы не можете создать более 1024 столбцов для представления.
http://msdn.microsoft.com/en-us/library/ms143432.aspx
Как проверить:
запустить эти две процедуры для создания таблицы с п число столбцов
хранимых процедур 1:
CREATE Proc [dbo].[CreateTableWithNColumnsPrefixX]
(@TableName nvarchar(100),@NumofCols int)
AS
BEGIN
DECLARE @i INT
DECLARE @MAX INT
DECLARE @SQL VARCHAR(MAX)
DECLARE @j VARCHAR(10)
DECLARE @len int
SELECT @i=1
SELECT @[email protected]
SET @SQL='CREATE TABLE ' + @TableName + '('
WHILE @i<[email protected]
BEGIN
select @j= cast(@i as varchar)
SELECT @SQL= @SQL+'X'[email protected] +' NVARCHAR(500) , '
SET @i = @i + 1
END
select @len=len(@SQL)
select @SQL = substring(@SQL,0,@len-1)
SELECT @SQL= @SQL+ ')'
exec (@SQL)
END
GO
хранимых процедур 2:
CREATE Proc [dbo].[ CreateTableWithNColumnsPrefixA]
(@TableName nvarchar(100),@NumofCols int)
AS
BEGIN
DECLARE @i INT
DECLARE @MAX INT
DECLARE @SQL VARCHAR(MAX)
DECLARE @j VARCHAR(10)
DECLARE @len int
SELECT @i=1
SELECT @[email protected]
SET @SQL='CREATE TABLE ' + @TableName + '('
WHILE @i<[email protected]
BEGIN
select @j= cast(@i as varchar)
SELECT @SQL= @SQL+'A'[email protected] +' NVARCHAR(500) , '
SET @i = @i + 1
END
select @len=len(@SQL)
select @SQL = substring(@SQL,0,@len-1)
SELECT @SQL= @SQL+ ')'
exec (@SQL)
END
GO
Создать таблицу t1 с 1024 столбцами с использованием 1-го SP.
Создать таблицу t2 с 1024 столбцами с использованием второго SP.
Теперь запустите следующий запрос:
Create view TestView
As
Select * from t1,t2
Это даст следующие ошибки
Msg 4505, Level 16, State 1, Procedure TestView, Line 3
CREATE VIEW failed because column 'A1' in view 'TestView' exceeds the maximum of 1024 columns.
Более вероятно, если вы едете куда-нибудь близко к пределу, ваша база данных имеет некоторые структурные недостатки. – HLGEM
Согласитесь в некотором смысле, но вы не знаете контекста. Мы предоставляем интерфейс с упрощенным способом для конечных пользователей создавать собственные представления определенных таблиц и столбцов. Теоретически конечный пользователь может потенциально создать некоторые неуправляемые представления. Я хочу убедиться, что мы даем им возможность делать то, что им нужно, но также свести к минимуму проблемы. – sugarcrum