Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Непонятная ошибка в Management Studio  [new]
Алексей Колодезный
Member

Откуда:
Сообщений: 86
SQL Server 2008 R2. Если выполнить ниже приведенный скрипт, то все пройдет успешно без ошибок.
Если
CREATE TABLE datetest
(
	date1 DATE,
	date2 DATE,
	date1_isnull AS ISNULL(date1, '19000101')
)
ALTER TABLE datetest WITH CHECK ADD CONSTRAINT CK_datetest_date1_date2 CHECK (date1<date2)

Но если попробовать создать такую таблицу с вычисляемым столбцом или с ограничением (обязательно с участием столбца с типом DATE) не скриптом, а что называется "мышкой", то при добавлении такого вычисляемого столбца или ограничения студия начинает ругаться, что в выражании присутствует ошибка. Вот сижу и никак не могу взять в толк, почему она так этот тип данных не любит, если сам SQL сервер прекрасно подобные конструкции переваривает
14 окт 11, 13:08    [11440472]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка в Management Studio  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
а что называется "мышкой", то при добавлении такого вычисляемого столбца или ограничения студия начинает ругаться, что в выражании присутствует ошибка.


И какой скрипт генерит студия? И какое точное сообщение об ошибке?

Сообщение было отредактировано: 14 окт 11, 13:21
14 окт 11, 13:21    [11440616]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка в Management Studio  [new]
Алексей Колодезный
Member

Откуда:
Сообщений: 86
Вот такой например. Ничего экстраординарного в нем не наблюдаю :)
/* Чтобы предотвратить возможность потери данных, необходимо внимательно просмотреть этот сценарий, прежде чем запускать его вне контекста конструктора баз данных.*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.datetest ADD CONSTRAINT
	CK_datetest CHECK (([date1]<[date2]))
GO
ALTER TABLE dbo.datetest SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
14 окт 11, 13:46    [11440869]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка в Management Studio  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Алексей Колодезный,

А на второй вопрос?
14 окт 11, 13:55    [11440963]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка в Management Studio  [new]
Алексей Колодезный
Member

Откуда:
Сообщений: 86
Пардон, про второй забыл :)
Вот так ругается:
'datetest" таблица
- Ошибка при проверке проверочного ограничения "CK_datetest".
14 окт 11, 14:00    [11441015]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка в Management Studio  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Ошибка студии. SP накатывали?
14 окт 11, 14:07    [11441061]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка в Management Studio  [new]
Алексей Колодезный
Member

Откуда:
Сообщений: 86
Версия самой студии 10.50.2500.0
Я чесно говоря даже не в курсе, накатывали ли на нее обновления. По идее должны были...
14 окт 11, 14:11    [11441098]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка в Management Studio  [new]
Алексей Колодезный
Member

Откуда:
Сообщений: 86
Дома проверил. Таже ошибка выскакивает. Не критично, но неприятно. Дома кстати SQL обновления вместе с виндой получает. Версия студии совпадает. Видать глюк неправленный. Странно, ибо дата без времени весьма часто применяется. А при использовании этого типа экономия в размере базы обнаружилась существенная.
14 окт 11, 22:01    [11444374]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить