Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Может кто прокомментировать?Может кто прокомментировать?  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541

....или в майкрософт сообщение о глюке отправить?
set nocount on
go
select @@version
go
declare @table table(id integer, badfield int)
declare @table1 table(id integer, badfield int, unique(id, badfield))

insert @table
select 1, null union all
select 2, null union all
select 3, null union all
select 8, null
insert @table1
select 1, null union all
select 2, null union all
select 3, null union all
select 8, null

declare @i int
set @i=0
update @table set @i = badfield = @i + 1
set @i=0
update @table1 set @i = badfield = @i + 1

select * from @table
select * from @table1
go
----------------
Microsoft SQL Server 2005 - 9.00.1116 (Intel X86)
 Apr  9 2005 20:56:37
 Copyright (c) 1988-2004 Microsoft Corporation
 Beta Edition on Windows NT 5.1 (Build 2600: Service Pack 2)

id          badfield
----------- -----------
1           1
2           2
3           3
8           4

id          badfield
----------- -----------
1           1
2           3
3           5
8           7

Posted via ActualForum NNTP Server 1.2

20 июл 05, 10:25    [1719003]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
VirusXP
Member

Откуда: Москва
Сообщений: 2266
declare @i int
set @i=0
update @table set @i = badfield = @i + 1
set @i=0
update @table1 set @i = badfield = @i + 1
что ты этим хотел сказать???
20 июл 05, 10:28    [1719019]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
Microsoft SQL Server  2000 - 8.00.878 (Intel X86) 
	Nov 11 2003 13:37:42 
	Copyright (c) 1988-2003 Microsoft Corporation
	Personal Edition on Windows NT 5.2 (Build 3790: Service Pack 1)

id          badfield
----------- -----------
1           1
2           2
3           3
8           4

id          badfield
----------- -----------
1           1
2           2
3           3
8           4
Не знаю, Вы бы еще планы апдейтов к этому делу приложили.
20 июл 05, 10:31    [1719039]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31596
А с 4-м сервис-паком по-другому:
                                                                                                         Microsoft SQL Server  2000 - 8.00.2039 (Intel X86) 
	May  3 2005 23:18:38 
	Copyright (c) 1988-2003 Microsoft Corporation
	Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)


id          badfield    
----------- ----------- 
1           1
2           2
3           3
8           4

id          badfield    
----------- ----------- 
1           1
2           2
3           3
8           4
20 июл 05, 10:31    [1719040]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
VirusXP
что ты этим хотел сказать???

Обновляем сначала данные одной таблички, затем - второй...
Гавриленко Сергей Алексеевич
Microsoft SQL Server  2000 - 8.00.878 (Intel X86) 
 Nov 11 2003 13:37:42 
 Copyright (c) 1988-2003 Microsoft Corporation
Personal Edition on Windows NT 5.2 (Build 3790: Service Pack 1)

Roman S. Golubin
Microsoft SQL Server 2005 - 9.00.1116 (Intel X86)
 Apr  9 2005 20:56:37
 Copyright (c) 1988-2004 Microsoft Corporation
 Beta Edition on Windows NT 5.1 (Build 2600: Service Pack 2)

Rows                 Executes             StmtText                                                           StmtId      NodeId      Parent      PhysicalOp                     LogicalOp                      Argument                                        DefinedValues               EstimateRows  EstimateIO    EstimateCPU   AvgRowSize  TotalSubtreeCost OutputList             Warnings Type                                                             Parallel EstimateExecutions
-------------------- -------------------- ------------------------------------------------------------------ ----------- ----------- ----------- ------------------------------ ------------------------------ ----------------------------------------------- --------------------------- ------------- ------------- ------------- ----------- ---------------- ---------------------- -------- ---------------------------------------------------------------- -------- ------------------
4                    1                    update @table set @i = badfield = @i + 1                           3           1           0           NULL                           NULL                           NULL                                            NULL                        1             NULL          NULL          NULL        0.0132843        NULL                   NULL     UPDATE                                                           0        NULL
4                    1                      |--Table Update(OBJECT:(@table), SET:([badfield] = [Expr1004]))  3           2           1           Table Update                   Update                         OBJECT:(@table), SET:([badfield] = [Expr1004])  NULL                        1             0.01          1E-06         9           0.0132843        NULL                   NULL     PLAN_ROW                                                         0        1
4                    1                           |--Compute Scalar(DEFINE:([Expr1004]=[@i] = [@i]+(1)))      3           3           2           Compute Scalar                 Compute Scalar                 DEFINE:([Expr1004]=[@i] = [@i]+(1))             [Expr1004]=[@i] = [@i]+(1)  1             0             1E-07         19          0.0032833        [Bmk1000], [Expr1004]  NULL     PLAN_ROW                                                         0        1
4                    1                                |--Top(ROWCOUNT est 0)                                 3           4           3           Top                            Top                            TOP EXPRESSION:((0))                            NULL                        1             0             1E-07         15          0.0032832        [Bmk1000]              NULL     PLAN_ROW                                                         0        1
4                    1                                     |--Table Scan(OBJECT:(@table))                    3           5           4           Table Scan                     Table Scan                     OBJECT:(@table)                                 [Bmk1000]                   1             0.0032035     7.96E-05      15          0.0032831        [Bmk1000]              NULL     PLAN_ROW                                                         0        1

Rows                 Executes             StmtText                                                                                                                                                                   StmtId      NodeId      Parent      PhysicalOp                     LogicalOp                      Argument                                                                                                      DefinedValues                                                                                        EstimateRows  EstimateIO    EstimateCPU   AvgRowSize  TotalSubtreeCost OutputList                                               Warnings Type                                                             Parallel EstimateExecutions
-------------------- -------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------- ----------- ----------- ------------------------------ ------------------------------ ------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ------------- ------------- ------------- ----------- ---------------- -------------------------------------------------------- -------- ---------------------------------------------------------------- -------- ------------------
8                    1                    update @table1 set @i = badfield = @i + 1                                                                                                                                  4           1           0           NULL                           NULL                           NULL                                                                                                          NULL                                                                                                 1             NULL          NULL          NULL        0.03651469       NULL                                                     NULL     UPDATE                                                           0        NULL
8                    1                      |--Index Update(OBJECT:(@table1), SET:([Bmk10061025] = [Bmk1006],[id1026] = [id],[badfield1027] = [badfield]))                                                           4           3           1           Index Update                   Update                         OBJECT:(@table1), SET:([Bmk10061025] = [Bmk1006],[id1026] = [id],[badfield1027] = [badfield])                 NULL                                                                                                 1             0.01          1E-06         9           0.03651469       NULL                                                     NULL     PLAN_ROW                                                         0        1
8                    1                           |--Collapse(GROUP BY:([id], [badfield]))                                                                                                                            4           4           3           Collapse                       Collapse                       GROUP BY:([id], [badfield])                                                                                   NULL                                                                                                 1             0             2E-06         27          0.02651369       [Bmk1006], [id], [badfield], [Act1024]                   NULL     PLAN_ROW                                                         0        1
8                    1                                |--Sort(ORDER BY:([id] ASC, [badfield] ASC, [Act1024] ASC))                                                                                                    4           5           4           Sort                           Sort                           ORDER BY:([id] ASC, [badfield] ASC, [Act1024] ASC)                                                            NULL                                                                                                 1             0.013125      0.000100027   27          0.02651169       [Bmk1006], [id], [badfield], [Act1024]                   NULL     PLAN_ROW                                                         0        1
8                    1                                     |--Filter(WHERE:(NOT [Expr1022]))                                                                                                                         4           6           5           Filter                         Filter                         WHERE:(NOT [Expr1022])                                                                                        NULL                                                                                                 1             0             7.6E-07       27          0.01328666       [Bmk1006], [id], [badfield], [Act1024]                   NULL     PLAN_ROW                                                         0        1
8                    1                                          |--Split                                                                                                                                             4           7           6           Split                          Split                          NULL                                                                                                          [Act1024]                                                                                            2             0             1.5E-06       28          0.0132859        [Bmk1006], [id], [badfield], [Expr1022], [Act1024]       NULL     PLAN_ROW                                                         0        1
4                    1                                               |--Table Update(OBJECT:(@table1), SET:([badfield] = [Expr1004]))                                                                                4           8           7           Table Update                   Update                         OBJECT:(@table1), SET:([badfield] = [Expr1004])                                                               NULL                                                                                                 1             0.01          1E-06         28          0.0132844        [Bmk1006], [id], [badfield], [badfield_OLD], [Expr1022]  NULL     PLAN_ROW                                                         0        1
4                    1                                                    |--Compute Scalar(DEFINE:([Expr1022]=[Expr1022]))                                                                                          4           9           8           Compute Scalar                 Compute Scalar                 DEFINE:([Expr1022]=[Expr1022])                                                                                [Expr1022]=[Expr1022]                                                                                1             0             1E-07         20          0.0032834        [Bmk1000], [Expr1004], [Expr1022]                        NULL     PLAN_ROW                                                         0        1
0                    0                                                         |--Compute Scalar(DEFINE:([Expr1022]=CASE WHEN [Expr1005] THEN (1) ELSE (0) END))                                                     4           10          9           Compute Scalar                 Compute Scalar                 DEFINE:([Expr1022]=CASE WHEN [Expr1005] THEN (1) ELSE (0) END)                                                [Expr1022]=CASE WHEN [Expr1005] THEN (1) ELSE (0) END                                                1             0             1E-07         20          0.0032834        [Bmk1000], [Expr1004], [Expr1022]                        NULL     PLAN_ROW                                                         0        1
4                    1                                                              |--Compute Scalar(DEFINE:([Expr1004]=[@i] = [@i]+(1), [Expr1005]=CASE WHEN [badfield] = [@i] = [@i]+(1) THEN (1) ELSE (0) END))  4           11          10          Compute Scalar                 Compute Scalar                 DEFINE:([Expr1004]=[@i] = [@i]+(1), [Expr1005]=CASE WHEN [badfield] = [@i] = [@i]+(1) THEN (1) ELSE (0) END)  [Expr1004]=[@i] = [@i]+(1), [Expr1005]=CASE WHEN [badfield] = [@i] = [@i]+(1) THEN (1) ELSE (0) END  1             0             1E-07         20          0.0032833        [Bmk1000], [Expr1004], [Expr1005]                        NULL     PLAN_ROW                                                         0        1
4                    1                                                                   |--Top(ROWCOUNT est 0)                                                                                                      4           12          11          Top                            Top                            TOP EXPRESSION:((0))                                                                                          NULL                                                                                                 1             0             1E-07         19          0.0032832        [Bmk1000], [badfield]                                    NULL     PLAN_ROW                                                         0        1
4                    1                                                                        |--Table Scan(OBJECT:(@table1))                                                                                        4           13          12          Table Scan                     Table Scan                     OBJECT:(@table1)                                                                                              [Bmk1000], [badfield]                                                                                1             0.0032035     7.96E-05      19          0.0032831        [Bmk1000], [badfield]                                    NULL     PLAN_ROW                                                         0        1

Особо порадовало:

Compute Scalar(DEFINE:([Expr1022]=[Expr1022]))
:-))
20 июл 05, 10:55    [1719180]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
Rows        Executes    StmtText                                                                                                                                  StmtId      NodeId      Parent      PhysicalOp                     LogicalOp                      Argument                                                                                                               DefinedValues                                EstimateRows  EstimateIO    EstimateCPU   AvgRowSize  TotalSubtreeCost OutputList                                               Warnings Type                           Parallel EstimateExecutions
----------- ----------- ----------------------------------------------------------------------------------------------------------------------------------------- ----------- ----------- ----------- ------------------------------ ------------------------------ ---------------------------------------------------------------------------------------------------------------------- -------------------------------------------- ------------- ------------- ------------- ----------- ---------------- -------------------------------------------------------- -------- ------------------------------ -------- ------------------
8           1           update @table1 set @i = badfield = @i + 1                                                                                                 25          1           0           NULL                           NULL                           NULL                                                                                                                   NULL                                         1             NULL          NULL          NULL        0,08255517       NULL                                                     NULL     UPDATE                         0        NULL
8           1             |--Index Update(OBJECT:-(@table1), SET:-([IdxBmk1006]=RaiseIfNull([Bmk1003]), [badfield1008]=@table1.[badfield], [id1007]=@table1.[id]))  25          2           1           Index Update                   Update                         OBJECT:-(@table1), SET:-([IdxBmk1006]=RaiseIfNull([Bmk1003]), [badfield1008]=@table1.[badfield], [id1007]=@table1.[id])  NULL                                         1             0,01675676    1E-06         15          0,08255517       NULL                                                     NULL     PLAN_ROW                       0        1
8           1                  |--Collapse(GROUP BY:-(@table1.[id], @table1.[badfield]))                                                                           25          3           2           Collapse                       Collapse                       GROUP BY:-(@table1.[id], @table1.[badfield])                                                                            NULL                                         1             0             3E-06         27          0,06579742       [Bmk1003], @table1.[id], @table1.[badfield], [Act1005]   NULL     PLAN_ROW                       0        1
8           1                       |--Sort(ORDER BY:-(@table1.[id] ASC, @table1.[badfield] ASC, [Act1005] ASC))                                                   25          4           3           Sort                           Sort                           ORDER BY:-(@table1.[id] ASC, @table1.[badfield] ASC, [Act1005] ASC)                                                     NULL                                         2             0,01126126    0,000103147   27          0,06579442       [Bmk1003], @table1.[id], @table1.[badfield], [Act1005]   NULL     PLAN_ROW                       0        1
8           1                            |--Split                                                                                                                 25          5           4           Split                          Split                          NULL                                                                                                                   [Act1005]                                    2             0             1,395E-05     27          0,05443001       [Bmk1003], @table1.[id], @table1.[badfield], [Act1005]   NULL     PLAN_ROW                       0        1
4           1                                 |--Table Update(OBJECT:-(@table1), SET:-(@table1.[badfield]=[Expr1004]))                                              25          6           5           Table Update                   Update                         OBJECT:-(@table1), SET:-(@table1.[badfield]=[Expr1004])                                                                  NULL                                         1             0,01675676    1E-06         33          0,05441606       [Bmk1003], @table1.[id], @table1.[badfield], [Expr1004]  NULL     PLAN_ROW                       0        1
4           1                                      |--Compute Scalar(DEFINE:-([Expr1004]=[@i]=[@i]+1))                                                             25          7           6           Compute Scalar                 Compute Scalar                 DEFINE:-([Expr1004]=[@i]=[@i]+1)                                                                                        [Expr1004]=[@i]=[@i]+1                       1             0             1E-07         27          0,0376583        [Bmk1000], @table1.[id], @table1.[badfield], [Expr1004]  NULL     PLAN_ROW                       0        1
4           1                                           |--Top(ROWCOUNT est 0)                                                                                    25          8           7           Top                            Top                            NULL                                                                                                                   NULL                                         1             0             1E-07         23          0,0376582        [Bmk1000], @table1.[id], @table1.[badfield]              NULL     PLAN_ROW                       0        1
4           1                                                |--Table Scan(OBJECT:-(@table1))                                                                      25          9           8           Table Scan                     Table Scan                     OBJECT:-(@table1)                                                                                                       [Bmk1000], @table1.[id], @table1.[badfield]  1             0,0375785     7,96E-05      23          0,0376581        [Bmk1000], @table1.[id], @table1.[badfield]              NULL     PLAN_ROW                       0        1
А должон быть вот такой.
З.Ы. Кривоватый 1116 билд?
20 июл 05, 11:20    [1719353]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
P.S.
автор
Table Scan(OBJECT:-(@table1))

Перемещал между компами через аську, она навставляла дефисов между : и (. Смайлы, млин. :)
20 июл 05, 11:21    [1719368]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541

Вот я и думаю - они там (майкрософты) баги вроде собирать хотели. А как отправить сообщение - забыли указать :-)))

Posted via ActualForum NNTP Server 1.2

20 июл 05, 11:28    [1719420]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
Roman S. Golubin

Вот я и думаю - они там (майкрософты) баги вроде собирать хотели. А как отправить сообщение - забыли указать :-)))

Posted via ActualForum NNTP Server 1.2


Смысл? Уже выпустили более свежий билд, да и эти промежуточный они, как я понимаю, дают на страх и риск тех, кто их хочет.
20 июл 05, 11:30    [1719435]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541

1116 они рассылали в зеленых коробках. А на новый трафика жалко.

Posted via ActualForum NNTP Server 1.2

20 июл 05, 11:32    [1719452]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
WiRuc
Member

Откуда: Воронеж
Сообщений: 1280
Из плана ясно видно, что баг возникает в результате оптимизации процесса обновления индекса (наличие такой оптимизации может только радовать). Если в свежем билде не решили, то можно заявлять.
20 июл 05, 11:37    [1719484]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
WiRuc
Если в свежем билде не решили, то можно заявлять.

https://www.sql.ru/forum/actualthread.aspx?tid=201610#1719040
20 июл 05, 11:38    [1719489]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
WiRuc
Member

Откуда: Воронеж
Сообщений: 1280
Гавриленко Сергей Алексеевич
WiRuc
Если в свежем билде не решили, то можно заявлять.

https://www.sql.ru/forum/actualthread.aspx?tid=201610#1719040


Понятно:) Смутила надпись "с 4 сервис-паком" - думал относиться к SQL2000.
20 июл 05, 11:49    [1719572]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31596
WiRuc
Гавриленко Сергей Алексеевич
WiRuc
Если в свежем билде не решили, то можно заявлять.

https://www.sql.ru/forum/actualthread.aspx?tid=201610#1719040


Понятно:) Смутила надпись "с 4 сервис-паком" - думал относиться к SQL2000.
Надпись "с 4 сервис-паком" действительно относиться к SQL2000. Там у меня строка с версией вправо ушла :-(

Версия Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) - это MSSQL 2000 SP4

А вот Гавриленко Сергей Алексеевич писал - версия Microsoft SQL Server 2000 - 8.00.878 (Intel X86). Это вроде 3-й сервис-пак - и тоже всё нормально.

А у вас вообще SQL Server 2005 - там никто не знает...

Хотя я не знаю, можно-ли писать про баг - ведь поведение при такои апдейте нигде не описано :-(
20 июл 05, 15:04    [1720856]     Ответить | Цитировать Сообщить модератору
 Re: Может кто прокомментировать?Может кто прокомментировать?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
автор
А у вас вообще SQL Server 2005 - там никто не знает...

Ха! А девяточку я и не заметил. :)

Microsoft SQL Server 2005 - 9.00.1187.07 (Intel X86) 
	May 24 2005 18:22:46 
	Copyright (c) 1988-2005 Microsoft Corporation
	Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)


id          badfield
----------- -----------
1           1
2           2
3           3
8           4

id          badfield
----------- -----------
1           1
2           2
3           3
8           4

Видимо, уже поправили.
20 июл 05, 15:07    [1720887]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить