没有看到新数据库,无法登录

时间:2011-01-13 15:32:04

标签: sql-server tsql ado.net

我使用ADO.NET SQL查询创建数据库,如下所示:

create database mydatabase
create login 'loginname' with password='somepassword'
create user 'username' for login loginname

查询不准确,我已经记下了它们。 之后我在ms sql server 2008 r2 express management studio中看不到数据库。 我也无法使用新创建的登录名登录。 “启用服务器身份验证”设置为true。 我该怎么做才能在经理中看到该数据库? 为什么我不能使用新创建的登录进行登录?我查看了日志,并说密码不正确。

我有2个sql express实例,但是当我运行我的sql时,我使用相同的实例 在管理工作室中运行时选择@@ servername返回“BOGDAN”。 ADO.NET查询返回“BOGDAN \ BBF17ECB-69FF-4B”。代码如下:     SqlConnection con = new SqlConnection(“Data Source = BOGDAN; Integrated Security = True; User Instance = True”);             SqlCommand cmd = new SqlCommand(“select @@ servername”,con);             con.Open();             string s =(string)cmd.ExecuteScalar();             Console.WriteLine(“服务器名称:”+ s);             con.Close();             Console.ReadKey(假); 不知道BBF17ECB-69FF-4B来自哪里,我明确声明服务器名称为“BOGDAN”。

脚本是: IF DB_ID('MyDatabase')IS NULL CREATE DATABASE [MyDatabase] 使用MyDatabase 如果不是EXISTS(SELECT * from master.dbo.syslogins WHERE loginname ='AUsername')CREATE LOGIN AUsername WITH PASSWORD ='APassword' 如果不是EXISTS(SELECT * FROM sys.sysusers WHERE name ='AUsername')CREATE USER AUsername FOR LOGIN AUsername EXEC sp_addrolemember N'db_owner',N'AUsername'

2 个答案:

答案 0 :(得分:0)

你的盒子上有多个Sql Server实例吗?也许快速安装和开发人员版安装?当你创建数据库时,你可能会指向另一个实例......我之前已经完成了这个。

您确定数据库创建完成且没有错误吗?也许它失败了,db从未创建过。

不幸的是,您运行的查询的详细信息是我们可以找到问题证据的地方。

答案 1 :(得分:0)

问题在于连接字符串:我不得不从中删除“User Instance = true”。这解决了问题! 我认为问题在于我如何配置服务器或SQL请求。