如何将SQL Server数据库移动到另一个?

时间:2014-01-07 05:18:23

标签: sql-server

最初,我在本地计算机上使用SQL Server Management Studio创建了数据库。

我现在想将它复制到我的网站文件夹中的App_Data,这样我希望自由移动我的网站,同时将我App_Data中包含的数据库移动到其他机器。

我应该遵循哪些步骤?

我正在使用SQL Server 2008 Express。

2 个答案:

答案 0 :(得分:0)

使用SQL Server Tools将数据库从一台服务器移动/复制到另一台服务器有很多种方法。

i)从旧服务器分离数据库并将其附加到新服务器中。这是纯粹的脱机操作,它会移动数据库而不是复制它。

参考http://msdn.microsoft.com/en-us/library/ms190209.aspx:如何在SQL Server Management Studio(SSMS)中使用attach / detach数据库

ii)备份旧服务器中的数据库并将其还原到目标服务器中。这可以在联机期间执行,并在目标服务器中创建新数据库。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms187048.aspx

iii)在SQL Server Management Studio中使用复制数据库向导。

在SSMS中选择源服务器中的数据库 右键单击 - >任务 - >复制数据库向导以启动复制数据库向导。 输入源凭证和目标凭据,然后选择附加/分离或SMO类型 单击下一步,您可以安排或立即运行 单击“完成”以执行它

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms188664.aspx

iv)最后一种类型是使用生成脚本向导(SSMS)生成创建脚本,并在目标服务器中执行它。

在SSMS中选择源服务器中的数据库 右键单击 - >任务 - >生成脚本向导以启动向导。 选择所需的各种脚本选项,然后选择为其生成脚本所需的对象。确保脚本选项中的脚本数据= true以生成数据脚本(INSERT语句)

单击下一步 - >下一步并完成以生成脚本(新查询窗口或剪贴板或文件) 连接到目标服务器并在其中创建新数据库。 单击新查询窗口并粘贴使用上面的GSW生成的脚本,并使用目标数据库上下文执行它们。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms181421.aspx

v)在SMO中使用传输对象

示例代码: ScriptingOptions so = new ScriptingOptions(); so.ScriptData = true; 转移t =新转移(db); t.CopyAllObjets = true; t.options = so; ................... ..................  t.TransferData();

注意:Microsoft.SqlServer.SmoExtendedClass.dll中提供了传输类(SQL Server 2008) 或Microsoft.SqlServer.Smo.dll(SQL Server 2005)

可以配置各种成员变量。此外,还可以创建ScriptingOptions类对象并将其分配给传输对象。

设置ScriptData = true以便传输数据。它复制目的地而不是移动数据库

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.transfer.aspx

vi)您可以使用数据库发布向导来完成此任务。您可以根据需要将目标版本指定为SQL 2005或SQL 2000等。

答案 1 :(得分:0)

有很多方法可以传输正在运行的数据库。

  1. 使用备份还原。 refer microsoft
  2. 使用复制。
  3. 分离和附着不是正确的方法,因为有可能丢失数据。