比如一开始我用SA登陆,然后又想用用户名san登陆,用语句怎么写啊
------解决方案--------------------
建立新的 Microsoft® SQL Server™ 登入,允許使用者利用「SQL Server 的帳戶驗證」來連線至 SQL Server 的執行個體。
安全性附註 儘可能使用「Windows 的帳戶驗證」。
語法
sp_addlogin [ @loginame = ] 'login '
[ , [ @passwd = ] 'password ' ]
[ , [ @defdb = ] 'database ' ]
[ , [ @deflanguage = ] 'language ' ]
[ , [ @sid = ] sid ]
[ , [ @encryptopt = ] 'encryption_option ' ]
引數
[@loginame =] 'login '
是指登入的名稱。login 是 sysname,無預設值。
[@passwd =] 'password '
是指登入密碼。password 是 sysname,預設值為 NULL。在執行 sp_addlogin 之後, 會將 password 加密並儲存在系統資料表中。
安全性附註 請不要使用空白密碼。使用較難破解的密碼。相關資訊,請參閱安全性規則。
[@defdb =] 'database '
是指登入的預設資料庫 (在登入之後,登入所連線的資料庫)。database 是 sysname,預設值為 master。
[@deflanguage =] 'language '
是指在使用者登入至 SQL Server 時所指派的預設語言。language 是 sysname,預設值為 NULL。若未指定 language,則 language 會設定為伺服器的現行預設語言 (此預設語言由 sp_configure 設定變數 default language 所定義)。變更伺服器的預設語言並不會變更現有登入的預設語言。在新增登入時,language 將會與使用的預設語言保持相同。
[@sid =] sid
是指安全識別碼 (SID)。sid 是 varbinary(16),預設值為 NULL。若 sid 為 NULL,則系統會針對新登入另外產生 SID。儘管是使用 varbinary 資料型別,除了 NULL 之外的值長度必須是 16 位元,而且不可是已存在的。在您編寫指令碼或將 SQL Server 登入從一伺服器移至另一伺服器時,而您希望登入在伺服器之間擁有相同的 SID,這時SID值就發揮了相當大的作用。
[@encryptopt =] 'encryption_option '
指定儲存在系統資料表中的密碼是否應加密。encryption_option 是 varchar(20),也可以為以下任一值:
值 說明
NULL 該密碼是已加密的,這是預設值。
skip_encryption 該密碼是已加密的,SQL Server 應該儲存這個值不必重新加密。
skip_encryption_old 所提供的密碼已由舊版的 SQL Server 進行加密。 SQL Server 應該儲存這個值而不需要再加密。此選項僅供升級之用。
傳回碼值
0 (成功) 或 1 (失敗)
備註
SQL Server 登入及密碼可以包含有 1 至 128 個字元,由字母、符號以及數字組成。但是登入不能:
含有反斜線 (\)。
為保留的登入名稱,例如 sa、public 或其他任何已存在的名稱。
是 NULL 或是空字串 ( ' ')。
若預設資料庫名稱已提供,您不需執行 USE 陳述式就可以連線至指定的資料庫。但在資料庫擁有者使用 sp_adduser、sp_addrolemember 或 sp_addrole 授與該資料庫存取權限之前,您還是無法使用預設資料庫。
安全識別碼 (SID) 是唯一的 Microsoft Windows NT® 使用者識別碼。Windows NT 網域中的每位使用者保證都有唯一的安全識別碼。SQL Server 會自動使用 Windows NT 安全識別碼來識別 Windows NT 使用者及群組,並會針對 SQL Server 登入產生安全識別碼。
若在新增登入至 SQL Server 時密碼已加密,則可使用 skip_encryption 來抑制密碼進行加密。若密碼已由舊版的 SQL Server 進行加密,則可使用 skip_encryption_old。
sp_addlogin 不能在使用者自訂的交易中執行。
以下資料表顯示幾種與 sp_addlogin 組合使用的預存程序:
預存程序 說明
sp_grantlogin 新增 Windows NT 使用者或群組
sp_password 變更使用者的密碼
sp_defaultdb 變更使用者的預設資料庫
sp_defaultlanguage 變更使用者的預設語言
權限
只有 sysadmin 及 securityadmin 固定伺服器角色的成員可執行 sp_addlogin。
範例
A. 建立主要預設資料庫的登入識別碼
此範例將建立使用者 Victoria 的 SQL Server 登入,但不指定預設資料庫。
EXEC sp_addlogin 'Victoria ', 'B1r12-36 '
B. 建立登入識別碼及預設資料庫
此範例將建立使用者 Albert 的 SQL Server 登入,密碼為 "B1r12-36 " ,且預設資料庫為 corporate。
EXEC sp_addlogin 'Albert ', 'B1r12-36 ', 'corporate '
C. 以不同預設語言建立登入識別碼
此範例將建立使用者 Claire Picard 的 SQL Server 登入,密碼為 "B1r12-36 ",預設資料庫為 public_db,而預設語言為法文。
EXEC sp_addlogin 'Claire Picard ', 'B1r12-36 ', 'public_db ', 'french '
D. 以特定安全識別碼建立登入識別碼
此範例將建立使用者 Michael 的 SQL Server 登入,密碼為 "B1r12-36, ",預設資料庫為 pubs,預設語言為 us_english,而安全識別碼為 0x0123456789ABCDEF0123456789ABCDEF。
EXEC sp_addlogin 'Michael ', 'B1r12-36 ', 'pubs ', 'us_english ', 0x0123456789ABCDEF0123456789ABCDEF
E. 建立登入識別碼且密碼不進行加密
此範例將建立使用者 Margaret 的 SQL Server 登入,其在 Server1 的密碼為 "B1r12-36 " ,萃取加密的密碼,然後利用之前加密的密碼新增使用者 Margaret 的登入至 Server2,但不進一步將密碼加密。接著使用者 Margaret 可以利用密碼 Rose 登入 Server2。