При использовании пространственного индекса в SQL Server появляется сообщение «Не удалось открыть искаженную сборку« mscorlib »» - PullRequest
1 голос
/ 16 ноября 2011

У меня возникла небольшая проблема с настройкой базы данных в MSSQL, когда при попытке установить индекс для столбца с типом географических данных он продолжает выдавать ошибку

Msg 6507, уровень 16, состояние 2, строка 1 Не удалось открыть искаженную сборку 'mscorlib' с помощью HRESULT 0x80070008.

здесь указан код

        /* do this last as everything is keyed to it */
        IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[place]') AND type in (N'U'))
        DROP TABLE [dbo].[place]
        GO
        IF  EXISTS (SELECT * FROM sysfulltextcatalogs ftc WHERE ftc.name = N'ft_placebyname')
        DROP FULLTEXT CATALOG [ft_placebyname]
        GO


        CREATE TABLE [dbo].[place](
            [place_id] [int] IDENTITY(1,1) NOT NULL,
            [prime_name] [nvarchar](max) NULL,
            [abbrev_name] [nchar](10) NULL,
            [street_address] [nvarchar](max) NULL,
            [creation_date] [datetime] NULL,
            [updated_date] [datetime] NULL,
            [coordinate] [geography] NULL,
            [plus_four_code] [tinyint] NULL
                CONSTRAINT [CK_plus_four_code_check] 
                CHECK ([plus_four_code] LIKE '[0-9][0-9][0-9][0-9]' AND [plus_four_code] NOT LIKE '0000'),

            CONSTRAINT [PK_place] PRIMARY KEY CLUSTERED 
            (
                [place_id] ASC
            )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
            ) ON [PRIMARY]
        GO
        /* create the indexing by long and lats */
        CREATE SPATIAL INDEX SIndx_place_geography_coordinate
           ON [place]([coordinate])
           USING GEOGRAPHY_GRID
           WITH (
            GRIDS =(LEVEL_1 = MEDIUM,LEVEL_2 = MEDIUM,LEVEL_3 = MEDIUM,LEVEL_4 = MEDIUM), 
            CELLS_PER_OBJECT = 64,
            PAD_INDEX  = ON,
            SORT_IN_TEMPDB = OFF,
            DROP_EXISTING = OFF,
            ALLOW_ROW_LOCKS  = ON,
            ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
        GO  

        /* create the indexing by primary name */
        CREATE UNIQUE INDEX ui_place_prime_name ON [place]([place_id]);
        CREATE FULLTEXT CATALOG ft_placebyname AS DEFAULT;
        CREATE FULLTEXT INDEX ON [place]([prime_name])
            KEY INDEX ui_place_prime_name 
            WITH STOPLIST = SYSTEM;
        GO

1 Ответ

1 голос
/ 17 ноября 2011

FWIW, SQL Server 2008 R2: команды успешно завершены.

Очень быстрый Google для этого:

Недостаточно памяти для обработки этой команды.

(Исключение из HRESULT: 0x80070008) (mscorlib)

Есть ли шанс, что вам не хватает места на диске?

И еще один пост:

Процесс SqlServer исчерпал память (HRESULT 0x80070008).Я напишу DCR, чтобы улучшить сообщение об ошибке.

Похоже, проблема исчерпания памяти или дискового пространства?

...