2011-01-13 85 views
2

我使用ADO.NET SQL查询这样创建数据库无法登录:没有看到新的数据库和

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

查询是不准确的,我就输入他们因为我能记得他们。 之后,我没有看到我的MS SQL Server 2008 R2快速管理工作室的数据库。 我也无法使用新创建的登录进行登录。 “启用服务器认证”设置为true。 我应该怎么做才能在管理器中看到该数据库? 为什么我无法使用新创建的登录进行登录?我查看了日志,它说密码不正确。

我确实有2个sql express实例,但是当我运行我的sql时使用同一个sql 当在管理工作室中运行返回“BOGDAN”时select @@ servername。 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(“Server name:”+ s); con.Close(); Console.ReadKey(false); 不知道BBF17ECB-69FF-4B来自哪里,我明确提到服务器名称为“BOGDAN”。

脚本是: IF DB_ID( 'MyDatabase的')IS NULL CREATE DATABASE [MyDatabase的] USE MYDATABASE IF NOT EXISTS(SELECT * FROM master.dbo.syslogins中WHERE登录名= 'AUsername')CREATE LOGIN AUsername WITH PASSWORD = 'APassword' IF NOT EXISTS(SELECT * FROM sys.sysusers其中name = 'AUsername')CREATE USER AUsername进行登录AUsername EXEC sp_addrolemember N'db_owner 'N'AUsername'

+0

这绝对是一个服务器配置问题。我测试了完全相同的运行SQL脚本的应用程序,之后数据库在查询窗口中可见。任何人有什么想法可能是错的?关于用户:我认为用于创建用户的脚本是错误的。 – 2011-01-14 12:57:50

回答

0

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

0

你有多个实例Sql Server在你的盒子上?也许是快速安装和开发者版本安装?有可能你在创建数据库时指向另一个实例...我之前完成了这个任务。

是否确定数据库创建完成而没有错误?也许它失败了,数据库从未创建。

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

+0

我编辑了我的第一篇文章,包括您的问题,请看看。 – 2011-01-13 16:22:22

+0

脚本运行时没有任何错误。数据库文件在C:\ Users \ Bogdan \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ MSSQLSERVER \中创建,它也包含系统数据库,但是当我使用Management Studio创建数据库时,它会在另一个文件夹中创建它们。 – 2011-01-13 16:24:17