使用sql
server
2008自带的维护计划自动备份数据库,并且自动删除超过设定期限的历史备份文件:
1.
每天0点自动备份指定数据库
testdb,备份文件放在e:\autoback文件夹下
2.
备份文件保留1周,每天备份完数据库后自动删除超过1周的备份文件
二:前提条件
1.
已经安装sql
server
integration
services
服务
2.
已经安装sql
server
代理
(mssqlserver)
服务
如果未安装sql
server
integration
services
服务,依然可以创建维护计划,但是不会生效
三:
创建维护计划(使用维护计划向导)
1.
选择对象资源管理器下的“管理”,点击右键,选择“维护计划向导”
2.
选择“下一步”进入“选择计划属性”界面,
我们这里修改计划名称为
testmaintenanceplan
因为我们现在有两个任务,一个是备份数据库testdb,一个是删除历史备份文件。所以选择“整个计划统筹安排或无计划”
3.
点击“更改”按钮,进入时间计划设置界面
我们这里需要每天重复执行,频率是每天0点钟执行,从当天开始执行
4.
点击“确定”后,返回计划属性界面
5.
选择“下一步”,进入选择维护任务界面
我们这里有两个任务,备份数据库和删除超期的历史备份文件,所以勾选“备份数据库(完整)”和“‘清除维护’任务”两个任务
6.
选择“下一步”,
进入设置维护任务顺序的界面
这里的顺序是先备份数据库,
再执行“清除维护”任务,删除历史备份
7.
选择“下一步”,进入备份数据库任务的设置界面
选择指定的特定数据库testdb:
指定备份文件存放的目录为e:\autoback
备份文件扩展名为bak(默认),bak字母前面不要加点(
.
)
8.
选择“下一步”进入“定义清除维护任务”界面
我们需要删除文件夹(e:\autoback)下面的以bak为扩展名的数据库备份文件,文件保留时间为1周,
这里需要注意的是,
文件扩展名填“bak”而不要填“.bak”,扩展名前不要加点,否则不会删除
9.
选择“下一步”设置报告文件路径
10.
选择“下一步”完成
11.
刷新“管理”
下的“维护计划”文件夹,
可以看到创建的维护计划
12.
双击新建的维护计划或点击右键选择“修改”,可以看到维护计划的内容,并修改,修改后点击保存即可
13.
最后重启sql
server
代理
服务即可
MS SQL数据库从2008 R2转移到2008的方法
SQL Server 2008 R2导出的过程
1.打开Management Studio,登录到服务器,在数据库中选择要转移的数据库,
右键--“任务(T)”--“生成脚本(E)...”。
2.在“生成和发布脚本”窗口中,点击“下一步”,
3.“选择要编写脚本的数据库对象”,可以不做设置,点击“下一步”,
4.点击[保存到文件]右边的“高级”按钮,在对话框中,设置“为服务器版本编写脚本”为“SQL Server 2008”,
设置“要编写脚本的数据的类型”为“架构和数据”。选择保存脚本的位置。
5.下一步,再下一步。导出完成。
SQL Server 2008导入的过程
1.打开Management Studio,登录到服务器,
2.选择菜单“文件”——“打开”——“文件”,选择.sql脚本文件,点击工具栏中的“执行”按钮。
3.在左侧的“对象资源管理器”中右键“数据库”——“刷新”。完毕。
问:将DB1表A的数据导入到DB2的表B中?
数据库:DB1 表:A
数据库:DB2 表:B
答:分以下几种情况:
【数据量很小,表结构一致】
1、select * from DB1.dbo.A
2、结果集全选,复制。
3、表B,右键-编辑前200行,然后粘贴即可。
【DB1和DB2在同一台服务器】
1、INSERT INTO SELECT语句
语句形式为:Insert into DB2.dbo.B(field1,field2) select value1,value2 from DB1.dbo.A
要求目标表B必须存在,由于目标表B已经存在,所以我们除了插入源表A的字段外,还可以插入常量。
2、SELECT INTO FROM语句
语句形式为:SELECT value1, value2 into DB2.dbo.B from DB1.dbo.A
要求目标表B不存在,因为在插入时会自动创建表B,并将A中指定字段数据复制到B中。
【DB1和DB2在不同服务器】
1、在DB1里面创建连接DB2的对象,
--创建链接服务器 (其中db2server是DB2的ip地址或服务器名)exec sp_addlinkedserver 'srv_lnk', '', 'SQLOLEDB','db2server'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','123456789'
Go
--数据导入(表B存在)
Insert into srv_lnk.DB2.dbo.B(field1,field2)
select value1,value2 from DB1.dbo.A
--数据导入(表B不存在)
SELECT value1,value2 into srv_lnk.DB2.dbo.B
from DB1.dbo.A
--关闭连接
exec sp_dropserver 'srv_lnk','droplogins'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)