我利用这个过程赚了很多可用分,现在共享出来
'还有创建数据库和创建用户等操作,我都给打得注视.注意数据库也可以同过.sql文件创建
'首先要引用sql mo 对象
'ExexSC(服务器名,用户名,密码,脚本路径)'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Public Sub ExexSC(TxtServerName As String, TxtLoginName As String, _
TxtLoginPWD As String, yourFileName As String)
'首先引用SQL DMO OBJECTLIBRARY
Dim GOBJServer As SQLDMO.SQLServer
Set GOBJServer = New SQLDMO.SQLServer
GOBJServer.LoginTimeout = 10
GOBJServer.Connect TxtServerName, TxtLoginName, TxtLoginPWD
'登录数据库服务器
'''''''''''''''''''''
'Dim LOBJDatabase As New SQLDMO.Database
'         LOBJDatabase.Name = LStrDBName
'
'         '建立数据库数据文件
'         Dim LObjDBF As New SQLDMO.DBFile
'         LObjDBF.Name = LStrDBName       '名称
'         LObjDBF.PhysicalName = GOBJServer.Registry.SQLDataRoot & "\DATA\" & LStrDBName & ".dbf"  '文件名称
'         LObjDBF.Size = 10    '初始大小10M
'         LObjDBF.FileGrowthType = SQLDMOGrowth_Percent '增长方式为按比例
'         LObjDBF.FileGrowth = 5 '增长5%
'         LOBJDatabase.FileGroups("PRIMARY").DBFiles.Add LObjDBF   '将数据库文件绑定到数据库
'
'         '建立日志文件
'         Dim lOBJLogF As New SQLDMO.LogFile
'         lOBJLogF.Name = LStrDBName & "_Log.ldf"
'         lOBJLogF.PhysicalName = GOBJServer.Registry.SQLDataRoot & "\DATA\" & LStrDBName & "_log.ldf" '文件名称
'         lOBJLogF.Size = 5  '初始大小5M
'         LOBJDatabase.TransactionLog.LogFiles.Add lOBJLogF    '将日志文件增加到数据库
'
'         '将数据库添加到服务器
'         GOBJServer.Databases.Add LOBJDatabase
''建立新的数据库
'''''''''''''''''''''''''''''''
'Dim lObjLogin As New SQLDMO.Login   '登录用户对象
'Dim lObjUser As New SQLDMO.User     '数据库用户对象
'
'lObjLogin.Name = Trim(TxtUserName.Text) '指定用户登录名
'lObjLogin.Database = CboDatabases.Text '默认登录数据库
'lObjLogin.DenyNTLogin = False          '非NT系统登录
'GOBJServer.Logins.Add lObjLogin        '添加登录用户
'lObjLogin.SetPassword "", Trim(TxtPWD.Text) '指定密码
'GOBJServer.ServerRoles(1).AddMember Trim(TxtUserName.Text) '指定用户为超级用户
'lObjUser.Name = lObjLogin.Name          '指定用户名
'lObjUser.Login = lObjLogin.Name         '
'GOBJServer.Databases(CboDatabases.Text).Users.Add lObjUser '为系统数据库添加该新用户
''为新数据库建立用户
'''''''''''''''''''''''''''''''''''
Dim fillname As Integer '文件句柄
Dim lStrLine As String
fillname = FreeFile
Dim UstrSQlScript As String     '记录数据库脚本
Open yourFileName For Input As #fillname
     Do While Not EOF(fillname)
        Line Input #fillname, lStrLine
        UstrSQlScript = UstrSQlScript + lStrLine + (Chr(13) + Chr(10))
     Loop
Close #fillname
'读出脚本文件到变量
''''''''''''''
'执行脚本建立数据库
GOBJServer.Databases("pubs").ExecuteImmediate UstrSQlScript, SQLDMOExec_DefaultMsgBox "执行成功"
GOBJServer.Close
Set GOBJServer = Nothing
End Sub