【发布时间】:2014-11-26 11:46:48
【问题描述】:
我手动删除了 sql 数据库文件(myDB.mdf 和 myDB_log.ldf) 当我想创建具有相同名称的数据库 (myDB) 时,我收到以下错误消息。
System.Data.SqlClient.SqlException (0x80131904): 数据库 'myDB' 已经存在。选择一个不同的数据库名称。
我的代码:
String str;
SqlConnection Conn = new SqlConnection("Server=.\\SQLEXPRESS;Integrated security=true;User Instance=True;database=master");
str = "CREATE DATABASE myDB " +
"ON PRIMARY " + "( NAME = N'myDB', FILENAME = N'" + Application.StartupPath + "\\myDB.mdf' , SIZE = 5120KB , FILEGROWTH = 1024KB )" +
"LOG ON" + "( NAME = N'myDB_log', FILENAME = N'" + Application.StartupPath + "\\myDB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)";
SqlCommand Command = new SqlCommand(str, Conn);
如何通过 c# 脚本解决这个问题?
【问题讨论】:
-
删除文件不会删除服务器中数据库的详细信息,需要发出
DROP DATABASE ...声明 -
你不应该只通过删除数据和日志文件来删除 SQL 数据库,你应该使用
DROP DATABASE,然后这会将它从 sys.databases 中删除。 -
物理数据库不存在但逻辑名称存在,我认为
标签: c# sql-server-2012-express