2012-10-29 117 views
9

我正在使用此代碼來創建一個新用戶。爲SQL Server 2008創建一個用戶?

/****** Object: User [primebox] ******/ 
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'primebox') 
CREATE USER [primebox] FOR LOGIN [primebox] WITH DEFAULT_SCHEMA=[primebox] 
GO 

當我嘗試創建此特定用戶時,出現以下錯誤。

Msg 15007, Level 16, State 1, Line 1
'primebox' is not a valid login or you do not have permission.

,我不明白的部分是,我可以創建其他用戶,但這個特別看起來無效

我試圖重新命名我的數據庫,並得到這個錯誤

Unable to rename primeboxs. (ObjectExplorer)

Rename failed for Database 'primebox'. (Microsoft.SqlServer.Smo)

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

The database could not be exclusively locked to perform the operation. (Microsoft SQL Server, Error: 5030)

我的猜測是,問題是數據庫名稱......但我從另一個數據庫(我正在創建'想成爲'備份)獲取相同用戶和數據庫名稱的代碼。所以,我這裏一個角落裏是...任何幫助將大量的讚賞=)

PS:我的計算機名是中,Windows 7中使用SQL Server 2008

回答

9

在SQL Server中,用戶是不同的登錄。

要爲數據庫創建一個用戶,你首先必須使用create login語法

21

登錄比用戶不同的東西來爲服務器的登錄,這裏是如何創建一個新的登錄。

  1. 右鍵單擊SQL Server Management Studio和選擇 - >運行爲管理員聯繫。

  2. 通常使用默認Windows身份驗證進行登錄。

  3. 選擇數據庫 - >系統數據庫 - > master。點擊左上角的「新建查詢」按鈕。

  4. 將此查詢粘貼在那裏。 (更多信息SQL登錄選項see here):

    CREATE LOGIN youruser WITH PASSWORD = 'yourpassword' 
    
  5. 你應該得到這樣的迴應:

    Command(s) completed successfully. 
    
  6. 檢查,以確保它得到了加入dbo.syslogins

    select * from master.dbo.syslogins 
    
  7. 關閉然後重新啓動SQL管理服務器(以管理員身份),然後通過轉到SQL Server配置面板和。重新啓動SQL Server本身點擊重啓。

  8. 在對象瀏覽器中,單擊主EL-PC \ SQLEXPRESS - >安全性 - >登錄。

  9. 您新創建的登錄應該在那裏,右鍵單擊並轉到屬性,您必須授予該用戶訪問默認數據庫的權限並設置默認數據庫。

  10. 關閉SQL Server並使用SQL Server身份驗證選項和用戶名/密碼重新登錄。您現在應該使用新用戶登錄。

如何創建新的用戶

  1. 啓動SQL Server Management Studio中以管理員身份。
  2. 展開要創建新數據庫用戶的數據庫。
  3. 右鍵單擊「安全」文件夾選擇「新用戶」,如果該選項不可用,您可能會點擊服務器的安全文件夾。
  4. 添加名稱和配置,然後單擊確定。
+0

你能提供有關如何更多的細節後用戶還可以創建一個新的登錄由SQL Server Management Studio中的UI執行步驟9? – chathwind

3

此外,您可以通過點擊主安全文件夾enter image description here

,創造

相關問題