Digging into SQL Server 2000 with WMI Using Visual Basic.NET and VBScript - Can we rename a database using WMI?
(Page 6 of 6 )
You can even rename an entire database using WMI. And it is perfectly easy to do as well. Please take care! This script may stop all of your other applications working on the database. Use the script with caution. Let us have the code first.
Try
Dim classInstance As New ManagementObject( _
"root\MicrosoftSQLServer", _
"MSSQL_Database.Name='eAttendance',SQLServerName='(LOCAL)'", _
Nothing)
Dim inParams As ManagementBaseObject = _
classInstance.GetMethodParameters("Rename")
inParams("Name") = "eAttendance2"
Dim outParams As ManagementBaseObject = _
classInstance.InvokeMethod("Rename", inParams, Nothing)
Catch err As ManagementException
MessageBox.Show("Error: " & err.Message)
End Try
“inParams” (which is of type System.Managment.ManagmentBaseObject) is mainly used to pass parameters (input parameters) to the “Rename” method (WMI method) dynamically. Similarly, “outParams” generally contains the result of the method execution.
In the above script, I worked with “InvokeMethod”, which is used to execute a WMI method dynamically.
The VBScript version of the same would be as follows:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer &
"\root\MicrosoftSQLServer")
Set objShare = objWMIService.Get
("MSSQL_Database.Name='eAttendance',SQLServerName='(LOCAL)'")
Set objInParam = objShare.Methods_("Rename"). _
inParameters.SpawnInstance_()
objInParam.Properties_.Item("Name") = "eAttendance2"
Set objOutParams = objWMIService.ExecMethod
("MSSQL_Database.Name='eAttendance',SQLServerName='(LOCAL)'",
"Rename", objInParam)
Any comments, suggestions, bugs, errors, feedback etc. are highly appreciated at jag_chat@yahoo.com.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |