Sql 如何使用VB.NET与用户';sa';并恢复数据库
我是VB.NET新手,需要一些帮助才能连接到sql server 我安装了实例名为“sqlexpress”和passowrd“sql123”的SQLServer2008R2 express 我需要使用用户“sa”创建到此服务器实例的连接,并还原我的.bak数据库文件。 在此之后,我想创建一个名为“inituser”且密码为“inituser”的新用户,只针对该数据库,使用VB.NET运行T-SQL查询 这是我最初的功能:Sql 如何使用VB.NET与用户';sa';并恢复数据库,sql,sql-server,vb.net,Sql,Sql Server,Vb.net,我是VB.NET新手,需要一些帮助才能连接到sql server 我安装了实例名为“sqlexpress”和passowrd“sql123”的SQLServer2008R2 express 我需要使用用户“sa”创建到此服务器实例的连接,并还原我的.bak数据库文件。 在此之后,我想创建一个名为“inituser”且密码为“inituser”的新用户,只针对该数据库,使用VB.NET运行T-SQL查询 这是我最初的功能: Private Sub DBConnect() Dim myCon
Private Sub DBConnect()
Dim myConn As SqlConnection
Dim q1 As SqlCommand
Dim q2 As SqlCommand
myConn = New SqlConnection(@"Server=.\SQLEXPRESS;User Id=sa;Password=sqlexpress1;")
' restore the databse .bak file
q1 = myConn.CreateCommand
q1.CommandText = "RESTORE DATABASE AdventureWorks2012 FROM DISK = '" + _DBFilePath + "'"
' create new user for EasyFarmacy Database
q2 = myConn.CreateCommand
q2.CommandText = "CREATE LOGIN inituser WITH PASSWORD = 'inituser' USE EasyFarmacy GO CREATE USER inituser FROM login inituser GO"
Try
myConn.Open()
q1.ExecuteNonQuery()
q2.ExecuteNonQuery()
Catch ex As Exception
MsgBox("Database connection error! + '" + ex.Message + "'")
End Try
myConn.Close()
End Sub
有人能帮我吗?当然,这样的命令需要用 现在,对于恢复部分,我建议您参考安装Sql Server时部署的SMO库。您可以在GAC中找到所需的程序集
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SmoExtended
然后您可以使用Restore类来执行您的操作。所需的步骤很多,它们取决于您的上下文。因此,我为您提供了一个指向的链接,您可以在其中找到以编程方式执行的还原操作的完整示例,该示例是您为执行命令而提供的:
Private Sub DBConnect()
Dim myConn As SqlConnection
Dim myCmd As SqlCommand
myConn = New SqlConnection(@"Server=.\SQLEXPRESS;User Id=sa;Password=sql123;")
myCmd = myConn.CreateCommand
myCmd.CommandText = "CREATE LOGIN inituser WITH PASSWORD = 'inituser'"
myConn.Open()
myCmd.ExecuteNonQuery()
myConn.Close()
End Sub您不通过sql server management studio执行此操作有什么原因吗?这会更简单,但此功能可以在单击按钮时执行。我需要这样做..也许可以编写一些存储过程并从代码中调用它们?是否可以从VB.NET进行数据库还原?您可以使用T-SQL命令进行还原,就像您使用上面的命令创建userSure一样,但您需要知道一些事情,如数据文件、逻辑和物理名称等。在MSDN中搜索“还原数据库”。附带说明。SMO库提供了完整的备份和恢复功能。我只需要在第一次恢复数据库。当我执行应用程序时,它在连接字符串中的“@”符号处显示错误。“意外令牌”
Private Sub DBConnect()
Dim myConn As SqlConnection
Dim myCmd As SqlCommand
myConn = New SqlConnection(@"Server=.\SQLEXPRESS;User Id=sa;Password=sql123;")
myCmd = myConn.CreateCommand
myCmd.CommandText = "CREATE LOGIN inituser WITH PASSWORD = 'inituser'"
myConn.Open()
myCmd.ExecuteNonQuery()
myConn.Close()