最初,我在本地计算机上使用SQL Server Management Studio创建了数据库。
我现在想将它复制到我的网站文件夹中的App_Data
,这样我希望自由移动我的网站,同时将我App_Data
中包含的数据库移动到其他机器。
我应该遵循哪些步骤?
我正在使用SQL Server 2008 Express。
答案 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)
有很多方法可以传输正在运行的数据库。
分离和附着不是正确的方法,因为有可能丢失数据。