0

重複の可能性:
データベースがSQL Serverに存在するかどうかを確認する方法は?

Transact-SQLを使用してSQLServer2008 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 に答える