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

Откуда: Москва
Сообщений: 95
Проблема вот в чем:

Есть на SQL 2008 база [kladr] (attach из SQL 2000) и есть запрос, который категорически не работает в контексте этой базы в следующем виде:

USE kladr
SELECT * FROM sys.dm_db_index_physical_stats (DB_ID(N'kladr'), NULL, NULL, NULL, 'DETAILED')

ошибка на второй строчке:

Incorrect syntax near '('.

теперь выполняю следующий запрос:

USE master
SELECT * FROM sys.dm_db_index_physical_stats (DB_ID(N'kladr'), NULL, NULL, NULL, 'DETAILED')

все выполняется без ошибок!

на всякий случай проверяю:

USE master
SELECT DB_ID(N'kladr')
USE kladr
SELECT DB_ID(N'kladr')

все работает и выдает одинаковые результаты!

выполняю первый ошибочный запрос, но вместо DB_ID(N'kladr') прямо задаю ID базы

USE kladr
SELECT * FROM sys.dm_db_index_physical_stats (12, NULL, NULL, NULL, 'DETAILED')

так работает, зараза!

Просьба Гуру объяснить систему образования ошибки, и как мне выкрутиться без явного задания ID базы...

@@VERSION:

	Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86) 
	Mar 29 2009 10:27:29 
	Copyright (c) 1988-2008 Microsoft Corporation
	Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) (VM)
10 дек 09, 09:33    [8044421]     Ответить | Цитировать Сообщить модератору
 Re: База 2000 в 2008 - проблемы с обслуживанием...  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> Просьба Гуру объяснить систему образования ошибки, и как мне выкрутиться
> без явного задания ID базы...

sp_dbcmptlevel

если меньше 90, то параметрами табличной функции только константы и переменные могут быть.

Posted via ActualForum NNTP Server 1.4

10 дек 09, 09:36    [8044438]     Ответить | Цитировать Сообщить модератору
 Re: База 2000 в 2008 - проблемы с обслуживанием...  [new]
tas
Member

Откуда: Москва
Сообщений: 95
Спасибо!
10 дек 09, 09:39    [8044460]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить