' 以下為在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