Форум: "Базы";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизMSDE использование osql.exe Найти похожие ветки
← →
Rimdus (2009-05-08 18:07) [0]Всем, Добрый день!
Никак не могу понять почему следующий код отрабатывает в QueryAnalizer, а при выполнении через osql.exe выдает ошибку.
Database "Silver" already exists. (почему-то не может удалить БД)
USE Master
GO
IF DB_ID("Silver") <> NULL
drop database Silver
GO
CREATE DATABASE Silver
ON
(NAME = Silver_dat,
FILENAME = "d:\Silverdat.mdf",
SIZE = 25,
MAXSIZE = 100,
FILEGROWTH = 5 )
LOG ON
( NAME = "Silver_log",
FILENAME = "d:\Silverlog.ldf",
SIZE = 5,
MAXSIZE = 25,
FILEGROWTH = 5 )
GO
← →
Anatoly Podgoretsky © (2009-05-08 18:42) [1]Ты уверен, что именно не хочет удалять?
Сократи код до удаления и скажи результат.
← →
Rimdus (2009-05-08 18:54) [2]Сократил. Отработало без ошибок, НО база НЕ удалилась (((.
Пользователь, под которым выполняется код - sa, и в osql и в Аналайзере конект под sa.
← →
Rimdus (2009-05-08 19:01) [3]Собственно удалить можно так:
USE Master
GO
drop database Silver
GO
LOG:
1> 2> 1> 2> 3> 4> 5> Msg 3738, Level 0, State 1, Server RIMDUSBASE, Line 3
Deleting database file "d:\Silverlog.ldf".
Msg 3738, Level 0, State 1, Server RIMDUSBASE, Line 3
Deleting database file "d:\Silverdat.mdf".
1>
Получается что вызов DB_ID("Silver") равен NULL при существующей базе. Как-то это не верно (
← →
IS NULL (2009-05-08 19:38) [4]
> IF DB_ID("Silver") <> NULL
← →
Anatoly Podgoretsky © (2009-05-08 19:59) [5]
USE Master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N"Silver")
DROP DATABASE [Silver]
Вот такой скрипт генерирует SSMS, для MSDE проверить с помощью EM
← →
Ega23 © (2009-05-12 11:44) [6]Для NULL не работает такое сравнение. Используй
if Value IS NULL
или
if Value IS NOT NULL
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.062 c