How to check for the existence of a DB?

前端 未结 8 2201
Happy的楠姐
Happy的楠姐 2020-12-18 05:52

I am wondering if there is an elegant way to check for the existence of a DB? In brief, how do test the connection of a db connection string?

Thanks

相关标签:
8条回答
  • 2020-12-18 06:50

    To cover the range of possibilities (server doesn't exist, database doesn't exist, no login, no permissions, server down, etc) - the simplest idea is simply to try to connect as normal, and perform something trivial - SELECT GETDATE() for example. If you get an exception, there is a problem!

    There are times (especially when dealing with out-of-process systems) when try/catch is the most pragmatic option.

    0 讨论(0)
  • 2020-12-18 06:50

    try

    IF NOT EXISTS(SELECT * FROM sys.databases WHERE [name] = @name)
       CREATE DATABASE @name;
    GO
    

    or

    IF db_id(@name) IS NOT NULL
       CREATE DATABASE @name;
    GO
    

    or SqlConnection.ChangeDatabase(String). I think it could use less sql server resources then new connection attempt.

    0 讨论(0)
提交回复
热议问题