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