asp在SQL SER2k中建立帳號和給帳號許可權的實現
發佈於:2002-5-12
' 以下為在asp中增加一個sql server2000使用者函數,並為建立一個資料庫,給他dbo的許可權
' ****************注意:sql server的驗證方式不要選僅為windows方式,
' **************** 允許遠程sql server串連
' ****************該函數已通過測試****************************
' 有什麼問題歡迎和我交流,以後會推出對sql server的一些管理操作程式
' 參數:StrLoginName:新增登入名稱,StrPwd:登入名稱的密碼,StrDBName:建立資料庫名
' 函數內局部變數說明:StrServer:伺服器所在機器名(本機為local),StrUid:sql管理員,
' StrSaPwd:sql管理員密碼。以上三個變數應根據你的情況設定
' 該函數主要調用系統預存程序來實現的
' 注意:本函數沒有容錯處理,如出現錯誤,可以確定是你的sql server設定有問題,或已存在該login帳號或該資料庫
' call AddUserToMSSQL("testlogin","iamhere","db_test")
Sub AddUserToMSSQL(StrLoginName,StrPwd,StrDBName)
'定義伺服器變數和系統管理員登入資訊,根據具體情況修改
Dim StrServer,StrUid,StrSaPwd
StrServer="(local)"
StrUid="sa"
StrSaPwd=""
Dim Conn '資料庫連接
Dim StrDSN '資料庫連接字串
Dim StrCmd '命令字串
StrDSN="driver={SQL server};server="&StrServer&";uid="&StrUid&";pwd="&StrSaPwd&";database=master"
'建立和資料庫master的串連
set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open StrDSN
'建立一資料庫
StrCmd="CREATE DATABASE "&StrDBName
Conn.execute(StrCmd)
'建立一登入帳號
StrCmd="sp_addlogin '"&StrLoginName&"','"&StrPwd&"','"&StrDBName&"'"
Conn.execute(StrCmd)
Conn.Close
'建立與建立資料庫的串連,並賦給新登入帳號訪問建立資料庫的權利
StrDSN="driver={SQL server}; server="&StrServer&";uid="&StrUid&";pwd="&StSarPwd&";database="&StrDBName
StrCmd="sp_grantdbaccess '"&StrLoginName&"'"
Conn.Open StrDSN
Conn.execute(StrCmd)
'使新登入帳號成為建立資料庫的擁有者
StrCmd="sp_addrolemember 'db_owner','"&StrLoginName&"'"
Conn.execute(StrCmd)
'關閉釋放串連
Conn.Close
Set Conn=Nothing
Response.Write "使用者 "&StrLoginName&" 成功建立!,並且已為他建立了一個資料庫 "&StrDBName&"!"
End Sub