我使用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'
答案 0 :(得分:0)
你的盒子上有多个Sql Server实例吗?也许快速安装和开发人员版安装?当你创建数据库时,你可能会指向另一个实例......我之前已经完成了这个。
您确定数据库创建完成且没有错误吗?也许它失败了,db从未创建过。
不幸的是,您运行的查询的详细信息是我们可以找到问题证据的地方。
答案 1 :(得分:0)
问题在于连接字符串:我不得不从中删除“User Instance = true”。这解决了问题! 我认为问题在于我如何配置服务器或SQL请求。