sql server 2008关于数据库拷贝

          想把一个数据库复制到另外一个服务器上,想连同表的结构、存储过程、还有外键约束等一次性复制过去,即一次性把整个数据库的相关内容都复制过去,最简单的方法就是备份和还原了。

只要源数据库和目标数据库的数据库名称一致就可以拷贝

一、SQL数据库的备份

1、依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Management Studio → 数据库:Dsideal_school_db既是我们需要备份的学籍数据库

图(1)

2、选择要备份的数据库“Dsideal_school_db”,点击鼠标右键 → 任务 → 备份,如图(2):

图(2)

3、在打开的“备份数据库 —Dsideal_school_db”对话框中,先点击删除,然后点击“添加”,如图(3):

图(3)

4、在弹出的“选择备份目标”对话框中,如图(4)

图(4)

5、选择好备份的路径(如D盘的江西-学籍-数据库备份文件夹中),文件类型选择“所有文件”,“文件名”那个位置填写上您要备份的数据库的名字(最好在您备份的数据库的名字后面加上日期,以方便以后查找),之后连续点击“确定”按钮即可完成数据库的备份操作,如图(5):

图(5

二、SQL数据库的还原

1、选择您要还原的数据库“Dsideal_school_db”,点击鼠标右键 → 任务 → 还原 → 数据库,如图(6):

图(6)

2、在出现的“还原数据库 — school_web_db”对话框中选择“源设备”,然后点击后面的“…”按钮,如图(7):

图(7)

3、在出现的“指定备份”对话框中,点击“添加”按钮,如图(8):

图(8)

4、找到数据库备份的路径,选择您所要还原的数据库“Dsideal_school_db”(注意:文件类型选择所有文件),然后连续“两次”点击“确定”按钮,如图(9):

图(9)

5、在出现的“还原数据库 — Dsideal_school_db”对话框中,勾选上“选择用户还原的备份集”下的数据库前的复选框,如图(10)

图(10)

6、然后选择“选项”,勾选上“覆盖现有数据库”,如图(11):

图(11)

三、还原数据库问题解决方案

在还原数据库“Dsideal_school_db”时,有时会遇见上图中的问题“因为数据库正在使用,所以无法获得对数据库的独占访问权”,此时我们可以按照以下步骤解决此问题

1、右键数据库“Dsideal_school_db”,然后选择“属性”,如下图

2、在出现的“数据库属性 — Dsideal_school_db ”对话框中,选择“选项”,在“其他选项”下的“状态”中找到“限制访问”。选择“SINGLE_USER”,点击“确定”按钮,如下图:

3、按照正常还原数据库的步骤,还原数据库。


SQL Server 2008“备份集中的数据库备份与现有的数据库不同”解决方法


对于SQL Server 2008,有几个地方是要注意的,比方在还原数据库时,不像2000里边将数据库和文件区分的很细,统一均为文件,这就使还原的数据库文件制定为. bak。那么想还原2000的数据库(备份数据库文件,无后缀名的),就需要自己手工选择。

选择下拉框中的“所有文件”,这时就会显示“备份数据库文件”了,选择-确定

最主要就是要在“选项”中选择“覆盖现有数据库”,否则就会出现“备份集中的数据库备份与现有的数据库”的问题。


[SQL Server] 复制数据库任务

假设你要生产环境下的数据做相应的测试,比如修改及测试存储过程、更改和优化索引等。但是你用户在连接数据库的情况下,你又不能断开数据库的连接。如何取得数据库的副本呢?

一.  利用数据库任务中的复制数据库菜单

  示例是从默认实例 MSSQLSERVER 向命名实例 MYSQLSERVER 复制Northwind数据库。开启服务如下:

     

                      图一

  下一步,我们开打Northwind数据库 -> 任务 -> 复制数据库

      

                    图二

  打开数据库复制向导 -> 下一步 ,选择源服务器和目标服务器,同时要求目标服务器(MYSQLSERVER)必须运行SQL Server 代理,否则会出现提示!

  这里有两种复制数据库方法可供选择:

  

                              图三

  然后相应的设置完毕后,到最后一步点击完成。出现错误如下:

  

                               图四

   什么原因呢? 其实是你的目标服务器(此处为MYSQLSERVER)的代理服务的权限过低,这一点图三已经作出了提示。更改代理服务权限为服务启动账户LocalSystem(此过程中会自动启动 Integration Services 服务)

  

                        图五

再点击完成便可以成功。

  

           图六



SQLServer中批量插入数据方式的性能对比



技术方案一:

由于是考虑到大数据量的批量插入,于是我想到了ADO.NET2.0的一个新的特性:SqlBulkCopy。有关这个的性能,很早之前我是亲自做过性能测试的,效率非常高。这也是我向公司同事推荐的技术方案。

技术方案二:

利用SQLServer2008的新特性--表值参数(Table-Valued Parameter)。表值参数是SQLServer2008才有的一个新特性,使用这个新特性,我们可以把一个表类型作为参数传递到函数或存储过程里。不过,它也有一个特点:表值参数在插入数目少于 1000 的行时具有很好的执行性能。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值