2015-05-27 32 views
3

我想檢查一下數據庫是否存在於Microsoft SQL Server中,最簡單的方法是什麼?我只是想要它返回一個真或假的值,然後我會創建一個數據庫,如果它不存在。任何幫助將不勝感激,謝謝。使用VB.NET檢查數據庫是否存在於MSSQL中的最簡單方法是什麼?

+1

試着打開一個到該數據庫的連接?如果發生異常,您知道數據庫不存在或無法訪問。 – User999999

+0

看看這個:https://social.msdn.microsoft.com/forums/sqlserver/en-US/5d7b188e-17ba-41ff-98cb-eb783a587c41/check-if-database-exists –

+0

@ User999999:這個CAN表明數據庫不存在,但也許數據庫是存在的,你沒有權限?不是一個乾淨的解決方案imho – CeOnSql

回答

4

連接到系統數據庫(母版,msdb,tempdb數據庫或模型) - 因爲你可以肯定它們的存在!然後你就可以選擇數據庫的名單如下:

select * from sys.databases 

,或者如果你想知道,如果一個特定的數據庫是否存在:

select * from sys.databases where name = 'NameOfYourDb' 

如果您在連接字符串中沒有數據庫名進行連接(屬於到提供商您正在使用),你應該自動連接到您的默認數據庫(這是「主」默認情況下)

3

試試下面一個

Declare @Dbname varchar(100) 

SET @Dbname = 'MASTER' 

if exists(select * from sys.databases where name = @Dbname) 
select 'true' 
else 
select 'false' 

這是專爲SQL Server

0

你可以試試下面的查詢:

select * from sys.databases where [name] = <name of database> 
相關問題