При выполнении текущей команды возникла серьезная ошибка при наличии результатов они должны быть аннулированы

Ошибка при выполнении запроса SQL Server Решение и ответ на вопрос 267463

dima_r

0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

1

Ошибка при выполнении запроса

31.03.2011, 03:45. Показов 10476. Ответов 8

Метки нет (Все метки)


Обычненький запрос..

SQL
1
2
3
SELECT event_id, event FROM main 
WHERE sport_id = 1 AND event LIKE 'Какой-то текст'
GROUP BY event_id,event

Все очень просто main — Это таблица… всего одна.. в ней записей около 48млн.. колонок около 11-12..
При выполнении запроса вылетает ошибка:
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы

При этом если делать выборку только первых несколько тысяч строк, например 5-6, вот так:

SQL
1
2
3
SELECT TOP 6000 event_id,event FROM main 
WHERE sports_id = 1 AND event LIKE 'Какой-то текст'
GROUP BY event_id,event;

То все нормально, но если кол-во строк увеличить например до 20тыс., то вылетает уже ошибка, при этом при просмотре хода выполнения видно что считал около 10200 записей, и потом уже вылетела ошибка.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

31.03.2011, 03:45

8

Devil_FoX

168 / 142 / 1

Регистрация: 01.04.2010

Сообщений: 474

31.03.2011, 11:27

2

я где-то читал что есть версии студий SQL, которые обрезаны по некоторым функционалам (не нашёл у себя инфы где расписано это) возможно у тебя такая.

Попробуй скопировать во временную таблицу свои данные.

T-SQL
1
2
3
4
5
6
7
8
9
10
if object_id('tempdb..#dat') is not null drop table #dat
create table #dat
(event_id int, -- вставь свой тип данных
event varchar(50) )
 
insert into #dat
SELECT event_id, event FROM main 
WHERE sport_id = 1 AND event LIKE 'Какой-то текст' 
/*кстати команду LIKE используй только для не точного поиска, так как она существенно загружает сервер. используй "="*/
GROUP BY event_id,event



0



0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

31.03.2011, 18:16

 [ТС]

3

Тоже саоме выдает
The statement has been terminated.
Msg 0, Level 11, State 0, Line 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.
——
Он походу просто не может выбрать такое большое количество записей что ли…..
Кстати на счет версии:

Microsoft SQL Server Management Studio 10.50.1600.1
Microsoft Analysis Services Client Tools 10.50.1600.1
Microsoft Data Access Components (MDAC) 6.1.7600.16385
Microsoft MSXML 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 8.0.7600.16385
Microsoft .NET Framework 2.0.50727.4927
Operating System 6.1.7600



0



0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

18.04.2011, 07:38

 [ТС]

4

Есть какие-нибудь пожелания?



0



197 / 197 / 5

Регистрация: 24.07.2010

Сообщений: 1,311

18.04.2011, 12:55

5

А если как-то сузить выборку? сделать какие-нибудь доп. условия?
Пробывал из какой-нить проги запрос выполнять?)



0



0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

22.04.2011, 09:52

 [ТС]

6

Сузить запрос невозможно.. необходимо узнать кол-во этих записей
Выяснить бы в чем проблема….



0



1107 / 753 / 181

Регистрация: 27.11.2009

Сообщений: 2,241

22.04.2011, 10:09

7

Цитата
Сообщение от dima_r
Посмотреть сообщение

Тоже саоме выдает
The statement has been terminated.
Msg 0, Level 11, State 0, Line 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.
——
Он походу просто не может выбрать такое большое количество записей что ли…..
Кстати на счет версии:

Microsoft SQL Server Management Studio 10.50.1600.1
Microsoft Analysis Services Client Tools 10.50.1600.1
Microsoft Data Access Components (MDAC) 6.1.7600.16385
Microsoft MSXML 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 8.0.7600.16385
Microsoft .NET Framework 2.0.50727.4927
Operating System 6.1.7600

10.50.1600.1 — это Microsoft SQL Server 2008 R2 RTM — Express (19.04.2010)
Во-первых, надо пропатчиться.
Во-вторых, действительно есть серьёзные ограничения для Express
http://www.microsoft.com/downl… laylang=ru



0



38 / 38 / 25

Регистрация: 14.12.2009

Сообщений: 202

22.04.2011, 13:15

8

Проблема не в запросе, а в менеджере, как уже описано выше.
Ставь нормальный полнофункциональный раз у тебя в базе несколько миллионов записей и работай.
Вообще все эти Експерссы для небольших баз до 2 Гб.

и Backup сделать не забудь перед шаманством



0



0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

25.05.2011, 14:23

 [ТС]

9

Вообще странно, вроде скачивал
SQL Server 2008 R2 Developer (x86, x64, ia64) (10.50.1600.1) — DVD (English)
А теперь оказывается это Express…. И какой тогда мне нужно качать менеджер?



0



SQL Server 2016 Developer SQL Server 2016 Enterprise SQL Server 2016 Enterprise Core SQL Server 2016 Standard SQL Server 2016 Service Pack 1 Еще…Меньше

Симптомы

При выполнении инструкции UPDATE для таблицы, которая имеет также columnstore кластеризованного индекса (CCI) в Microsoft SQL Server 2016 может появиться ошибка утверждения, похожее на следующее:

Location:     «bpbatch.cpp»:240
Выражение: (BP_VECTOR_ID)(iNew + 1) == iNew + 1
SPID: 55
Идентификатор процесса: 1556

Сообщение 3624, уровень 20, состояние 1, строка 1

Не удалось выполнить проверку системы утверждения. Проверьте подробности в журнале ошибок SQL Server. Как правило ошибки подтверждения причиной является повреждение данных или ошибки программного обеспечения. Чтобы проверить наличие повреждения базы данных, рассмотрите выполнение инструкции DBCC CHECKDB. Если вы согласились отправлять дампов в Майкрософт во время установки, мини-дамп будут отправлены в корпорацию Майкрософт. Возможно, обновление от корпорации Майкрософт в последний Пакет обновления или исправление из службы технической поддержки.

Сообщение 596, уровень 21, состояние 1, строка 0

Не удается продолжить выполнение, поскольку сеанс находится в состоянии деактивации.

Сообщение 0, уровень 20 0, состояние строки 0

Для текущей команды возникла серьезная ошибка.  Результаты, если таковые имеются, должны быть аннулированы.

Решение

Эта ошибка исправлена в следующем накопительном обновлении для SQL Server:

Накопительного обновления 3 для SQL Server SP1 2016

Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и все исправления безопасности, входившие в состав предыдущего накопительного обновления. Извлечь последние накопительные обновления для SQL Server:

Последнее накопительное обновление для SQL Server 2016

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

Ссылки

Дополнительные сведения о терминологии, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Добрый день.

MS SQL 2014 Standart with SP2 установлен на MS Win Server 2014r2 Standart.

В связи с тем-что из софтового рэйда intel «выпал» диск и никак не хотел этим рэйдом подхватываться было решено перенести рэйд на другой контроллер(LSI 9240). Был остановлен SQL сервер, затем скопированы все файлы баз данных
на резервный диск, затем пересобран рэйд и файлы бд скопированы обратно в те же директории. В связи с тем, что перед отключением SQL базы не были корректно отключены, начали возникать ошибки:

Microsoft SQL Server Native Client 11.0: Операционная система возвратила ошибку 1(Неверная функция.) в SQL Server при запись в смещении 0x00000003aa0000
файла «E:Datatempdb.mdf».

Отключили базы, удалили целиком SQL сервер, установили с нуля, подключили обратно. Ошибка больше не появляется. Но теперь появляется ошибка при попытке сжатия базы или журнала. Резервное копирование этих баз и журналов проходит корректно, DBCC
CHECKDB проходит без ошибок (если предварительно не сделать попытку сжатия).

ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————

Действие Сжатие завершилось неудачно для объекта «База данных» «crm_demo».  (Microsoft.SqlServer.Smo)

Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=12.0.5000.0+((SQL14_PCU_main).160617-1804)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Сжатие+Database&LinkId=20476

——————————
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:

При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)

——————————

При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы. (Microsoft SQL Server, ошибка: 0)

Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=12.00.5000&EvtSrc=MSSQLServer&EvtID=0&LinkId=20476

Перезапуск СУБД, естественно, пробовал. В логи ОС сыпется ошибка 9001, после отсоединения и присоединения базы ошибка в логах больше не появляется до следующей попытке сжатия базы.

Подскажите как решить данную проблему.

Running the following query in SQL Server Management Studio gives the error below.

update table_name set is_active = 0 where id  = 3

A severe error occurred on the current command. The results, if any, should be discarded.

  • The logs have been truncated
  • there is an update trigger but this isnt the issue
  • the transaction count is zero (@@trancount)

I have tried the same update statement on a couple of other tables in the database and they work fine.

DBCC CHECKTABLE('table_name');

gives

DBCC results for 'table_name'.
There are 13 rows in 1 pages for object "table_name".
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

p.campbell's user avatar

p.campbell

97.5k67 gold badges255 silver badges319 bronze badges

asked Jul 24, 2009 at 0:34

Paul Rowland's user avatar

Paul RowlandPaul Rowland

8,24412 gold badges55 silver badges76 bronze badges

1

I just had the same error, and it was down to a corrupted index.
Re-indexing the table fixed the problem.

Clint's user avatar

Clint

2,67622 silver badges42 bronze badges

answered Aug 18, 2010 at 16:23

LauraB's user avatar

2

In my case,I was using SubQuery and had a same problem. I realized that the problem is from memory leakage.

Restarting MSSQL service cause to flush tempDb resource and free huge amount of memory.
so this was solve the problem.

answered Jan 7, 2013 at 7:06

ARZ's user avatar

ARZARZ

2,4513 gold badges34 silver badges56 bronze badges

0

Run DBCC CHECKTABLE('table_name');

Check the LOG folder where the isntance is installed (Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOG usually) for any file named ‘SQLDUMP*

answered Jul 24, 2009 at 0:39

Remus Rusanu's user avatar

Remus RusanuRemus Rusanu

286k40 gold badges430 silver badges565 bronze badges

2

answered Jul 24, 2009 at 4:12

gbn's user avatar

gbngbn

417k81 gold badges581 silver badges670 bronze badges

1

In my case, I was using System.Threading.CancellationTokenSource to cancel a SqlCommand but not handling the exception with catch (SqlException) { }

answered Apr 12, 2017 at 22:14

Leo Gurdian's user avatar

Leo GurdianLeo Gurdian

2,05416 silver badges20 bronze badges

1

This error is exactly what it means: Something bad happened, that would not normally happen.

In my most recent case, the REAL error was:

Msg 9002, Level 17, State 2, Procedure MyProcedure, Line 2 [Batch Start Line 3]
The transaction log for database 'MyDb' is full due to 'LOG_BACKUP'.

Here is my checklist of things to try, perhaps in this exact order:

  1. Check if you’re out of disk space (this was my real problem; our NOC did not catch this)
  2. Check if you’re low on memory
  3. Check if the Windows Event Log shows any serious system failures like hard drives failing
  4. Check if you have any unsafe code loaded through extended procedures or SQLCLR unsafe assemblies that could de-stabilize the SQLServer.exe process.
  5. Run CheckDB to see if your database has any corruption issues. On a very large database, if this stored procedure only touches a sub-set of tables, you can save time by seeing which partitions (filegroups) the stored procedure touches, and only checking those specific filegroups.
    1. I would do this for your database and master db as well.

answered Jun 6, 2019 at 17:33

John Zabroski's user avatar

John ZabroskiJohn Zabroski

2,1442 gold badges27 silver badges53 bronze badges

3

This seems to happen when there’s a generic problem with your data source that it isn’t handling.

In my case I had inserted a bunch of data, the indexes had become corrupt on the table, they needed rebuilding. I found a script to rebuild them all, seemed to fix it. To find the error I ran the same query on the database — one that had worked 100+ times previously.

answered Oct 20, 2019 at 22:46

Paul Hutchinson's user avatar

Paul HutchinsonPaul Hutchinson

7791 gold badge12 silver badges27 bronze badges

in my case, the method: context.Database.CreateIfNotExists(); called up multiple times before create database and crashed an error A severe error occurred on the current command. The results, if any, should be discarded.

answered Dec 7, 2020 at 13:27

Silny ToJa's user avatar

Silny ToJaSilny ToJa

1,6271 gold badge5 silver badges16 bronze badges

I was having the error in Hangfire where I did not have access to the internal workings of the library or was I able to trace what the primary cause was.

Building on @Remus Rusanu answer, I was able to have this fixed with the following script.

    --first set the database to single user mode
    ALTER DATABASE TransXSmartClientJob
    SET SINGLE_USER
    WITH ROLLBACK IMMEDIATE;
    GO

    -- Then try to repair
    DBCC CHECKDB(TransXSmartClientJob, REPAIR_REBUILD)

    -- when done, set the database back to multiple user mode
    ALTER DATABASE TransXSmartClientJob
    SET MULTI_USER;
    GO

answered Aug 28, 2020 at 11:46

Shittu Joseph Olugbenga's user avatar

One other possible solution we just found after having this issue across multiple databases/tables on the same server.

Is the max connections open to the sql server. We had an app that wasn’t closing it’s SQL connection and was leaving them open so we were running around 28K-31K connections (SQL Sever has a max out at 32K ish), and we noticed that once we killed a few thousand sleeping connections it took care of the error listed on this question.

The fix was to update the apps to make sure they closed their connections instead of leaving them open.

answered Oct 21, 2020 at 15:36

tryonlinux's user avatar

tryonlinuxtryonlinux

1081 silver badge11 bronze badges

In my case it was something else, += operator caused this. I had to replace += X with field = field + X to overcome this. I assume this is a bug though I wasn’t able to find any related KB on Microsoft sites.

I am using SQL Server 2008 R2(10.50.1600).

answered Jan 4, 2021 at 9:44

MelOS's user avatar

MelOSMelOS

5555 silver badges10 bronze badges

Just wanted to add my 2cents to help whomever the next person that comes across this is.

We noticed that a specific report was failing after half an hour. I assumed it was a timeout as the amount of data being returned was huge. It turns out the SSRS default timeout setting is 1800 seconds (30mins). I changed the setting on this specific report to run indefinitely with no timeout and that resolved our issue.

Next step is to identify ways to improve the performance of the MSSQL behind the report :)

answered Jun 14, 2022 at 3:21

L.Newell's user avatar

L.NewellL.Newell

981 gold badge2 silver badges12 bronze badges

I had the same issue but the table was too big the I couldn’t fix it from the UI or by dropping and creating all indexes.
So here is another way to solve this , or at least it worked for me.

  1. I have backed up the database to a BAK file
  2. I have create a new database from newly backed up file and called the new database the same name but with appendix of «_BK» like this : myDatabase_BK
  3. The «bad table» on the new database was already working well without the error — so it seems that the deployment fixed the problem for the new database
  4. So what left was to rename the bad table on the live database(myDatabase) and then to create the same table from the backup (after renaming myDatabase.myTable):select * into myDatabase.myTable from myDatabase_BK.myTable
  5. Make sure to create all indexes on the new table.

answered Jun 19, 2022 at 7:14

Gil Allen's user avatar

Gil AllenGil Allen

1,14914 silver badges23 bronze badges

I received this same exception, but it was due to the fact that I was using Polybase to issue a query to an external table from an API request that was enlisting in a Transaction via TransactionScopes. The exception thrown from ADO.Net was the unhelpful: «A severe error occurred on the current command».

However, in SSMS, I did the following which finally made me realize that it was the transaction that was causing this issue:

  • View Object Explorer
  • Expand the Management Node
  • Expand SQL Server Logs
  • View the current log, and the errors that are logged when this exception was logged.

I saw the following:

Unsupported transaction manager request 0 encountered. SQL Server Parallel DataWarehousing TDS endpoint only supports local transaction request for 'begin/commit/rollback'.

I then placed this particular query in another transaction scope, suppressing the transactionscope that it would have enlisted in, and it worked.

using (var transactionScope = this.transactionScopeFactory.Create(
    System.Transactions.TransactionScopeOption.Suppress,
    new System.Transactions.TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted },
    System.Transactions.TransactionScopeAsyncFlowOption.Enabled))
{
    // ... query

    transactionScope.Complete(); // Suppress scope option renders this unnecessary, but just a good habit
}

answered Nov 3, 2022 at 19:40

Seth Flowers's user avatar

Seth FlowersSeth Flowers

8,9502 gold badges29 silver badges42 bronze badges

Running the following query in SQL Server Management Studio gives the error below.

update table_name set is_active = 0 where id  = 3

A severe error occurred on the current command. The results, if any, should be discarded.

  • The logs have been truncated
  • there is an update trigger but this isnt the issue
  • the transaction count is zero (@@trancount)

I have tried the same update statement on a couple of other tables in the database and they work fine.

DBCC CHECKTABLE('table_name');

gives

DBCC results for 'table_name'.
There are 13 rows in 1 pages for object "table_name".
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

p.campbell's user avatar

p.campbell

97.5k67 gold badges255 silver badges319 bronze badges

asked Jul 24, 2009 at 0:34

Paul Rowland's user avatar

Paul RowlandPaul Rowland

8,24412 gold badges55 silver badges76 bronze badges

1

I just had the same error, and it was down to a corrupted index.
Re-indexing the table fixed the problem.

Clint's user avatar

Clint

2,67622 silver badges42 bronze badges

answered Aug 18, 2010 at 16:23

LauraB's user avatar

2

In my case,I was using SubQuery and had a same problem. I realized that the problem is from memory leakage.

Restarting MSSQL service cause to flush tempDb resource and free huge amount of memory.
so this was solve the problem.

answered Jan 7, 2013 at 7:06

ARZ's user avatar

ARZARZ

2,4513 gold badges34 silver badges56 bronze badges

0

Run DBCC CHECKTABLE('table_name');

Check the LOG folder where the isntance is installed (Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOG usually) for any file named ‘SQLDUMP*

answered Jul 24, 2009 at 0:39

Remus Rusanu's user avatar

Remus RusanuRemus Rusanu

286k40 gold badges430 silver badges565 bronze badges

2

answered Jul 24, 2009 at 4:12

gbn's user avatar

gbngbn

417k81 gold badges581 silver badges670 bronze badges

1

In my case, I was using System.Threading.CancellationTokenSource to cancel a SqlCommand but not handling the exception with catch (SqlException) { }

answered Apr 12, 2017 at 22:14

Leo Gurdian's user avatar

Leo GurdianLeo Gurdian

2,05416 silver badges20 bronze badges

1

This error is exactly what it means: Something bad happened, that would not normally happen.

In my most recent case, the REAL error was:

Msg 9002, Level 17, State 2, Procedure MyProcedure, Line 2 [Batch Start Line 3]
The transaction log for database 'MyDb' is full due to 'LOG_BACKUP'.

Here is my checklist of things to try, perhaps in this exact order:

  1. Check if you’re out of disk space (this was my real problem; our NOC did not catch this)
  2. Check if you’re low on memory
  3. Check if the Windows Event Log shows any serious system failures like hard drives failing
  4. Check if you have any unsafe code loaded through extended procedures or SQLCLR unsafe assemblies that could de-stabilize the SQLServer.exe process.
  5. Run CheckDB to see if your database has any corruption issues. On a very large database, if this stored procedure only touches a sub-set of tables, you can save time by seeing which partitions (filegroups) the stored procedure touches, and only checking those specific filegroups.
    1. I would do this for your database and master db as well.

answered Jun 6, 2019 at 17:33

John Zabroski's user avatar

John ZabroskiJohn Zabroski

2,1442 gold badges27 silver badges53 bronze badges

3

This seems to happen when there’s a generic problem with your data source that it isn’t handling.

In my case I had inserted a bunch of data, the indexes had become corrupt on the table, they needed rebuilding. I found a script to rebuild them all, seemed to fix it. To find the error I ran the same query on the database — one that had worked 100+ times previously.

answered Oct 20, 2019 at 22:46

Paul Hutchinson's user avatar

Paul HutchinsonPaul Hutchinson

7791 gold badge12 silver badges27 bronze badges

in my case, the method: context.Database.CreateIfNotExists(); called up multiple times before create database and crashed an error A severe error occurred on the current command. The results, if any, should be discarded.

answered Dec 7, 2020 at 13:27

Silny ToJa's user avatar

Silny ToJaSilny ToJa

1,6271 gold badge5 silver badges16 bronze badges

I was having the error in Hangfire where I did not have access to the internal workings of the library or was I able to trace what the primary cause was.

Building on @Remus Rusanu answer, I was able to have this fixed with the following script.

    --first set the database to single user mode
    ALTER DATABASE TransXSmartClientJob
    SET SINGLE_USER
    WITH ROLLBACK IMMEDIATE;
    GO

    -- Then try to repair
    DBCC CHECKDB(TransXSmartClientJob, REPAIR_REBUILD)

    -- when done, set the database back to multiple user mode
    ALTER DATABASE TransXSmartClientJob
    SET MULTI_USER;
    GO

answered Aug 28, 2020 at 11:46

Shittu Joseph Olugbenga's user avatar

One other possible solution we just found after having this issue across multiple databases/tables on the same server.

Is the max connections open to the sql server. We had an app that wasn’t closing it’s SQL connection and was leaving them open so we were running around 28K-31K connections (SQL Sever has a max out at 32K ish), and we noticed that once we killed a few thousand sleeping connections it took care of the error listed on this question.

The fix was to update the apps to make sure they closed their connections instead of leaving them open.

answered Oct 21, 2020 at 15:36

tryonlinux's user avatar

tryonlinuxtryonlinux

1081 silver badge11 bronze badges

In my case it was something else, += operator caused this. I had to replace += X with field = field + X to overcome this. I assume this is a bug though I wasn’t able to find any related KB on Microsoft sites.

I am using SQL Server 2008 R2(10.50.1600).

answered Jan 4, 2021 at 9:44

MelOS's user avatar

MelOSMelOS

5555 silver badges10 bronze badges

Just wanted to add my 2cents to help whomever the next person that comes across this is.

We noticed that a specific report was failing after half an hour. I assumed it was a timeout as the amount of data being returned was huge. It turns out the SSRS default timeout setting is 1800 seconds (30mins). I changed the setting on this specific report to run indefinitely with no timeout and that resolved our issue.

Next step is to identify ways to improve the performance of the MSSQL behind the report :)

answered Jun 14, 2022 at 3:21

L.Newell's user avatar

L.NewellL.Newell

981 gold badge2 silver badges12 bronze badges

I had the same issue but the table was too big the I couldn’t fix it from the UI or by dropping and creating all indexes.
So here is another way to solve this , or at least it worked for me.

  1. I have backed up the database to a BAK file
  2. I have create a new database from newly backed up file and called the new database the same name but with appendix of «_BK» like this : myDatabase_BK
  3. The «bad table» on the new database was already working well without the error — so it seems that the deployment fixed the problem for the new database
  4. So what left was to rename the bad table on the live database(myDatabase) and then to create the same table from the backup (after renaming myDatabase.myTable):select * into myDatabase.myTable from myDatabase_BK.myTable
  5. Make sure to create all indexes on the new table.

answered Jun 19, 2022 at 7:14

Gil Allen's user avatar

Gil AllenGil Allen

1,14914 silver badges23 bronze badges

I received this same exception, but it was due to the fact that I was using Polybase to issue a query to an external table from an API request that was enlisting in a Transaction via TransactionScopes. The exception thrown from ADO.Net was the unhelpful: «A severe error occurred on the current command».

However, in SSMS, I did the following which finally made me realize that it was the transaction that was causing this issue:

  • View Object Explorer
  • Expand the Management Node
  • Expand SQL Server Logs
  • View the current log, and the errors that are logged when this exception was logged.

I saw the following:

Unsupported transaction manager request 0 encountered. SQL Server Parallel DataWarehousing TDS endpoint only supports local transaction request for 'begin/commit/rollback'.

I then placed this particular query in another transaction scope, suppressing the transactionscope that it would have enlisted in, and it worked.

using (var transactionScope = this.transactionScopeFactory.Create(
    System.Transactions.TransactionScopeOption.Suppress,
    new System.Transactions.TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted },
    System.Transactions.TransactionScopeAsyncFlowOption.Enabled))
{
    // ... query

    transactionScope.Complete(); // Suppress scope option renders this unnecessary, but just a good habit
}

answered Nov 3, 2022 at 19:40

Seth Flowers's user avatar

Seth FlowersSeth Flowers

8,9502 gold badges29 silver badges42 bronze badges

dima_r

0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

1

Ошибка при выполнении запроса

31.03.2011, 03:45. Показов 10338. Ответов 8

Метки нет (Все метки)


Обычненький запрос..

SQL
1
2
3
SELECT event_id, event FROM main 
WHERE sport_id = 1 AND event LIKE 'Какой-то текст'
GROUP BY event_id,event

Все очень просто main — Это таблица… всего одна.. в ней записей около 48млн.. колонок около 11-12..
При выполнении запроса вылетает ошибка:
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы

При этом если делать выборку только первых несколько тысяч строк, например 5-6, вот так:

SQL
1
2
3
SELECT TOP 6000 event_id,event FROM main 
WHERE sports_id = 1 AND event LIKE 'Какой-то текст'
GROUP BY event_id,event;

То все нормально, но если кол-во строк увеличить например до 20тыс., то вылетает уже ошибка, при этом при просмотре хода выполнения видно что считал около 10200 записей, и потом уже вылетела ошибка.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

31.03.2011, 03:45

8

Devil_FoX

168 / 142 / 1

Регистрация: 01.04.2010

Сообщений: 474

31.03.2011, 11:27

2

я где-то читал что есть версии студий SQL, которые обрезаны по некоторым функционалам (не нашёл у себя инфы где расписано это) возможно у тебя такая.

Попробуй скопировать во временную таблицу свои данные.

T-SQL
1
2
3
4
5
6
7
8
9
10
if object_id('tempdb..#dat') is not null drop table #dat
create table #dat
(event_id int, -- вставь свой тип данных
event varchar(50) )
 
insert into #dat
SELECT event_id, event FROM main 
WHERE sport_id = 1 AND event LIKE 'Какой-то текст' 
/*кстати команду LIKE используй только для не точного поиска, так как она существенно загружает сервер. используй "="*/
GROUP BY event_id,event

0

0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

31.03.2011, 18:16

 [ТС]

3

Тоже саоме выдает
The statement has been terminated.
Msg 0, Level 11, State 0, Line 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.
——
Он походу просто не может выбрать такое большое количество записей что ли…..
Кстати на счет версии:

Microsoft SQL Server Management Studio 10.50.1600.1
Microsoft Analysis Services Client Tools 10.50.1600.1
Microsoft Data Access Components (MDAC) 6.1.7600.16385
Microsoft MSXML 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 8.0.7600.16385
Microsoft .NET Framework 2.0.50727.4927
Operating System 6.1.7600

0

0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

18.04.2011, 07:38

 [ТС]

4

Есть какие-нибудь пожелания?

0

197 / 197 / 5

Регистрация: 24.07.2010

Сообщений: 1,311

18.04.2011, 12:55

5

А если как-то сузить выборку? сделать какие-нибудь доп. условия?
Пробывал из какой-нить проги запрос выполнять?)

0

0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

22.04.2011, 09:52

 [ТС]

6

Сузить запрос невозможно.. необходимо узнать кол-во этих записей
Выяснить бы в чем проблема….

0

1107 / 753 / 181

Регистрация: 27.11.2009

Сообщений: 2,241

22.04.2011, 10:09

7

Цитата
Сообщение от dima_r
Посмотреть сообщение

Тоже саоме выдает
The statement has been terminated.
Msg 0, Level 11, State 0, Line 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.
——
Он походу просто не может выбрать такое большое количество записей что ли…..
Кстати на счет версии:

Microsoft SQL Server Management Studio 10.50.1600.1
Microsoft Analysis Services Client Tools 10.50.1600.1
Microsoft Data Access Components (MDAC) 6.1.7600.16385
Microsoft MSXML 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 8.0.7600.16385
Microsoft .NET Framework 2.0.50727.4927
Operating System 6.1.7600

10.50.1600.1 — это Microsoft SQL Server 2008 R2 RTM — Express (19.04.2010)
Во-первых, надо пропатчиться.
Во-вторых, действительно есть серьёзные ограничения для Express
http://www.microsoft.com/downl… laylang=ru

0

38 / 38 / 25

Регистрация: 14.12.2009

Сообщений: 202

22.04.2011, 13:15

8

Проблема не в запросе, а в менеджере, как уже описано выше.
Ставь нормальный полнофункциональный раз у тебя в базе несколько миллионов записей и работай.
Вообще все эти Експерссы для небольших баз до 2 Гб.

и Backup сделать не забудь перед шаманством

0

0 / 0 / 0

Регистрация: 31.03.2011

Сообщений: 13

25.05.2011, 14:23

 [ТС]

9

Вообще странно, вроде скачивал
SQL Server 2008 R2 Developer (x86, x64, ia64) (10.50.1600.1) — DVD (English)
А теперь оказывается это Express…. И какой тогда мне нужно качать менеджер?

0

Добрый день.

MS SQL 2014 Standart with SP2 установлен на MS Win Server 2014r2 Standart.

В связи с тем-что из софтового рэйда intel «выпал» диск и никак не хотел этим рэйдом подхватываться было решено перенести рэйд на другой контроллер(LSI 9240). Был остановлен SQL сервер, затем скопированы все файлы баз данных
на резервный диск, затем пересобран рэйд и файлы бд скопированы обратно в те же директории. В связи с тем, что перед отключением SQL базы не были корректно отключены, начали возникать ошибки:

Microsoft SQL Server Native Client 11.0: Операционная система возвратила ошибку 1(Неверная функция.) в SQL Server при запись в смещении 0x00000003aa0000
файла «E:Datatempdb.mdf».

Отключили базы, удалили целиком SQL сервер, установили с нуля, подключили обратно. Ошибка больше не появляется. Но теперь появляется ошибка при попытке сжатия базы или журнала. Резервное копирование этих баз и журналов проходит корректно, DBCC
CHECKDB проходит без ошибок (если предварительно не сделать попытку сжатия).

ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————

Действие Сжатие завершилось неудачно для объекта «База данных» «crm_demo».  (Microsoft.SqlServer.Smo)

Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=12.0.5000.0+((SQL14_PCU_main).160617-1804)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Сжатие+Database&LinkId=20476

——————————
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:

При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)

——————————

При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы. (Microsoft SQL Server, ошибка: 0)

Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=12.00.5000&EvtSrc=MSSQLServer&EvtID=0&LinkId=20476

Перезапуск СУБД, естественно, пробовал. В логи ОС сыпется ошибка 9001, после отсоединения и присоединения базы ошибка в логах больше не появляется до следующей попытке сжатия базы.

Подскажите как решить данную проблему.

Проблемы

Предположим, что вы используете Microsoft SQL Server 2019. Обратите внимание, что в обозревателе объектов SQL Server Management Studio (SSMS) невозможно развернуть узел задания, просмотреть состояние задания в мониторе активности заданий, просмотреть сведения о заданиях или внести изменения в задания. Программа может перестать отвечать на запросыили появляется сообщение об ошибке, подобное приведенному ниже.

Не удалось получить данные для этого запроса. (Microsoft.SqlServer.Management.Sdk.Sfc)

При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)

При текущей команде возникла серьезная ошибка.  Результаты, если таковые имеются, должны быть удалены. (Поставщик SqlClient данных .NET)

Кроме того, обратите внимание на то, что вы замечаете. EXE показывает использование времени ЦП с повышенными привилегиями для одного или нескольких процессоров. Отслеживание действий в SQL Server может обнаружить, что запросы к xp_sqlagent_enum_jobs не возвращают данные в течение периода ожидания.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».

Решение

Эта проблема устранена в следующем накопительном обновлении SQL Server:

  • Накопительное обновление 3 для SQL Server 2019

Сведения о накопительных обновлениях для SQL Server.

Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.

  • Последнее накопительное обновление для SQL Server 2019

Обходное решение

Для решения этой проблемы можно использовать следующие методы:

  1. Не изменяйте задания со следующей меткой времени запуска, которая меньше, чем текущая отметка времени.

  2. Используйте CU1 для SQL Server 2019.

Дополнительная информация

Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

  

vvf

05.06.14 — 15:26

При запуске в режиме предприятие/конфигуратор запускается и сразу

возникает окно с ошибкой

Что предпринимал.

05.06.2014 15:22:09

Невосстановимая ошибка

Ошибка при выполнении запроса POST к ресурсу /e1cib/modules/call/3a12d40e-dbbb-4655-b315-420c19ead762/d5963243-262e-4398-b4d7-fb16d06484f6:

по причине:

Ошибка СУБД:

Microsoft SQL Server Native Client 10.0: Возможно, повреждена схема. Запустите DBCC CHECKCATALOG.

HRESULT=80040E07, SQLSrvr: SQLSTATE=22007, state=33, Severity=17, native=211, line=1

1. Запустите DBCC CHECKCATALOG. — Пробовал запускать, не помогло

2. dbcc checkdb — не помогло.

3. делал sql-бэкап, из него восстанавливал в другую базу, тоже не помогло.

Что еще предпринять?

  

vvf

1 — 05.06.14 — 15:30

Вот что выдает команда

dbcc checkdb

Сообщение 0, уровень 11, состояние 0, строка 0

При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.

Сообщение 0, уровень 20, состояние 0, строка 0

При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.

  

floody

2 — 05.06.14 — 15:31

Перезапуск сервера 1С делал?

  

МихаилМ

3 — 05.06.14 — 15:35

восстановите резервную копию и работайте дальше.

  

Segate

4 — 05.06.14 — 15:36

(3)спорю что нет бекапа )

  

Segate

5 — 05.06.14 — 15:37

Могу посмотреть, если совсем все плохо

  

Ёпрст

6 — 05.06.14 — 15:37

попробуй dts-ом перезалить табличку config

  

mikecool

7 — 05.06.14 — 15:38

почистить кеш сервера?

  

Ёпрст

8 — 05.06.14 — 15:39

ну и DBSchema заодно

  

vde69

Модератор

9 — 05.06.14 — 15:39

подними рядом копию, и из копии перекопируй таблички конфигурации, если не взлетит то еще и схему,

если и это не поможет — то копируй в обратку рабочие таблички

  

Segate

10 — 05.06.14 — 15:40

Только бекап сделай сначала! )))

  

Segate

11 — 05.06.14 — 15:42

Если не получится ничего: Segate2006@rambler.ru пиши посмотрю =)

  

МихаилМ

12 — 05.06.14 — 15:43

ясно же написано «повреждена схема»

получите текст ошибки на англицком и читайте в интернет, как

как восстановить схему.  

но проще восстановить бд из резервной копии и не занаиматься ерундой.

  

vvf

13 — 05.06.14 — 15:59

1. Бэкапов никаких нет. Увы(

2. Я взял 2 файла с погибшего пк, mdf и ldf на другой машине поднял sql и столкнулся с такой проблемой

3. Хочется разобраться с вашей помощью, все инструменты присуствуют, необходимо только указать направление

  

Segate

14 — 05.06.14 — 16:02

(13) Конфа то типовая?

  

МихаилМ

15 — 05.06.14 — 16:10

  

МихаилМ

16 — 05.06.14 — 16:11

  

vvf

17 — 05.06.14 — 16:16

Нет, конфигурация специфичная. Я так понимаю что дело совсем не в конфигурации, нужно что-то делать средствами sql

По последней ссылке

1. Восставить все из бэкапа (если есть) — нет ничего

2. Починить все с repair_allow_data_loss, а что было loss, долить с бэкапа (если есть). — вот тут поподробнее, что нужно сделать?

  

Сергиус

18 — 05.06.14 — 16:22

(17) я правильно понял, что никакой другой версии базы нет, только поврежденная?

  

МихаилМ

19 — 05.06.14 — 16:24

(17)

начните с создания копии бд (sp_msforeachtable + удаляте из списка полей поля с типом timestamp )

так выясните , какие таблицы не копируются целиком

далее методом вилки найдете поврежденые участки данных

вот тут поподробнее — поподробнее к яндексу.

  

МихаилМ

20 — 05.06.14 — 16:25

(18)

правильно . читайте (13)

  

vvf

21 — 05.06.14 — 16:36

да, верно, никакой другой базы нет, только поврежденная

  

vvf

22 — 05.06.14 — 16:48

Сейчас посмотрел, таблиц под 500+- это крайне получается трудоемко, есть еще какие-то варианты?

  

Segate

23 — 05.06.14 — 17:04

А копий вообще никаких нет? )

  

Segate

24 — 05.06.14 — 17:04

Всмысле даже Cf?

  

МихаилМ

25 — 05.06.14 — 17:05

(22)

внимательней читайте ответы

в (19) есть подсказка.

либо воспользуйтесь SQL Server Integration Service

http://msdn.microsoft.com/ru-ru/library/ms141026(SQL.90).aspx

наследника dts.

Он должен уметь решить проблему копирования полей типа timestamp.

  

Segate

26 — 05.06.14 — 17:07

(25) если там убита Schema, или конфиг, то эти таймстемпы — в пользу бедных будут… надо смотреть сначала структуру БД

  

Segate

27 — 05.06.14 — 17:10

Я бы, для начала, дернул бы конфигу в отдельную базу и запустил бы ее, дабы посмотреть, что с ней все ок, ну или увидеть, где какие траблы, потмо бы уже к данным переходил. Т.к. конфа не типовая, без правильной цф о восстановлении работоспособности можно будет только мечтать )

  

Segate

28 — 05.06.14 — 17:11

(0) еще раз говорю, дай базу, поковыряться. если смогу — помогу чем нть

  

МихаилМ

29 — 05.06.14 — 17:13

(26)

DBSchema можно сгенерировать новую. из params-> DBNAMES

  

vvf

30 — 05.06.14 — 19:20

(29) А подробнее можно? Не разу не делал

cf — кстати получилось выгрузить из базы

  

vvf

31 — 05.06.14 — 19:22

(28) отправил bak

  

vvf

32 — 05.06.14 — 19:27

Стал последовательно выбирать средствами sql данные из таблиц

/****** Сценарий для команды SelectTopNRows среды SSMS  ******/

SELECT TOP 1000 [_UserId]

      ,[_ObjectKey]

      ,[_SettingsKey]

      ,[_Version]

      ,[_SettingsPresentation]

      ,[_SettingsData]

  FROM [base01].[dbo].[_SystemSettings]

Сообщение 7105, уровень 22, состояние 6, строка 2

Идентификатор базы данных 6, страница (1:13328), слот 2 для узла типа данных LOB не существует. Обычно это вызвано тем, что транзакция выполняет считывание незафиксированных данных со страницы данных. Выполните инструкцию DBCC CHECKTABLE.

  

МихаилМ

33 — 06.06.14 — 11:45

(0)

напишите, чем закончилась история с восстановлением базы

  

vvf

34 — 08.06.14 — 16:06

Ничем, базу так и не удалось реанимировать. Решили все начать вести с 0 в новой базе.

  

Отладчик

35 — 08.06.14 — 16:08

(34) Суровый Челябинский парень.

Жму руку.

0

26.05.2016 — 12:58


Добрый день !

База SQL
В ежеденевном плане обслуживания в задаче «Перестроение индекса» вчера появилась ошибка

Сбой выполнения запроса «ALTER INDEX [_InfoRg5466_ByDataKey_RR] ON [dbo].[_…» со следующей ошибкой: «Возможно, повреждена схема. Запустите DBCC CHECKCATALOG.
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.». Возможные причины сбоя: проблемы с этим запросом, свойство «ResultSet» установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.

Запускаю DBCC CHECKCATALOG

Сообщение 3852, уровень 16, состояние 1, строка 1
Строка (object_id=328648514) в sys.objects (type=U ) не имеет совпадающей строки (object_id=328648514,index_id=0) в sys.indexes.
Подскажите как решить проблему

1

26.05.2016 — 13:32

http://ekorshunov.blogspot.ru/2015/0…ql-server.html

http://www.skalnyy.com/tag/ms-sql/

ЗЫ бэкап сделай

2

26.05.2016 — 13:35

и конкретно про (0)

http://www.sql.ru/forum/960965/alter…irovat-tablicu

http://infostart.ru/public/72532/

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2012 в один файл для загрузки. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012.

Проблемы

При выполнении полнотекстового запроса, содержащего предикат CONTAINS, а предикат CONTAINS также имеет термин NEAR близость в SQL Server 2012, появляется следующее сообщение об ошибке:

Сообщение 0, уровень 11, состояние 0, строка 0, в текущей команде произошла серьезная ошибка. Результаты, если таковые имеются, должны быть удалены.

Кроме того, в журнале событий сервера SQL Server регистрируется следующее сообщение об ошибке:

Причина

Эта проблема возникает из-за ошибки в конвейере полнотекстового запроса.

Решение

Сведения о накопительном пакете обновления

Накопительный пакет обновления 1 (SP1) для SQL Server 2012 с пакетом обновления 1 (SP1)

Исправление для этой проблемы впервые выпущено в накопительном обновлении 1. За дополнительными сведениями о том, как получить этот накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1), щелкните следующий номер статьи базы знаний Майкрософт:

2765331 Накопительный пакет обновления 1 (SP1) для SQL Server 2012 с пакетом обновления 1 (SP1)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2772858 Сборки SQL Server 2012, выпущенные после выпуска пакета обновления 1 (SP1) для SQL Server 2012

Накопительный пакет обновления 3 для SQL Server 2012

Исправление для этой проблемы впервые выпущено в накопительном обновлении 3. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012, щелкните следующий номер статьи базы знаний Майкрософт:

2723749 Накопительное обновление 3 для SQL Server 2012Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2692828 Сборки SQL Server 2012, выпущенные после выпуска SQL Server 2012

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».

Дополнительная информация

Дополнительные сведения о поиске слов, близких к другим словам, можно найти на веб-сайте MSDN по следующему адресу:

Поиск слов, близких к другому слову

Понравилась статья? Поделить с друзьями:
  • При выполнении спрыгиваний детям характерны следующие ошибки
  • При выполнении скрипта возникла ошибка битрикс как исправить
  • При выполнении перехода жц approvehead произошла ошибка электронный бюджет
  • При выполнении операции произошла ошибка статус 1 неизвестный статус транзакции
  • При выполнении операции произошла ошибка смена открыта операция невозможна