0

可能重复:
如何检查 SQL Server 中是否存在数据库?

我正在使用 Transact-SQL 使用以下代码附加 SQL Server 2008 R2 数据库,但我只想在尚未附加数据库的情况下执行此操作,因为尝试附加已附加的数据库会返回错误。

有没有办法使用 Transact-SQL 来测试数据库是否已经附加?

USE [MASTER]
GO
#I'd like to test here if database is already attached
CREATE DATABASE ASPNETDB
    ON (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Data\ASPNETDB.MDF')
FOR ATTACH ;
GO
4

2 回答 2

1
IF NOT EXISTS(SELECT * FROM SYS.DATABASES WHERE NAME = 'ASPNETDB')
    CREATE DATABASE...
于 2012-09-11T13:53:28.800 回答
1

像这样的东西:

IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = N'ASPNETDB')
BEGIN
  CREATE DATABASE ASPNETDB
    ON (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Data\ASPNETDB.MDF')
  FOR ATTACH ;
END
于 2012-09-11T13:55:01.867 回答