刚接手SQL Server数据库的维护,还是菜鸟一个。由于公司大部分项目都是使用这种类型的数据库,于是先研究了下其备份方法。总结有如下三种:
1.完全使用SQL Server自带的自动备份机制。在这种方式中,通过维护计划调用SQL Server
内置的“备份数据库”任务并配置定时作业实现。
2.不使用维护计划,在定时作业中配置备份命令。
3.不使用维护计划,在master库中编写备份的存储过程,然后配置定时作业调用该存储过
程。
下面以SQL Server2005上的操作为例进行说明。
1.操作前提
要使SQL Server中的定时作业能够正确运行,必须先启动SQL Server代理。SQL Server代理主要提供周期性任务、服务器异常时给sa发送问题告警。详细的解释可参考如下链接:https://www.wendangku.net/doc/df10877756.html,/en-us/library/aa174509(v=sql.80).aspx。
SQL Server的启动方法如下:
1.在windows下选择“开始”-》“控制面板”-》“管理工具”-》“服务”,或是选择“开始”
-》“运行”,在cmd窗口键入“services.msc”,进入到“服务”界面。
2.找到SQL Server Agent服务,启动该服务,并将启动类型配置为“自动”。
2.使用自动备份机制
使用维护计划向导来配置维护计划。操作步骤如下:
1.使用SQL Server Management Studio打开服务器,选择“管理”-》“维护计划”-》“维护
计划向导”。
2.维护计划向导启动界面中列出了维护计划的主要作用,其中就包含数据库备份。
3.设置维护计划名称。
4.选择“维护任务”。在这里可以根据指定的备份策略选择全量备份还是增量备份。
5.选择维护任务顺序。如果上一步选择多个维护任务,则需要在此设置各个维护任务的顺
序。
6.配置维护任务。选择待备份的数据库及备份文件存放路径。
7.定义维护计划属性。在“选择维护计划属性”窗口,点击“更改”进行设置。这里主要
设置维护计划对应的定时作业。
8.设置维护操作报告选项。维护操作报告可以txt形式存放在数据库运行目录下,也通过
邮件发给相关人员。请根据实际需要配置。这里选择默认值。
9.完成维护计划的创建。显示如下界面表明维护计划创建成功。
10.结果检查。在“管理”-》“维护计划”中可看到新建的维护计划,同时在“SQL Server
代理”-》“作业”中也可看到同名的定时作业。
双击新建的维护计划,查看其属性,可看到维护计划调用了SQL Server自带的“备份数据库”任务。
3.使用备份命令
使用用户自定义的备份命令时,只需要在配置定时作业时增加备份命令,即可实现自动备份。具体的操作方法如下:
1.使用SQL Server Management Studio打开服务器,选择“SQL Server代理”-》“作业”,
右键选择“新建作业”。
2.在“新建作业”窗口中,选择“常规”页,设置作业名称。其他属性默认。
3.选择“步骤”页,点击“新建”,设置作业步骤。输入步骤名称,类型选择“Transact-SQL
脚本(T-SQL)”,选择要备份的数据库,在命令属性中输入如下代码:
DECLARE @strPath NVARCHAR(200)
set @strPath = convert(NVARCHAR(19),getdate(),120)
set @strPath = REPLACE(@strPath, ':' , '-')
set @strPath = 'F:\DB_Bak\' +'DB_Bak' +@strPath + '.bak'
BACKUP DATABASE test1 TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
蓝色部分F:\DB_Bak\表示备份文件的存放目录,DB_Bak表示备份文件以DB_Bak 开头。备份文件的格式为“DB_Bakyyyy-mm-dd hh-mi-ss.bak”。
4.选择“计划”页,点击“新建”,设置作业计划。设置计划的名称、类型、执行频率、
执行间隔及开始结束时间。
5.设置完成后,点击“确定”。其他页可不设置。
6.检查结果。在“SQL Server代理”-》“作业”下,可看到新建的作业。选中作业,右
键选择“属性”,可查看该作业对应的各项设置。
4.使用存储过程
如果需要在同一服务器上备份多个数据库,可选择使用存储过程进行自动备份。具体的操作步骤如下:
1.使用SQL Server Management Studio打开服务器,选择“数据库”-》“系统数据库”
-》“master”-》“可编程性”-》“存储过程”,右键选择“新建存储过程”。
2.在存储过程创建窗口中,输入如下内容:
USE [master]
GO
/****** Object: StoredProcedure [dbo].[BackupYLData] Script Date: 01/17/2013 08:12:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- Batch submitted through debugger:
SQLQuery1.sql|0|0|C:\Users\Administrator\AppData\Local\Temp\2\~vs A9AA.sql
CREATE PROC[dbo].[BackupYLData]
AS
DECLARE @strDate AS VARCHAR(20)
DECLARE @strFileName As VARCHAR(100)
DECLARE @strCommand AS VARCHAR(255)
SET @strDate=CONVERT(VARCHAR,GETDATE(), 112)
--备份test1数据库
SET @strFileName ='F:\DB_Bak\test1_bak_'+@strDate;
EXEC('BACKUP DATABASE test1 TO DISK='''+@strFileName+'.dat''') SET @strCommand='HaoZipC a -t7z '+@strFileName+'.7z '+@strFileName+'.dat'
EXEC master..xp_cmdshell @strCommand
IF@@ERROR=0
BEGIN
SET @strCommand='DEL '+@strFileName+'.dat'
EXEC master..xp_cmdshell @strCommand
END
--备份test2数据库
SET @strFileName ='F:\DB_Bak\test2_bak_'+@strDate;
EXEC('BACKUP DATABASE test2 TO DISK='''+@strFileName+'.dat''') SET @strCommand='HaoZipC a -t7z '+@strFileName+'.7z '+@strFileName+'.dat'
EXEC master..xp_cmdshell @strCommand
IF@@ERROR=0
BEGIN
SET @strCommand='DEL '+@strFileName+'.dat'
EXEC master..xp_cmdshell @strCommand
END
以上代码中,粗体部分[dbo].[BackupYLData]表示存储过程名为BackupYLData,
F:\DB_Bak\test1_bak_表示备份文件存放在F:\DB_Bak目录下,以test1_bak_开头,test1表示需要备份的数据库名,HaoZipC a -t7z表示使用压缩工具将得到的文件压缩为.7z 文件。请根据实际情况修改浅蓝色部分。
3.存储过程修改完成后,点击工具栏上的“”将存储过程编译刷新到数据
库中。
4.选择“数据库”-》“系统数据库”-》“master”-》“可编程性”-》“存储过程”,右键
选择“刷新”,即可看到新增加的存储过程。
5.新建作业。在“常规”页输入作业名称。
6.在“步骤”页,选择“新建”,输入执行步骤。注意类型必须选择“Transact-SQL脚
本(T-SQL)”,数据库必须选择master(因为备份的存储过程在master中),在命令窗口中输入执行存储过程的命令行。
7.在“计划”页,点击“新建”,设置作业计划。
8.点击“确定”,完成作业的设置。
5.其他说明
自动备份作业创建完成后,可在设定的时间点后检查作业是否成功执行:
1.查看备份目录下是否有文件生成,文件的命名是否符合需求;
2.在“作业”中,选择相应的作用,右键选择“查看历史记录”,将会显示作业的执行
结果,包括作业执行成功/失败、作业开始执行的时间、作业耗费的时间。
Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。 Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。 与Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括Business Intelligence Development Studio)的紧密集成使Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。 工具/原料 Microsoft SQL Server 2005 方法/步骤 第1步:启动“MicrosoftSQL Server Management Studio”,在“对象资源管理器”窗口里依次选择“”→“管理”选项。 第2步:在图6.26中,右键单击“维护计划”,如果弹出如图6.35所示的“错误提示”对话框,说明SQL Server Agent没有启动,此时需要启动“SQL Server Configuration Manager”,如图6.36所示,启动SQL Server Agent。
SQL Server 2005 不允许远程连接解决方法 做课程设计时,很多学生都遇到这个问题。把解决方法写在这儿,供参考。 刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到SQL Server 2005 时,在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。(provider: 命名管道提供程序, error: 40 - 无法打开到SQL Server 的连接) "搜MSDN,上面有一片机器翻译的文章,是在让人难以明白,现在总结如下:明白了SQL Server是个网络数据库就可迎刃而解了,简单的分为下面的集中情况。 1. 数据库引擎没有启动。 有两种启动方式: (1)开始->程序->Microsoft SQL Server 2005->SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动; (2)可打开:开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER) ,并单击工具栏中的"启动服务"按钮把服务状态改为启动; 使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server 2005配置管理器"中的SQL Server 2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式操作就可以了. 2. 是否已经允许远程连接。 这个部分可以简单的分为4个方面,分别是在SQL Server上启用远程连接、启用SQL Server 浏览服务、在Windows 防火墙中为SQL Server 2005 创建例外和在Windows 防火墙中为“SQLBrowser”创建例外。下面是几个具体的操作方式,摘自MSDN,个人觉得文章的黑体部分应当特别的一起我们的注意。 在SQLServer 实例上启用远程连接 1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器” 2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器” 3.然后单击展开“数据库引擎”,选中“远程连接”,在右边选中“本地连接和远程连接”, 再选择要使用的协议,( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用”,您会看到下消息:“直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回 4.展开“数据库引擎”,选中“服务”,在右边单击“停止”,等到MSSQLSERVER 服务停止, 然后单击“启动”,重新启动MSSQLSERVER 服务。(更改其它选项后,一定要重启MSSQLSERVER 服务,才能将更改应用!!) 启用SQLServer 浏览器服务
正确安装SQL Server 2005之后。 1.打开“SQL Server 外围应用配置器”。 2.点击“服务和连接的外围应用配置器”,打开服务和连接的外围应用配置器 对话框,展开“MSSQLSERVER”下的“Database Engine”,然后点击“远程连接”,则右侧设置“本地连接和远程连接”下面的“同时使用TCP/IP和named pipes”项。然后应用确定。 3.设置例外SQL Server端口。在“控制面板”中打开“Windows防火墙”,选 择“例外选项卡”。点击添加端口,给个名称,端口SQL默认的是1433(你
一般不要改动),当然你也可以在“SQL Server Configuration Manager”中的网络配置中修改。 4、以Windows身份进入SQL Server Management Studio,展开“安全性”->“登录名”,右键新建登录名,填入登录名,在“常规”中,选择SQL Server身份验证,并填入密码。在“用户映射中”,为用户在相应的数据库中设置对应的权限,另外在“状态”中,将登录设置“启用”。这样便新建了一个用于网络登录SQL服务器的用户账号。
5、在SQL Server Management Studio中,右键点击服务器,选择属性弹出“服务器属性”对话框,点击左侧的“安全性”,在“服务器身份验证”项中选择“SQL Server 和Windows 身份 验证模式”然后点击确定。
6、在SQL Server Configuration Manager中,重启“SQL Server(MSSQLSERVER)”服务。 7、在SQL Server Management Studio,可以使用服务器的IP地址和网络用户登录。另外,如果更改了SQL Server的端口,则在此处的“服务器名称”中填入IP后,用逗号隔开加端口号,如:222.195.11.219,418。
SQL 2005 EXPRESS 自动备份 2010-05-13 11:03:49 标签:SQL自动EXPRESS 最近由于换了新的工作,公司用了SQL 2005 EXPRESS ,可是没法实现数据的维护计划,对于不断增多急需做自动备份的工作十分头痛,在网上不断的找资料,都解释的不是很全,接下来,我整理给大家看下,因为我刚才已经TEST成功了,希望对大家有帮助,我可量百度SEACH了一天时间才弄出来 方法如下 1 首先用SQL Server Management Studio Express 登录到实例中 展开数据库,新建存储过程
复制如下语句到到右边 USE master GO CREATE PROC p @db_name sysname, --数据库名 @bk_path NVARCHAR(1024) --备份文件的路径 AS IF ISNULL(@db_name,'')='' SET @db_name=db_name() ; DECLARE @dt VARCHAR(50) ; SET @dt=@db_name+'_'+CONVERT(VARCHAR(8) , GETDATE() ,112)+'_'; SET @dt=@dt+REPLACE(CONVERT(VARCHAR(10) ,GETDATE() ,108),':','') IF RIGHT(@bk_path,1)<>'\'
SET @bk_path=@bk_path+'\'; EXEC ('BACKUP DATABASE ['+@db_name+'] TO DISK='''+@bk_path+@dt+'.bak'' WITH FORMAT'); GO 根据实际数据库做修改 第二步 在某个文件夹里建两个txt文件--如D:\batComand.txt跟D:\BackupDatabase.txt --然后batCommand.txt文件内容如下: sqlcmd -S TAIXIN-PC-11\SQLEXPRESS -E -i D:\BackupDatabase.sql 上面这条语句TAIXIN-PC-11\SQLEXPRESS是计算机名\实例名 然后保存.将扩展名改为.bat 然后BackupDatabase.txt文件内容如下: USE master GO EXEC p '要备份的数据库名','备份路径' 然后保存,将扩展名改为.sql --第三步 新建任务计划.然后在选择执行哪个任务的时候..单击浏览..选择D:\batCommand.bat 设置每天执行..即可. 备份时的文件名是:数据库名_日期_时间.bak 最新经验补充,经过一段时间的备份,会发现日志文件不断增加,原因是除了日志备份,在完整备份模式下,其他备份不会截断日志。 采用的方法:
1,安装前准备: 安装IIS,打开控制面板,点“添加或删除程序”,点“添加/删除Windows组件(A)”,把“Internet 信息服务(IIS)”前面的勾选框的勾选上,点“下一步”,一路确认完成。这个过程一般没有问题。 当然,要装SQL Server 2005,当然要准备安装程序(光盘),也就要选对版本。 我之前下载了个“Microsoft SQL Server 2005 Enterprise Edition”,兴冲冲的去安装,安装不成功,最后看他的安装说明里面恰好这个版本“Windows XP Professional Edition SP24”是不能安装的,背啊。。。。才知道磨刀不误砍材功的道理,后来去下载了“Microsoft SQL Server 2005 Standard Edition”,920MB的压缩包。 2,SQL Server 2005的安装光盘共有2张,先打开第一张,点“服务器组件、工具、联机丛书和示例(C)”
此步骤系统配置检查很重要,14个项目里面如果有1项有错误或者警告,整个SQL Server 2005都将不正常。 我第一次在一台笔记本的Windows xp2系统上安装就遇到了一个COM+组建的警告,以为没有什么大不了,不过最后是发现程序不能正常运行,在google,百度上搜索半天,操作了半天,结果还是问题依旧。 不过我回家第二次在台式机上的Windows xp2安装就没有问题,一切正常。 看来和Windows xp2的系统版本没有关系,而是我的笔记本电脑的Windows xp2系统不正常了,可能重新装下系统就可以正常安装SQL Server 2005了。 重装系统看来是遇到问题的唯一法宝——除非你是那种专家级别的高手。在这个步骤遇到问题或者错误警告还是举手投降了,选择重新安装系统。可能那样解决问题的时间还要短些。烦恼也少些。
使用SQL Server 2008维护计划实现数据库定时自动备份 - [Database] 2010-04-12 | Tag: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业。 启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL 脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库TestDB1的完整备份,备份文件在C盘Backup文件夹中,文件名就是TestDB1+当时备份的日期字符串.bak。 declare@name varchar(250) set@name='C:\Backup\TestDB1_'+ convert(varchar(50),getdate(),112)+'.bak' BACKUP DATABASE[TestDB1]TO DISK=@name WITH NOFORMAT, NOINIT, NAME = N'TestDB1-完整数据库备份', SKIP, NOREWIND, NOUNLOAD 创建好步骤以后,接下来就是创建计划,创建计划的操作十分简单,界面上说明的很详细了,我就不多说了。另外还可以配置警报和通知,不过一般很少用这个。 使用SQL作业中执行SQL脚本进行备份的方法虽然已经很简单了,但是至少还是要去写BACKUP 脚本,这点有些人觉得不爽,那有没有更简单,更懒的方法来实现数据库的自动定时备份呢? 有,那就是“维护计划”。
1、简述数据与信息之间的联系与区别。 1、描述事物的符号称为数据,信息是就指对结果进行加工处理,并对人类社会实践和生产活动产生决策影响的数据。数据是物理的,信息是观念性的,数据和信息密切相关,信息可以数据化,数据代表信息,两者既有联系又有区别。 2、简述数据库系统的设计流程。 2、数据库设计的流程包括六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。 3、社么是E-R图?E-R图由哪些要素构成? 3、E-R图是用来描述实体-联系的模型图。 E-R图的组成要素:表示实体的“矩形”、表示实体属性的“椭圆”、表示实体间联系的“菱形”。 4、逻辑结构设计有哪些步骤? 4、逻辑结构设计步骤:(1)概念模型转化为关系模型。(2)将关系模型转化为特定数据管理系统下的数据模型。(3)数据模型进行优化(通常采用规范化理论),以提高数据库应用系统的性能。 5、物理结构设计有哪些步骤? 5、物理结构设计步骤:(1)确定数据库的物理结构(存储结构、存储位置)。(2)确定数据库的存取方法。(3)对物理结构进行评价,评价的重点为时间和空间效率。 6、数据库的维护包括哪些工作? 6、数据库的维护工作:对数据库的监测、分析和性能的改善;数据库转存和故障恢复;数据库的安全性、完整性控制;数据库的重组和重构造。 7、简述安装SQL Server2005所需的软硬件环境。 软件环境:
9何在SQL Server2005 Management Studio中增加一个数据库? 9可利用“附加”数据库功能: (1)在【对象资源管理器】窗口中,右击【数据库】选项,弹出快捷菜单,选择【附加】选项,出现【附加数据库】对话框。 (2)单击【添加】按钮,出现【定位数据库文件】对话框。从中选择要附加的数据库的主要数据文件,单击【确定】按钮,返回【附加数据库】对话框。 (3)单击【确定】按钮,即可把所选的数据库附加到当前SQL Server实例上 10、如何一个查询,并保存脚本文件? 10、打开查询编辑器窗口。在查询编辑器窗口中键入脚本,单击工具栏上的分析按钮,分析脚本语法,使其正确。(2)按F5,或者单击工具栏上的执行按钮,执行脚本,或者也可以在菜单栏上的【查询】|【执行】。(3)选择“文件”菜单中的【保存】命令,或单击工具栏的【保存】按钮,在打开的保存对话框转播中,选择存储位置,输入脚本文件名,单击“保存”即可保存脚本文件。 11、SQL Server2005安装成功后,有哪些系统数据库?其用途分别是什么? 11、统数据库: master数据库:是SQL Server系统最重要的数据库。记录SQL Server 系统的所有系统级信息。 model数据库:作为用户创建新数据库的模板。 msdb数据库:是代理服务器数据库。它为报警、任务调度和记录操作员的操作提供存储空间。 tempdb数据库:记录了所有的临时表?临时数据和临时创建的存储过程等保存临时对象的一个工作空间? 12、据库文件有哪些类型?其作用分别是什么? 12、据库文件类型: (1)主要数据文件:包含数据库的启动信息,并指向数据库中的其他文件。主要数据文件的文件扩展名是.mdf。 (2)次要数据文件:是可选的,由用户定义并存储用户数据。次要数据文件的文件扩展名是.ndf。 (3)事务日志文件:用于记录所有事务以及每个事务对数据库所做的修改。 13、库如何扩容?有几种方法? 13、改现有数据库中数据文件的容量,或者增加数据文件扩容数据库。 有两种方法:
使用SQL Server2005创建数据库和表 使用SQL Server2005数据库管理系统创建数据库和表 在本练习中,将使用SQL Server2005数据库管理系统创建Student数据库,并在Student 数据库中创建表Student,使你能够掌握使用SQL Server2005数据库管理系统创建数据库和表的方法。 1)启动SQL Server2005: 依次单击开始->所有程序->SQL Server 2005->SQL Server Management Studio Express启动SQL Server 2005数据库管理系统 2)登录数据库服务器: 点击“连接到服务器“对话框中的连接按钮连接到SQL Server 2005数据库服务器。 3)创建数据库Student 在SQL Server 2005数据库管理系统的左边栏“对象资源管理器”中右击数据库对 象,在弹出的快捷菜单中单击“新建数据库”命令。
在弹出的“新建数据库”对话框右侧的数据库名称中输入数据库名称“Student”,然后单击确定。 4)在Student数据库中新建表”Student”
单击SQL Server 2005数据库管理系统的左侧的“对象资源管理器”栏中的”刷新”按钮,以显示出新建的数据库“Student”。 依次展开左侧栏对象资源管理器中的“数据库”->“Student”,并右击Student数据库中的表项目,在弹出的快捷菜单中单击“新建表”命令。 在右侧在工作区中输入“Student”表的信息,该表具有如下列:
单击文件菜单中的保存命令保存该表,并取名为“Student”。
数据库查询是数据库中一个最重要也是最基本的功能,它是从数据库中检索符合条件的数据记录的选择过程。 SQL Server 2005的数据库查询使用T-SQL语言,其基本的查询语句是SELECT 语句。 SELECT [ALL|DISTINCT] [ TOP
打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目里可以先给作业命名,假设为“备份数据”。 一、备份数据的第一个步骤--“备份当日数据” 在“步骤”栏目里新建一个步骤名为“备份当日数据”,类型为“T-SQL”,数据库选择你要操作的数据库(假设为“TESTDB”),命令窗口里填入备份的SQL语句。假设备份数据放在“D:\BACKUP”里,备份文件命名格式为“SQL-2009-3-26. BAK”,那么语句如下: DECLARE @filename VARCHAR(255) DECLARE @date DATETIME Select @date=GETDATE() Select @filename = 'D:\BACKUP\SQL-'+CAST(DATEPART(yyyy,@da te) as varchar)+'-'+CAST(DATEPART(mm,@date) as varchar)+'-'+ CAST(DATEPART(dd,@date) as varchar)+'.bak' BACKUP DATABASE [TESTDB] TO DISK = @filename WITH INIT GO 在步骤属性的高级的“成功时要执行的操作”选择“转到下一步”即可,这样“备份当日数据”的步骤已经建立好。 二、备份数据的第二个步骤--“删除旧有备份” 我们可以设置只保留5天内的备份数据,那么必须删除5天前的数据备份文件。在“备份数据”作业属性窗口的步骤栏目里,建立第二个步骤命名为“删除旧有备份”。同样类型为“T-SQL”,命令窗口里填入一下SQL语句: DECLARE @OLDDATE DATETIME Select @OLDDATE=GETDATE()-5 EXECUTE master.dbo.xp_delete_file 0,N'D:\BACKUP',N'bak',@oldda te 此命令会删除“D:\BACKUP”里5天前的.BAK或.TRN格式的文件,不用指定文件名是什么。因为SQL SERVER的备份文件里包含了时间属性在里面。在步骤属性的高级的“成功时要执行的操作”选择“退出报告成功的作业”即可,这样第二个步骤已经建立好。 三、备份数据作业属性的计划栏目里,设置作业的执行时间
实验二:管理SQL Server 2005数据库 一、实验目的 1.了解数据库常用对象及组成; 2.熟悉SQL的基本概念和特点; 3.熟练掌握T-SQL 语句中的数据定义的使用方法; 4.熟悉在SQL Server 2005中创建及编辑数据库; 5.熟练掌握SQL的数据定义子句的使用方法。 二、实验环境 已安装SQL Server 2005企业版的计算机; 三、实验学时 2学时 四、实验要求 1.熟练使用Management Stuio界面方式创建及编辑数据库; 2.熟练使用T-SQL 语句创建及编辑数据库; 3.完成实验报告。 五、实验准备知识(也可参考SQL Server联机丛书) 1.数据库相关属性 1)逻辑名称:数据文件和日志文件名称 2)文件类型:数据文件及日志文件 3)文件组:各个数据文件所属的文件组名称 4)初始大小:文件的最原始大小 5)自动增长:文件按指定的大小增长,也可限制到最大容量。 6)路径:存放文件的物理目录 7)文件名:显示数据文件和日志文件的物理名称 2.默认数据库属性 1)主数据文件为xx.mdf ,日志文件为xx_log.ldf; 2)只有一个文件组Primary; 3)主数据文件初始大小为3MB,增量为1MB; 4)日志文件初始大小为1MB,增量为10%; 5)主数据文件和日志文件都存放在C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA目录下,文件分别为xx.mdf 和 xx_log.ldf 。 3.使用界面创建数据库步骤
【SQL Server Management Studio】→【对象资源管理器】→【数据库】→【新建数据库】→设置数据库相关属性(名称、大小、位置) 4.启动SQL Server 2005查询分析器 【SQL Server Management Studio】→【新建查询】 5.命令方式下创建数据库 CREATE DATABASE database_name /*指定数据库名*/ [ON 子句 ] /*指定数据库文件和文件组属性 [LOG ON 子句 ] /*指定日志文件属性*/ 6.命令方式修改数据库(每次只能使用一个子句) Alter database database_name {add file
让SQL2005自动定时备份数据库并按 日期命名 SQL2005的维护计划里面自带了备份数据库任务,但不会自动按日期命名,不方便,下面的方法是以存储过程来解决的。 1.启动Sql Server Agent 服务 2.创建作业 3.添加常规 4.添加步骤 5.添加计划,设置频率,时间等 二.每个步骤的详细操作 1.启动Sql Server Agent 服务 (可在运行中打开:services.msc) 打开【配置工具】中的【SQL Server Configuration Manager】窗口,点击【SQL Server 配置管理器(本地)】--【SQL Server2005 服务】,右面窗口显示的是当前所有服务的运行状态,右键点击【SQL Server Agent】选择启动菜单。 SQL Server Agent简介:https://www.wendangku.net/doc/df10877756.html,/question/41264786.html 2.创建作业 打开【Management Studio】,展开SQL Server代理,右键点击【作业】选择【新建作业】菜单。【选择页】中选择【常规】 3.添加常规 在2中的【选择页】中选择【常规】选项,输入作业名称 4.添加步骤 在2中的【选择页】中选择【步骤】,点击窗口下方的【新建】按钮,输入步骤名称、选择操作数据库。在命令输入框中输入作业执行的T-SQL语句,这里备份的语句如下:
**************************************************************** DECLARE @strPath NVARCHAR(200) set @strPath = convert(NVARCHAR(19),getdate(),120) set @strPath = REPLACE(@strPath, ':' , '.') set @strPath = 'c:\b\' + @strPath + '.bak' BACKUP DATABASE [vrveis] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT ***************************************************************** 有关WITH 后面的参数值的含义,请参考: https://www.wendangku.net/doc/df10877756.html,/zh-cn/library/ms186865.aspx 其中DATABASE [vrveis]的vrveis是要备份的数据库,@strPath备份的完成路径 还原数据库:restore database [数据库名] from disk=[磁盘路径] WITH NOINIT:不重写备份集的参数 NOUNLOAD: * convert:函数简介:按照地区代码格式化时间的输入格式 convert(NVARCHAR(19),getdate(),120) 例如:SELECT CONVERT(nvarchar(19), getdate(), 120), 输出为:2008-11-29 15:45:59 * REPLACE ( 'string_expression_r1' , 'string_expression_r2' , 'string_expression_r3' ) 用第三个表达式替换第一个字符串表达式中出现的所有第二个指定字符串表达式的匹配项。 替换':' 是因为路径中有':'会报错 5.添加计划 在2中的【选择页】中选择【计划】选项,点击【新建】按钮。 输入名称、执行频率、每天频率。例如:要每天的凌晨自动备份数据库,执行频率选择每天、每天频率选择‘执行一次’执行时间:0:00:00,持续时间:选择开始
打开SQL Server 2005 的Manger Studio -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 找到你要转换的数据库(建议先将此数据库里的登录名清空,否则转换会出现问题)-- 右键选择要转成SQL Server2000 的数据库 -- 选择任务 -- 选择生成脚本 -- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库 -- 勾选"为所选数据库中的所有对象编写脚本" (这个勾不要其实也可以的,根据你的需要来。) -- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000" -- 其他选项根据需要设置 -- 最后把脚本保存到一个.sql 脚本文件 代码如下: 有可能会遇到的问题: 目标服务器版本不支持该对象或不支持该对象的一个属性。(Microsoft.SqlServer.Smo) 脚本无法成功生成。此问题是由于“数据库兼容性级别”导致的。 解决方案: server有个改兼容性级别的语句: sp_dbcmptlevel [ [ @dbname = ] name ] [ , [ @new_cmptlevel = ] version ] 语句如下: EXEC sp_dbcmptlevel '你的数据库名', '80'; GO 这个80就是各个版本对应的版本号 60 = SQL Server 6.0 65 = SQL Server 6.5 70 = SQL Server 7.0 80 = SQL Server 2000 ——8.0 90 = SQL Server 2005 ——9.0 由于是转到2000于是兼容性级别就要调到80 2. 在2000中创建目标数据库 在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库。 代码如下: 有可能会出现的问题: max附近有语法错误 server2000里面没有max这种用法,所以建议大家把SQL脚本里的MAX改成一个很大的数就是了,比如4000(4000好像是上限)。 odb问题 其他数据库我不知道,但是不论你用server什么数据库,只要不是你自己的,通常管理员是不会给你配odb权限的,所以把所有的odb檫掉就可以了。另外还有个办法,用你的远程数据库登录名可以改成那个用户的所有者,在本地也修改一下,然后再运行,就OK啦。
SQL SERVER 2005自动备份数据库和删除备份 SQL SERVER 2005里自动备份数据库和删除旧有备份的办法 打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目 打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目里可以先给作业命名,假设为“备份数据”。 一、备份数据的第一个步骤--“备份当日数据” 在“步骤”栏目里新建一个步骤名为“备份当日数据”,类型为“T-SQL”,数据库选择你要操作的数据库(假设为“TESTDB”),命令窗口里填入备份的SQL语句。假设备份数据放在“D:\BACKUP”里,备份文件命名格式为“SQL-2009-3-26.BAK”,那么语句如下: DECLARE @filename V ARCHAR(255) DECLARE @date DATETIME SELECT @date=GETDA TE() SELECT @filename = 'D:\BACKUP\SQL-'+CAST(DATEPART(yyyy,@date) as varchar)+'-'+CAST(DATEPART(mm,@date) as varchar)+'-'+CAST(DA TEPART(dd,@date) as varchar)+'.bak' BACKUP DATABASE [TESTDB] TO DISK = @filename WITH INIT GO 在步骤属性的高级的“成功时要执行的操作”选择“转到下一步”即可,这样“备份当日数据”的步骤已经建立好。 二、备份数据的第二个步骤--“删除旧有备份” 我们可以设置只保留5天内的备份数据,那么必须删除5天前的数据备份文件。在“备份数据”作业属性窗口的步骤栏目里,建立第二个步骤命名为“删除旧有备份”。同样类型为“T-SQL”,命令窗口里填入一下SQL语句: DECLARE @OLDDATE DATETIME SELECT @OLDDATE=GETDATE()-5 EXECUTE master.dbo.xp_delete_file 0,N'D:\BACKUP',N'bak',@olddate,1 此命令会删除“D:\BACKUP”里5天前的.BAK或.TRN格式的文件,不用指定文件名是什么。因为SQL SERVER的备份文件里包含了时间属性在里面。在步骤属性的高级的“成功
SQL2005数据库转SQL2000操作方法 现场中有时需要将SQL server2005中的数据导出到SQL server 2000数据库中,操作方法如下: 1、在SQL server2005中连接2005的数据库,连接成功后看到EdvConfig_ 2、EdvData_2两个数据文件,同时连接SQL sever 2000的数据库文件,输入2000数据库所在的服务器IP地址,使用sa用户,输入对应密码进行连接。操作完成后如图1中所示,在SQL server 2005界面中有名为“NJNVZIJY”和“10.58.7.5”两个数据库。 2、删除SQL sever 2000数据库中EdvConfig_2中的usertable表。 3、在SQL sever 2005的数据库“NJNVZIJY”下EdvConfig_2上右击选择“任务” > “导出数据”进入图2 所示的界面 图1
4、点击下一步进入图3所示的界面。 图3
5、服务器名称选择默认的本地服务器的名称NJNVZIJY,使用windows身份验证,数据库 选择默认的EdvConfig_2,然后点击下一步进入图5所示界面。 图4 6、采用默认配置,点击下一步进入图6所示界面。 图5
6、选择多个表,除了SenFormatTable、SoDeviceFormatTable两个表不选,其他全选,然后 点击下一步进入图7所示界面。 图6 7、采用默认配置继续点击下一步进入图8所示界面。 图7
7、点击完成开始执行数据拷贝,等待执行结束即完成将EdvConfig_2中数据导入到SQL sever 2000数据库。 图8 9、对EdvData_2数据库进行同样的操作,将2005类型的EdvData_2数据导入到SQL sever 2000数据库。操作过程中注意在“选择源表和源视图”步骤中选择所有表,其他步骤选择默认配置点击下一步即可。
异地备份 这是一个很常见的需求,网上也有相关的解决方法,主要是通过映射网络盘和执行cmdshell 命令来实现! 今天所说的实现方法稍有不同,思路来源于最近在深入研究的SQL Server服务帐号模式和安全机制,相关文章见Blog! 具体实现方法如下: 一:基本思路 1:要实现异地备份,必须使用域用户帐号来启动SQL Server服务以及SQL Server Agent 服务,因为本地系统帐户无法访问网络。 2:在异地机器中建立一个与SQL Server服务器中启动SQL Server服务的域用户帐号同名帐号,且密码保持相同。 在异地机器中建立一个共享文件夹,并设置合适权限。 注意:新建帐号针对的是工作组模式,如果是基于域模式,那就无须再建帐号3:在SQL Server服务器中建立异地备份的维护计划,在“完全备份”和“事务日志备份”中,使用输入异地共享文件夹的UPN路径。 4:配置好维护计划中其它设置。 上面表述可能不太直观,下面以实际实验来演示如何做异地备份。实验网络模型很简单,二:异地备份的演示 1:在SQL Server服务器中以域用户帐户启动SQL Server服务以及SQL Server Agent服务。 本实验中直接使用administrator帐户,可以根据实际环境切换其它域用户帐户。 域用户帐户.png (31.76 KB) 域用户帐户.png (31.76 KB) 域帐户 2008-11-18 09:13 2:在文件备份服务器中建立一个共享文件夹,共享权限中删除everyone用户,加入administrator用户,权限设置如下图。 共享权限.png (16.96 KB) 共享权限.png (16.96 KB) 共享权限 2008-11-18 09:13 3:在SQL Server服务器中,打开企业管理器,新建数据库维护计划: 数据库维护计划.png (42.19 KB) 数据库维护计划.png (42.19 KB) 维护计划 2008-11-18 09:13 4:在维护计划向导中,选择计划备份的数据库,设置好数据库优化信息和检查完整性等步骤。 5:在向导的“指定数据库备份计划”设置好调度计划。 6:在“指定备份磁盘目录”界面,手动输入文件备份服务器共享文件夹UPN路径
广州涉外2010-2011学年第一学期期末考试 《SQL Server 2005数据库》 试卷B 适用专业: 年级:09计网 考试形式:闭卷(开卷) 考场要求:笔试 考试时间:120 分钟 出卷人:杨卫平 班级: 学号: 姓名: 评分: 一、单项选择题(每小题1分,共10分) 1. ( )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用 户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。 A .DBMS B .DB C .DBS D .DBA 2. 下列四项中,不属于SQL2005实用程序的是( )。 A.企业管理器 B.查询分析器 C.服务管理器 D.媒体播放器 3. SQL Server 安装程序创建4个系统数据库,下列哪个不是( )系统数据库。 A. master B. model C. pub D. msdb 4. 下列哪个不是sql 数据库文件的后缀。 A ..mdf B ..ldf C ..tif D ..ndf 5. 数据定义语言的缩写词为 ( )。 A.DDL B.DCL 装 订 装 订 线
C.DML D.DBL 6. SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( )。 A.包括15岁和35岁 B.不包括15岁和35岁 C.包括15岁但不包括35岁 D.包括35岁但不包括15岁 7. SQL的视图是从()中导出的。 A. 基本表 B. 视图 C. 基本表或视图 D. 数据库 8. 在SQL语言中,建立存储过程的命令是() A、CREATE PROCEDURE B、CREATE RULE C、CREATE DURE D、CREATE FILE 9. SQL语言中,删除表中数据的命令是( )。 A. DELETE B. DROP C. CLEAR D. REMOVE 10. 在MS SQL Server中,用来显示数据库信息的系统存储过程是( )。 A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb 二、判断题(每空1分,共10分) 1. '在那遥远的地方' 是SQL中的字符串常量吗?() 2. 11.9 是SQL中的实型常量吗?() 3. select 16%4, 的执行结果是: 0 吗?() 4. 200 5.11.09 是SQL中的日期型常量吗?() 5. ¥2005.89 是SQL中的货币型常量吗?() 6. select 25/2 的执行结果是: 12.5 吗?() 7. '李逵'>'李鬼' 比较运算的结果为真吗?() 8. 一个表可以创建多个主键吗?() 9. 创建唯一性索引的列可以有一些重复的值?() 10. smallint 是SQL的数据类型吗?()