Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Получить список баз  [new]
cl1
Guest
Обьясните, плиз, в чем разница при выполнении следующего запроса в 2005,2000 и msde. Выполняется только в 2005.в остальных не находит sys.databases
select name from master.sys.databases
9 сен 09, 10:00    [7635248]     Ответить | Цитировать Сообщить модератору
 Re: Получить список баз  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
cl1
Обьясните, плиз, в чем разница при выполнении следующего запроса в 2005,2000 и msde. Выполняется только в 2005.в остальных не находит sys.databases
select name from master.sys.databases
Наверное потому, что представление каталога sys.databases появилось в версии 2005.
9 сен 09, 10:08    [7635294]     Ответить | Цитировать Сообщить модератору
 Re: Получить список баз  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
cl1
Обьясните, плиз, в чем разница при выполнении следующего запроса в 2005,2000 и msde. Выполняется только в 2005.в остальных не находит sys.databases
select name from master.sys.databases


для 2000
select name from sysdatabases
в 2005 вы через вьюху получаете, а в 2000 через таблицу
9 сен 09, 10:09    [7635301]     Ответить | Цитировать Сообщить модератору
 Re: Получить список баз  [new]
cl1
Guest
Спасибо.А как правильнее использовать все же системные таблицы или процедуры sp_databases,sp_helpdb?
9 сен 09, 10:16    [7635358]     Ответить | Цитировать Сообщить модератору
 Re: Получить список баз  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
cl1
Спасибо.А как правильнее использовать все же системные таблицы или процедуры sp_databases,sp_helpdb?

Правильно для чего ?
9 сен 09, 10:19    [7635372]     Ответить | Цитировать Сообщить модератору
 Re: Получить список баз  [new]
cl1
Guest
Для написания ПО и возможной будущей совместимости с другими версиями сервера
9 сен 09, 10:25    [7635407]     Ответить | Цитировать Сообщить модератору
 Re: Получить список баз  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
cl1
Для написания ПО и возможной будущей совместимости с другими версиями сервера

хех, ну это Вам уже решать и просчитывать то sp_databases работает и в 2000 и выше, а вот поиск по таблицам в 2005 и выше не работает. Поиск по вьюхам наоборот работает в 2005 и выше.
9 сен 09, 10:31    [7635450]     Ответить | Цитировать Сообщить модератору
 Re: Получить список баз  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
cl1
Для написания ПО и возможной будущей совместимости с другими версиями сервера
например, так
declare @version varchar(14)

select @version = cast(serverproperty('ProductVersion') as varchar(14))

	if substring(@version, 1, charindex('.', @version) - 1) >= 9
		select * from sys.databases
	else select * from sysdatabases
Если, конечно, в 2000-м была функция SERVERPROPERTY().
9 сен 09, 10:40    [7635537]     Ответить | Цитировать Сообщить модератору
 Re: Получить список баз  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Senya_L
cl1
Для написания ПО и возможной будущей совместимости с другими версиями сервера
например, так
declare @version varchar(14)

select @version = cast(serverproperty('ProductVersion') as varchar(14))

	if substring(@version, 1, charindex('.', @version) - 1) >= 9
		select * from sys.databases
	else select * from sysdatabases
Если, конечно, в 2000-м была функция SERVERPROPERTY().

Есть
9 сен 09, 10:46    [7635581]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить