SQLServer2008数据库复制
SQL Server 2008恢复数据

SQL Server 2008恢复数据恢复数据,就是让数据库根据备份回到备份时的状态。
当恢复数据库时,SQL Server 会自动将备份文件中的数据全部复制到数据库,并回滚任何未完成的事务,以保证数据库中的数据的完整性。
下面将使用SQL Server Management Studio工具将前面所备份的数据库进行恢复数据库的操作步骤如下:(1)打开SQL Server Management Studio窗口,在【对象资源管理器】中,展开数据库,右击【SMSstudent】数据库,执行【任务】|【还原】|【数据库】命令,如图10-26所示。
图10-26 执行【还原数据库】命令(2)在【还原数据库】对话框中,启用【源设备】单选按钮,单击按钮,将弹出【指定备份】对话框。
给图()在该对话框中,选择【备份介质】下拉列表中的【备份设备】选项,再单击【添加】按钮,选择之前创建的Most备份设备,如图10-27所示。
图10-27选择备份设备(3)指定备份完成后单击【确定】按钮,返回到【还原数据库】窗口,在【选择用于还原的备份集】列表中显示“完整”和“事务日志”备份,可这使数据库恢复到最近一次备份的正确状态,如图10-28所示。
图10-28 还原数据库的【常规】页面(4)在【选项】页面选择RESTORE WITH RECOVERY选项,如图10-29所示。
图10-29 还原数据库的【选项】页面(5)设置完成后,单击【确定】按钮开始恢复,恢复完成后将弹出还原成功的对话框。
如果还需要恢复别的备份文件,需要选择RESTORE WITH NORECOVERY选项,恢复完成后,数据库会显示处于正在还原状态,无法进行操作,必须到最后一个备份还原为止,如图10-30所示。
图10-30 数据库的还原状态当执行还原最后一个备份时候,必须选择RESTORE WITH RECOVERY选项,否则数据库将一直处于还原状态。
SQLserver2008简明教程

第1章认识SQL Server 2008在信息技术飞速发展的今天,数据库技术作为数据管理的核心技术,在社会的各个领域发挥着强大的作用。
由Microsoft发布的SQL Server产品是一个典型的关系型数据库管理系统,以其强大的功能得到广大用户的认可。
SQL Server 2008是Microsoft最新发布的关系型数据库管理系统产品,它提供一个可靠的、高效的、智能化的数据平台,可运行需求最苛刻的、能完成关键任务的应用程序。
本章围绕关系数据库知识展开介绍,进而引出SQL Server 2008的有关知识,包括SQL Server 2008的概念、新特性、体系结构和安装方法。
最后向读者展示如何将SQL Server 2000或SQL Server 2005升级到SQL Server 2008,以及如何卸载SQL Server 2008。
本章学习目标如下:●了解数据库的概念。
●理解关系数据库的概念和术语。
●了解SQL Server 2008及其功能。
●了解SQL Server 2008的新特性。
●了解SQL Server 2008的体系结构。
●掌握安装SQL Server 2008的方法。
●了解如何升级到SQL Server 2008。
●了解SQL Server 2008的升级顾问。
●掌握卸载SQL Server 2008的方法。
1.1 关系数据库数据库(Database,DB)是数据库管理系统(Database Management System,DBMS)的核心,包含了系统运行所需的全部数据。
而关系数据库(Relational Database,RDB)是指基于关系模型的数据库。
目前,关系型的数据库管理系统已经成为当今流行的数据库系统。
1.1.1 什么是数据库简单来说,数据库就是存放数据的地方。
严格来讲,数据库是指长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
SQL Server 2008 数据库案例教程课后习题答案

《SQL Server 2008数据库案例教程》练习题及模拟试卷答案第1章一、判断题1. 数据库技术是是计算机数据处理与信息管理系统的核心。
(√)2. 数据是用于描述现实世界中具体事物或抽象概念,可存储的数字符号。
(×)3. 数据库是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
(√)4. 数据库管理系统是一个按数据结构来存储和管理数据的服务器管理系统。
(×)5. 关系数据库,是建立在关系模型基础上的数据库。
(√)二、单选题1. 数据(Data)是一些可存储并具有明确意义的(A)A. 符号B.图形C.文字D.数字2. 人工阶段计算机用于数值计算,没有操作系统及管理数据的软件。
这一阶段的年代是(C)A. 19世纪80年代B. 20世纪20年代C.20世纪50年代D. 20世纪80年代3. 在网页中常用的图像格式是(D)A..bmp和.jpgB..gif和.bmpC. .png和.bmpD. .gif和.jpg4.数据库系统的重要特征是什么?(D)A. 数据的独立性和动态性 B.数据的静态性和独立性C.数据的动态性和共享性 D.数据的独立性和共享性三、多选题1.与数据库技术密切相关的基本概念有(ABCD)A. 数据B. 数据库C. 数据库管理系统D. 数据库系统2.数据库可分为哪几种类型?(ABC)A. 关系型数据库B. 网状数据库C. 层次数据库D.树形数据库3. DBMS提供数据操作语言DML,为用户提供了哪些操作?(ABCD)A.数据的追加B.数据的删除C.数据的更新D.数据的查询4.DBMS要分类组织、存储和管理各种数据,包括哪些内容?(ABC)A. 数据字典B. 用户数据C. 存取路径D.服务器5. 目前,DBMS常见品牌有哪些公司?(ABC)A.微软公司的SQL Server B.IBM公司的DB2 C.甲骨文公司的ORACLE D.索尼公司的MySQL四、填空题1.数据库(管理)技术经历了人工管理阶段和文件管理阶段。
MSSQLServer2008数据库快照技术

MS SQL Server 2008数据库快照一.快照原理数据库快照是数据库(源数据库)的只读、静态视图,是数据库在某个时间点的映像。
多个快照可以位于一个源数据库中,并且可以作为数据库始终驻留在同一服务器实例上。
创建快照时,每个数据库快照在事务上与源数据库一致。
在被数据库所有者显式删除之前,快照始终存在。
当生成一个数据快照时,快照功能要进行以下操作:把文件系统描述复制一份;在磁盘空闲空间创建一个缓冲区;在文件系统写操作中增加一个判断,这个判断就是应用是否是第一次修改数据。
当有应用要第一次修改数据块时,快照功能就把原来的数据块保留入缓冲区,同时把数据快照的访问入口转而指向缓冲区。
运行原理:数据库快照在数据页级运行。
在第一次修改源数据库页之前,先将原始页从源数据库复制到快照数据库,此过程称为“写时复制操作”。
快照将存储原始页,保留它们在创建快照时的数据记录,同时保证对已修改页中的记录进行后续更新时不会影响快照的内容,对要进行第一次修改的每一页重复此过程。
通过以上操作快照将保留自创建快照后经修改的所有数据记录的原始页。
数据访问时,通过快照入口访问到的就是原始数据。
而同时,应用程序仍然可以在文件系统(源数据库)上读写。
也就是说,在应用不停的情况下,得到了一个某一时间点的静态数据。
二.快照运用及工作方式1. 数据库快照的运用1)在进行重大更新之前,可创建数据库快照以保护数据。
一旦进行了错误操作,可以使用快照将数据库快速恢复到生成快照时的状态。
2)管理测试数据库,快速撤销测试中的各种操作,使得测试环境保持一致性。
3)维护历史数据,便于生成某一时间点的报表。
4)使数据免受因管理失误、用户失误所带来的影响。
5)使用为了实现可用性目标而维护的镜像数据库来减轻报表负载。
说明:数据库快照是依赖于源数据库的。
因此,采用数据库快照对源数据库的备份和还原不能代替实际意上的备份和还原策略,严格按计划执行备份仍然至关重要。
2. 数据库快照的工作方式数据库快照使用NTFS分区所提供的稀疏文件技术,这样文件在逻辑上可以很大,但是物理上却非常小。
SQLServer2008新实例远程数据库链接问题(sp_addlinkedserver)

SQLServer2008新实例远程数据库链接问题(sp_addlinkedserver)先说说问题起因:测试同学在⾃⼰电脑上测试不同的后台,但数据库使⽤的是相同的名称。
于是创建了新的SQL Server实例,⽽新实例需要指定不同端⼝才能启动,改端⼝后执⾏sp_addlinkedserver语句后,连接测试不成功。
执⾏的SQL语句如下:EXEC master.dbo.sp_addlinkedserver @server = N'UserDBLink', @srvproduct=N'UserDBLink', @provider=N'SQLNCLI', @datasrc=N'(LOCAL)', @catalog=N'UsersDB' /* For security reasons the linked server remote logins password is changed with ######## */EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'UserDBLink',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL先说下问题的解决⽅案,需要在@datasrc字串中加⼊端⼝号,如下:@datasrc=N'(LOCAL)'修改为@datasrc=N'(LOCAL),端⼝号'很简单吧!但,但,但确查了好久,最后还是想到程序中连接字符串⽤法,才解决了该问题。
程序中链接串是这样的Provider=SQLOLEDB.1;Password=11;Persist Security Info=True;User ID=sa;Initial Catalog=db;Data Source=127.0.0.1,1433;在查找问题过程中,查了MSDN⽂档,居然没有写新端⼝的写法,难怪该妹妹折腾了好久!,⼤家帮我看看,难道我错怪MSDN了嘛这是我复制的MSDN描述sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ][ , [ @provider= ] 'provider_name' ][ , [ @datasrc= ] 'data_source' ][ , [ @location= ] 'location' ][ , [ @provstr= ] 'provider_string' ][ , [ @catalog= ] 'catalog' ]参数:[ @server= ] 'server'要创建的链接服务器的名称。
第二章 sql server 2008 数据库的基本操作

/*日志文件逻辑文件名*/ /*日志文件物理文件名*/ /*日志文件初始大小*/ /*日志文件最大大小*/ /*日志文件自动增长*/
使用T-SQL语言为安易超市创建“supermarket”数据库
参数 参数值
数据库名称
数据文件逻辑文件名 数据文件物理文件名 数据文件的初始大小 数据文件的最大大小 数据文件增长量 日志文件逻辑文件名
在更改数据库名称之前,要确保以下三种条件: • 确保数据库被创建后没有被使用过 • 确保数据库的访问选项设置时单用户模式 • 确保数据库现在处于关闭状态
SQL Server 2000数据库的基本操作
【例】将数据库“学生信息管理”更名为“student”
1. 2.
ALTER DATABASE 学生信息管理 MODIFY NAME = student SP_RENAMEDB „student‟ , ‟学生信息管理’
CREATE DATABASE 教学管理 ON PRIMARY ( NAME = „教学管理_DATA1‟, FILENAME = „D:\教学管理\教学管理_DATA1.MDF‟. SIZE = 5, MAXSIZE = 100, FILEGROWTH = 10% ) FILEGROUP F_GROUP ( NAME = „教学管理_DATA2‟, FILENAME = „D:\教学管理\教学管理_DATA2.MDF‟. SIZE = 5, MAXSIZE = UNLIMITED, FILEGROWTH = 10% )
例: USE 教学管理 EXEC sp_helpfilegroup
SQL Server 2000数据库的基本操作
2、更改数据库名称
在查询分析器中使用T-SQL命令更改数据库名称。 语法一: SP_RENAMEDB „oldname‟ , ‟newname‟ 语法二: ALTER DATABASE dataname MODIFY NAME = newname 注意:
sql server 2008数据库连接字符串大全

一、.NET Framework Data Provider for SQL Server类型:.NET Framework类库使用:System.Data.SqlClient.SqlConnection厂商:Microsoft1.标准安全连接复制代码代码如下:Data Source = myServerAddress;Initial Catalog = myDataBase;User Id = myUsername;Password = myPassword;使用服务器名\实例名作为连接指定SQL Server实例的数据源。
如果你使用的是SQL Server 2008 Express版,实例名为SQLEXPRESS。
2.可替代的标准安全连接复制代码代码如下:Server = myServerAddress;Database = myDataBase;User ID = myUsername;Password = myPassword;Trusted_Connection = False;这条连接字符串跟上一条效果一样。
把这条写出来只是想说,其实很多连接字符串的关键字有多种写法。
3.信任连接复制代码代码如下:Data Source = myServerAddress;Initial Catalog = myDataBase;Integrated Security = SSPI;可替代的信任连接复制代码代码如下:Server = myServerAddress;Database = myDataBase;Trusted_Connection = True;4.连接Windows CE设备的信任连接通常一台Windows CE设备在一个域里是不能被认证和登录的。
为了让一台CE设备使用SSPI或信任连接和认证,可以使用下面的连接字符串:复制代码代码如下:Data Source = myServerAddress;Initial Catalog = myDataBase;Integrated Security = SSPI;User ID = myDomain\myUsername;Password = myPassword;说明一下,这条语句只能在CE设备上用。
浅析SQLServer2008数据库维持高可靠性的措施

浅析SQLServer2008数据库维持高可靠性的措施作者:罗世鑫来源:《消费电子·理论版》2013年第06期摘要:本文分析了SQLServer2008数据库中故障转移群集、数据库镜像、日志传送或者复制等提高数据库的高可用性手段的优缺点,旨在更好地诊断文件,帮助数据库管理员排忧解难。
关键词:SQLServer2008;高可用性;故障转移群集中图分类号:TP311.13 文献标识码:A 文章编号:1674-7712 (2013) 12-0000-01在SQLServer2008数据库中,它自身具有很多的高可用性解决方案。
如可以采用故障转移群集、数据库镜像、日志传送或者复制等手段来提高数据库的高可用性。
由于解决方案多了,数据库管理员不得不掌握各个解决方案的优点与缺陷,然后根据企业的实际应用来选择合适的解决方案。
一、故障转移群集故障转移群集可对整个SQLServer实例的高可用性提供支持。
故障转移群集由具有两个或多个共享磁盘的一个或多个节点(服务器)组成。
每个Microsoft群集服务(MSCS)的群集组(称为在“资源组”)中均安装有应用程序(如SQLServer)和NotificationServer。
在任何给定的时间点,每个资源组仅属于群集中的一个节点。
应用程序服务具有与节点名称无关的“虚拟名称”,因此它将作为虚拟服务器来引用。
应有程序可以通过引用虚拟服务器的名称方法连接到虚拟服务器,并不需要知道虚拟服务器的宿主是哪一个节点。
SQLServer虚拟服务器将像单个计算机一样显示在网络中,不过,它还具有一种功能,在当前节点不可用时,可以在节点之间进行故障转移。
例如,在发生非磁盘硬件故障、操作系统故障或进行计划的操作系统升级时,可以在故障转移群集的一个节点上配置SQLServer实例,使其故障转移到磁盘组中的任意其他节点。
故障转移群集不能防止磁盘故障。
可以使用故障转移群集来减少系统停止时间,提供较高的应用程序可用性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过SQLServer 2008数据库复制实现数据库同步备份SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份。
这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用。
它是一种优于文件备份的数据库备份解决方案。
在选择数据库同步备份解决方案时,我们评估了两种方式:SQL Server 2008的数据库镜像和SQL Server 2008 数据库复制。
数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜像服务器。
但缺点是配置复杂,镜像数据库中的数据不可见(在SQL Server Man ageme nt Studio 中,只能看到镜像数据库处于镜像状态,无法进行任何数据库操作,最简单的查询也不行。
想眼见为实,看看镜像数据库中的数据是否正确都不行。
只有将镜像数据库切换主数据库才可见)。
如果你要使用数据库镜像,强烈推荐killkill写的SQL Server 2005镜像构建手册,我们就是按照这篇文章完成了数据库镜像部署测试。
最终,我们选择了SQL Server 2008 数据库复制。
下面通过一个示例和大家一起学习一下如何部署SQL Server 2008 数据库复制。
测试环境:Win dows Server 2008 R2 + SQL Server 2008R2 (英文版),两台服务器,一台主数据库服务器CNBIogsDB1,—台备份数据库服务器CNBIogsDB2 。
复制原理:我们采用的是基于快照的事务复制。
主数据库服务器生成快照,备份库服务器读取并加载该快照,然后不停地从主数据库服务器复制事务日志。
见下图:图片来自SQL Server联机丛书安装与配置步骤:一、在两台服务器上安装好SQL Server 2008 R2 ,主要安装的组件:Database Engin e(含SQL ServerReplication) ,Management Tools 。
二、主数据库服务器(发布服务器)的配置:1.在主数据库服务器CNBIogsDBI 新建示例数据库CNBIogsDemo (注意Recovery mode要使用默认值Full,只有这个模式才能进行事务复制),然后建立一张测试表,比如:CNBIogsTest。
-.J 匚MEjIagsDema'+ _1 Database LJiagrams戸丄Tables+ _j System TablesEl □日二(ColLmne 圍ID (intj not null)Msg 们曲忙亦「(5(臨not null)IE 丄Ke/s[±]Constraints十一1 Triggers[+1 IndexesTi 二1 Statistics2.设置存放快照的文件夹:创建发布之前,先设置一下存放快照的文件夹,创建发布后会在该文件夹生成快照文件, 阅服务器需要在初始化时加载该快照文件。
选择Replication (复制)》Local Publications (本地发布)》属性,在出现的窗口中选择Publishers (发布),如下图:点击红框处的按钮,出现设置窗口:3.在主数据库服务器创建发布:在Replication (复制)》Local Publications (本地发布)中选择New Publication (新建发布),出现一个向导。
先选择要发布的数据库CNBIogsDemo,然后选择发布类型Transational publicati on (事物发布),如下图:点击Next,出现错误:原来所有要复制的表都需要有主键,刚才建CNBIogsTest表时,没有建主键。
建一下主键, 并重新启动向导就可以了。
接着选择要复制的对象:f ' New Pubfic^ion WizardArticles$el6ct tdbloi and other objects to publish B & arttl^. Select columns to filter tables.helpNext > Einish »\\ Cancel点 Next , Next ,进入 Sn apshot Age nt 窗口,选择 Create a sn apshot immediately and keep the snapshot available toinitialize subscriptions ,见下图:Objech F Qpublish;S<io(w onlv checked artcles 11 宙亡 I 戒Next,进入Age nt Security选择Security Settings,进行相应的帐户设置:Snapshot Agent SecuritySpeiifv the Jonnairi or machine atcocinf urder ^hich the Snapshot Agentprocess 蝌ill 口此Run under the follciAflng Windows jccouril:Process ^ccoi.iritPassword:Confirm Password'& Run urider the SQL Server Agent service account (Thi? is noJ a recomrriended security be址practice.]Connect to the Pubhshet ------------------------------------------------------------------ 厂创iftipsrcor-iting lhe procest account阳Using ths following SOL Server login:Login:Fa理口毗Confirim Fasswarid:OK 1 C^ncd 旦裾一个是设置运行Sn apshot Age nt的Win dows帐户,我们这里选择与SQL Server Age nt 同样的帐户。
一个是设置连接发布服务器的SQL帐户,我们这里就用主数据库服务器的sa帐户。
继续:OK,Next,Next,为这个发布起个名字:点击Finish,就开始正式创建发布,创建成功就会出现如下窗口:■ New Publication WizardCreating PublicotianClick Stop to interrupt be oper^tionL2Total3Cuccess:0 Enoi0 WamingDetails:Action I Status| Message空Creating Public时加'CNEIogs:DerriC_Pn...Su亡e«s£ Addins 胡心心1 cf 1Jewess田E tarting lhe Sna pshoJ Agent Sucres览叩| Report ▼这时查看快照文件夹,就会看到unc文件夹,快照文件就在这个文件夹中。
这里要考虑这样一个问题,如何让订阅服务器通过网络访问这个快照文件夹。
我们在这个问题上折腾了一些时间,本来想通过共享文件夹的方式,但又不想打开匿名共享,折腾了半天,没搞定订阅服务器访问共享文件夹用户验证的问题。
于是采用了FTP的方式, 所以,下面介绍一下如何让订阅服务器通过FTP访问快照文件。
4.设置快照的FTP访问首先在主数据库服务器上开通FTP服务,建立一个指向快照文件夹的FTP站点,设置好可以远程连接的FTP帐户。
然后在这台发布服务器设置一下FTP客户端配置。
配置方法如下:在Replication》Local Publications 中选择刚才创建的发布[CNBIogsDemo]:CNBIogsDemo_Publication ,选择属性》FTP Snapshot,如下图:Access si^apshot files Ihiaugh FTP -肓 Allow 5ubscr ibers to dawnload snapshot files using FTP [File ?ransJe r Pr otocoQ选中 Allow Subscribers to download snapshotfiles using FTP ,并设置一下 FTP 客户端连接参数,订阅服务器就是通过这里的设置连接FTP 服务器的(注:Path from the FTP rootfolder 的设置要和上图一样,设置为:/ftp )。
点击OK ,这时会在快照文件夹中创建一个 ftp 文件夹,并在该文件夹中生成快照文件。
这样,发布服务器就配置好了,下面配置订阅服务器。
三、备份数据库服务器(订阅服务器)的配置:进入订阅服务器 CNBIogsDB2,创建与发布服务器同名的数据库 CNBIogsDemo ,使用完全恢复模式。
在 Replication 》Local Subscriptions 中选择 NewSubscriptions ,进入向导。
Next ,进入选择发布服务器的窗口, 选择Find SQL ServerPublisher ,出现服务器连接窗口:也1 £ub 泊讪ion Options *Tj PublicaAion Access List 2 Ag&rrt SecurityFTP seirer namei9SLl6&ik1S S number21 Path from the FTP root folder ^ftpLogjnP 日滋囱ordSubscriber 冋ill use the following information to access the snapshot files:Note the Snapshot Agent can automatic all put files in this folder if you specify it a snapshot fib location on the Snapshot page of thif dialog boM.驷 GeneraJJ Arhcies5 Filler Rowsi 盘 Srtapshcit这里要注意的是Server Name中一定要填写发布服务器的计算机名,如果计算机名连接不上,要在hosts文件中加一个IP 地址解析。
成功连接发布服务器之后,就可以看到刚才在主数据库服务器上创建的发布:智New Subscription WizardPublicationChoate the publicdtiori fa ifvhichyou want ho erects one or nnore subscxipNonsPubHsher:|YcS erverOOBData bases and pidjlicatons!i CNQIagsDemoi iCN Blo^De mo_Pub lic.a lion园S-jj ITPioBlogHelp Eirrwh〉》]CancelNext,进入分发代理工作位置”的选择窗口:Distribution Agent Lo cationChoosy wher? tpiun the Di^triLutisn ^gQnt(s],For frie subscriptions I cr&^te in this wizard「Run 制 agents a\ lh& Dstributor, VCSERWE ROOG (pusli subscriphons]Thb option makes : it easier te idmiri^tei the synchronization of subscriptions centrally.,f* R un each agen^ 嬴 it $ Subset iber [p 训汕 bscri^t io ns]T his opHtinthe p-oressinrj nveihead d the PistrilTufar aid IH5 fccli5 ubscuber administer the synchronizdtiori of it* s :ubscripHon.Run the wizard more tKsri cries if you seme ag&nts to n;r mt th 曰 D rshibutar and some to run at Subscritiers.Caned------------ -----------------我们这里选择pull subscript ons ,把数据给拉过来,这样主数据库服务器的负担会轻些。