我想在SQL Server 2005中将数据库从本地计算机导出到数据库服务器。
如何在无法访问数据库服务器的文件系统的情况下还原数据库
答案 0 :(得分:2)
您可以使用SQL Server的内置备份和还原功能 备份本地数据库,并将其写入某些网络共享(可以在网络中的任何位置,也不必在数据库服务器上):
BACKUP DATABASE MyDatabase TO DISK = '\\Servername\Share\MyBackup.bak'
然后,您可以在数据库服务器上还原数据库,直接从网络共享读取备份:
RESTORE DATABASE MyDatabase FROM DISK = '\\Servername\Share\MyBackup.bak'
请注意,您必须使用T-SQL中的所有内容才能直接读取和写入网络共享! (您也可以在SQL Server Management Studio中从GUI备份和还原数据库,但只能在那里使用本地文件夹)
答案 1 :(得分:1)
您的情况是,您希望将数据库从本地数据库服务器复制到远程数据库服务器,但您确实可以访问远程计算机,这就是您无法使用还原或附加数据库功能的原因。
解决方案: 对我来说,最好的办法是生成一个包含模式和数据库数据的脚本。这将作为本地数据库的脚本备份,可以运行到您想要的任何SQL Server。 Sql Server 2008已经有了这个接口,但是对于Sql Server 2005,你需要有Sql发布向导。
您可以从这里下载:(删除空格)
http://www.codeplex.com/sqlhost/Wiki /View.aspx?title=Database%20Publishing%20Wizard
要创建脚本,您可以执行以下操作:
要运行的命令将创建架构和数据库: C:\ Program Files \ Microsoft SQL Server \ 90 \ Tools \ Publishing \ sqlpubwiz脚本-d AdventureWorks“C:\ AdventureWorks.sql”
要运行的命令将创建架构 C:\ Program Files \ Microsoft SQL Server \ 90 \ Tools \ Publishing \ sqlpubwiz脚本-d AdventureWorks“C:\ AdventureWorks.sql”-schemaonly
要创建数据的命令 C:\ Program Files \ Microsoft SQL Server \ 90 \ Tools \ Publishing \ sqlpubwiz脚本-d AdventureWorks“C:\ AdventureWorks.sql”-dataonly
有关详细信息,请阅读...(删除空格)
http://blog.sqlauthority.com/2007/11/16/ sql-server-2005-generate-script-with-data-from-database-database-publishing-wizard / < /强> 的
这对我很有用。
答案 2 :(得分:0)
您需要访问数据库服务器的文件系统。 您必须从本地服务器分离数据库,然后将相关的.mdf和.ldf文件复制到目标数据库服务器,然后将文件附加到该数据库服务器的SQL Server管理工作室中。