Проверить доступ к базе данных (SQL Server 2005/2008)

Как лучше всего проверить доступ к базе данных с удаленного компьютера.

Вот ситуация:

  • SQL Server 2005 (или 2008) работает на MACHINE1 (Windows 2003 или 2008). Существует база данных под названием ENTERPRISEDB.

  • Другой сервер с именем MACHINE2 (Windows 2003 или 2008). Он имеет подключение ODBC к MACHINE1.

Теперь, каков наилучший и самый простой SQL-запрос, чтобы проверить, может ли MACHINE2 подключиться и получить доступ к ENTERPRISEDB в MACHINE1?

Спасибо.


person Kawaii-Hachii    schedule 04.04.2011    source источник
comment
Важно принимать ответы!. Вы задали 5 вопросов, но не проголосовали и не приняли ответов. Убедитесь, что вы принимаете правильный ответ на свой вопрос, чтобы другие знали, что работает.   -  person JNK    schedule 04.04.2011
comment
Глупый я, я не знал, как принять ответ! Я попытался нажать сделать полезным, но получил предупреждение. Спасибо! Я принял ответ.   -  person Kawaii-Hachii    schedule 06.04.2011


Ответы (2)


Если ваше соединение ODBC связано с базой данных ENTERPRISEDB, вы можете запустить

SELECT top 1 1 FROM INFORMATION_SCHEMA.SCHEMATA WHERE CATALOG_NAME='ENTERPRISEDB'

который вернет «1», если база данных существует, или ничего, если ее нет.

Если вам нужен логический/целочисленный возврат, попробуйте

SELECT case when COUNT(*) >0 then 1 else 0 end 
FROM INFORMATION_SCHEMA.SCHEMATA WHERE CATALOG_NAME='ENTERPRISEDB'

который вернет «1», если он существует, и «0», если его нет.

person PCurd    schedule 04.04.2011
comment
Спасибо, это то, что мне нужно :) - person Kawaii-Hachii; 06.04.2011

я всегда использую

Select @@servername, @@SERVICENAME

Возвращает имя сервера, имя экземпляра для проверки основного подключения к серверу. Чтобы проверить правильность подключения к базе данных, вы не можете победить sys.objects.

select DB_NAME(), * from sys.objects

Возвращает таблицу с текущим именем базы данных в качестве первого столбца и список имен объектов в качестве общего списка данных.

person u07ch    schedule 04.04.2011