2011-01-13 57 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