Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Почему зависает простой INSERT?

$
0
0
Добрый вечер,

Исходные данные - есть проект в SSDT, там ведем разработку базы.
для деплоя делаем сравнение схемы, потом генерим скрипт, правим и запускаем.

так вот, скрипт отрабатывает нормально в dev, но prod вешает намертво. запрос выполняется бесконечно, и KILL не помогает.
и нет ничего сверхестесвенного, все предельно просто для SSDT:
+
CREATE TABLE [dbo].[tmp_ms_xx_Countries] (
    [id]              TINYINT        IDENTITY (1, 1) NOT NULL,
    [short_name]      NVARCHAR (2)   NOT NULL,
    [full_name]       NVARCHAR (255) NOT NULL,
    [region_id]       TINYINT        NOT NULL,
    [region_extra_id] TINYINT        NOT NULL,
    [customer_id]     NVARCHAR (50)  NOT NULL,
    [year_start]      INT            CONSTRAINT [DF_Countries_year_start2] DEFAULT (datepart(year, getdate())) NOT NULL,
    [timezone]        VARCHAR (255)  NOT NULL,
    [INSERT_BY]       VARCHAR (128)  DEFAULT (original_login()) NOT NULL,
    [RV]              ROWVERSION     NOT NULL,
    [phone_code]      VARCHAR (3)    NULL,
    [trunk_prefix]    VARCHAR (2)    NULL,
    CONSTRAINT [tmp_ms_xx_constraint_PK_Countries1] PRIMARY KEY CLUSTERED ([id] ASC),
    CONSTRAINT [tmp_ms_xx_constraint_IX_Countries1] UNIQUE NONCLUSTERED ([short_name] ASC) WITH (IGNORE_DUP_KEY = ON),
    CONSTRAINT [tmp_ms_xx_constraint_IX_Countries_11] UNIQUE NONCLUSTERED ([full_name] ASC) WITH (IGNORE_DUP_KEY = ON)
);

IF EXISTS (SELECT TOP 1 1 
           FROM   [dbo].[Countries])
    BEGIN
        SET IDENTITY_INSERT [dbo].[tmp_ms_xx_Countries] ON;
        INSERT INTO [dbo].[tmp_ms_xx_Countries] ([id], [short_name], [full_name], [region_id], [region_extra_id], [customer_id], [year_start], [timezone], [phone_code], [trunk_prefix])
        SELECT   [id],
                 [short_name],
                 [full_name],
                 [region_id],
                 [region_extra_id],
                 [customer_id],
                 [year_start],
                 [timezone],
                 [phone_code],
                 [trunk_prefix]
        FROM     [dbo].[Countries]
        ORDER BY [id] ASC;
        SET IDENTITY_INSERT [dbo].[tmp_ms_xx_Countries] OFF;
    END


мониторингом вижу, что это INSERT .
SPIDpercent_completerunning_timeest_time_to_goest_completion_timecommandblocking_session_idDBIDLASTWAITTYPEDBNAMEQueryText
5900 hour(s): 41min: 46 sec0 hour(s): 0min: 0 sec2017-10-02 17:48:16.713KILLED/ROLLBACK05SOS_SCHEDULER_YIELD ferratum_intelligenceINSERT INTO ...



и это уже второй раз, первый висел 2 суток прежде чем перезагрузили сервер, только это помогло.

Dev:
Microsoft SQL Server 2012 - 11.0.5058.0 (X64) 
	May 14 2014 18:34:29 
	Copyright (c) Microsoft Corporation
	Developer Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)


Prod:
Microsoft SQL Server 2012 (SP1) - 11.0.3373.0 (X64) 
	Jun 29 2013 21:15:12 
	Copyright (c) Microsoft Corporation
	Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)


куда копать?

Viewing all articles
Browse latest Browse all 7251

Trending Articles