澳门新萄京到新服务器,日志传送
分类:数据库

在SQL Server 2012(11.0.7001.0)下面在还原一个数据库(备份文件40多G大小,实际数据库大小300G),在还原过程中,出现一直等待ASYNC_IO_COMPLETION,如下测试截图所示,已经等待了72分钟了,但是还原比例依然为0%

SQL Server 2012 日志传送

1. 安装TFS并配置域服务器

今天我想谈下SQL Server里的一个特别话题——即时文件初始化(Instant File Initialization)。对于你的SQL Server实例,如果你启用了即时文件初始化,在特定情况下,你会获得巨大的性能提升。即时文件初始化定义了当在数据文件里分配新的空间时,SQL Server引擎如何和Windows操作系统打交道。

  现象:---------------------------------------------------

 

一、准备

1) 安装一台独立的TFS

第一步是安装一台独立的TFS单服务器服务端, 这个过程可以参照安装光盘中详细的安装手册《Team Foundation 安装指南》进行, 这里需要安装单服务器的TFS.

问题缘由

在SQL Server默认配置里,当你在数据文件里分配新空间时,SQL Server会调用内部WIN32 API函数,填0初始化新分配的NTFS簇。这就是说新分配的空间的每个字节会用0值(0x0)重写。这个举动会阻止访问到原始数据问题,即在同个NTF簇里物理存储的数据。在下列SQL Server操作中,会发生填0初始化:

  • 创建新的数据库
  • 数据库自动增长
  • 数据库备份还原

当你创建10GB的数据库文件,SQL Server第1步需要把10GB的数据块写上0值。这个会花费很长时间。我们来看下面CREATE DATABASE语句:

 1 -- Create a new 10 GB database
 2 CREATE DATABASE TestDatabase ON PRIMARY
 3 ( 
 4     NAME = N'TestDatabase',
 5     FILENAME = N'D:SQLDATATestDatabase.mdf' , 
 6     SIZE = 10240000KB , 
 7     FILEGROWTH = 1024KB
 8 )
 9 LOG ON 
10 (
11     NAME = N'TestDatabase_log', 
12     FILENAME = N'D:SQLLogTestDatabase_log.ldf' ,
13     SIZE = 1024KB , 
14     FILEGROWTH = 10%
15 )
16 GO

从代码可以看到,这里我创建10GB的数据库文件。在我SQL Server默认配置里,这个语句花费了近49秒,因为SQL Server通过WIN32 API函数写入10GB的0到存储。假设你有损坏的数据库(例如也是10GB),你想还原备份,会发生什么?在第1步通常人们会怎么做?是会删除损坏的数据库。这意味这你的数据库文件没了,在还原文件操作期间,SQL Server第1步需要重建文件。

  1. SQL Server第1步创建10GB“空”的数据库,在NTF文件系统里数据文件会被填0初始化。
  2. 最后1步备份被还原时,SQL Server再次写入10GB的数据到数据文件。

你会发现,你写了近20GB的数据到你的存储!如果你在现存的文件上还原你的备份,SQL Server会跳过第1步,直接写入10GB的数据到你的存储——你就获得了100%的性能提升!

  1、连接SQL Server数据库提示:Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection 错误

SELECT  r.session_id ,

        r.command ,

        r.start_time,

        r.status,

        r.wait_type,

        CONVERT(NUMERIC(6, 2), r.percent_complete)   AS [Percent Complete(%)] ,

        CONVERT(VARCHAR(20), DATEADD(ms, r.estimated_completion_time,

                                     GETDATE()), 20) AS [ETA Completion Time] ,

        CONVERT(NUMERIC(10, 2), r.total_elapsed_time / 1000.0 / 60.0) AS [Elapsed Min] ,

        CONVERT(NUMERIC(10, 2), r.estimated_completion_time / 1000.0 / 60.0) AS [ETA Min] ,

        CONVERT(NUMERIC(10, 2), r.estimated_completion_time / 1000.0 / 60.0

        / 60.0) AS [ETA Hours] ,

        CONVERT(VARCHAR(1000), ( SELECT SUBSTRING(text,

                                                  r.statement_start_offset / 2,

                                                  CASE WHEN r.statement_end_offset = -1

                                                       THEN 1000

                                                       ELSE ( r.statement_end_offset

                                                              - r.statement_start_offset )

                                                            / 2

                                                  END)

                                 FROM   sys.dm_exec_sql_text(sql_handle)

                               )) AS CommandText

FROM    sys.dm_exec_requests r

WHERE   command IN ( 'RESTORE DATABASE', 'BACKUP DATABASE','RESTORE LOG' );

数据库为完全恢复模式,并事先做一次完全备份。

2) 配置域服务器

在域服务器上为TFS建立一个OU两个用户, 如下:

OU: TFS;

User: TFSSERVICE, TFSSETUP.

TFSERVICE: 该账户功是用来运行TFS相关服务的账户,其中集成了Reporting Service的服务权限,如果需要也可以再建立一个REPORTSERVER的账户来作为Reporting Service的服务账户,其配置方法和TFSSERVICE相同;

TFSSETUP: 改账户是一个高权限的账户,TFS服务器加入域时就需要用这个账户登录并进行相关的所有迁移操作.

澳门新萄京 1

配置TFSSERVICE用户的权限如下:

澳门新萄京 2

接着到域服务器上, 在安全策略中将TFSSERVICE用户加入到”作为服务登陆”和”允许本地登陆”帐户列表中:

澳门新萄京 3

澳门新萄京 4

然后确保域服务器和TFS服务器在同一网段, 他们互相可以Ping通:

澳门新萄京 5

即时文件初始化

如果你不想SQL Server进行你数据文件的填0初始化,你可以重新配置SQL Server。如果你授权SERVICE帐号,在对应运行的SQL Server下——执行卷维护任务(Performance Volume Maintenance Task)特权,在你重启SQL Server后,SQL Server会跳过数据文件的填0初始化。我曾说过这只对数据文件有效——在SQL Server里日志文件还是总要填0初始化的!这是米有办法滴!!!如果日志文件没有填0初始化,当日志文件被包裹时,故障还原进程就不知道从哪里结束。故障还原停在它找到下条日志记录需要处理头部0值地方。

你可以通过secpol.msc对SQL Server的SERVICE帐号授予执行卷维护任务(Performance Volume Maintenance Task)特权。

澳门新萄京 6

在重启后,SQL Server现在可以跳过数据文件的填0初始化。当我再次执行CREATE DATABASE,它只花费了近210ms——那是巨大的区别!副作用呢?你可以通过DBCC PAGE命令获得在分配的NTFS簇里存储的原始内容: 

1 -- Enable DBCC trace flag 3604
2 DBCC TRACEON(3604)
3 GO
4 
5 -- Dump out a page somewhere in the data file
6 -- A hex dump is working here
7 DBCC PAGE (TestDatabase, 1, 1000, 2)
8 GO

你看到我在我的数据文件里随便倾倒出了一个页。在那个情况下,SQL Server现在就会返回你一些垃圾数据——在新分配的NTFS簇里先前存储的数据——对SQL Server毫无关联的数据。

澳门新萄京 7

通过对SQL Server授予这个权限,基本上你打开了一个安全漏洞:用户(有正确权限的)可以获得老数据,在文件系统里先前存储的。因此对此你必须要仔细考虑下,对SQL Server是否要授予这个特权。

如果你想知道,你的SQL Server是否带这个权限在运行,你可以启用30043605跟踪标记。用这些启用的跟踪标记,SQL Server在错误日志会报告那个文件被填0初始化。接下来当你创建新的数据库时,对于SQL Server没有授予这个特权,从错误日志你可以看到,数据日志文件都被填0初始化了:

澳门新萄京 8

如果SQL Server有执行卷维护任务(Performance Volume Maintenance Task)特权,从错误日志你可以看到,只有日志文件被填0初始化:

 澳门新萄京 9

  问题:-------------------------------------------------

 

共享一个文件夹,主机备份放在这个文件夹,而且客户机有权访问这个共享文件夹。

3) 将TFS服务器加入到域

使用TFSSETUP帐户将TFS服务器加入域中:

澳门新萄京 10

然后先不要重启, 先将域中的TFSSETUP用户加入到本地管理员组中:

澳门新萄京 11

完成后重新启动计算机并用刚才的TFSSETUP域帐户登陆计算机:

澳门新萄京 12

Windows内核

在SQL Server运行下服务帐号,你对它授予了执行卷维护任务(Performance Volume Maintenance Task)特权,在Windows操作系统内部会发生什么呢?启用这个特权后(它内部是通过WIN32 API调用所谓的SE_MANAGE_VOLUME_NAME函数),SQL Server可以调用SetFileValidData.aspx)的WIN32 API函数。从在线文档里可以看到,调用那个函数的进程,有SE_MANAGE_VOLUME_NAME权限。当那个函数被SQL Server调用时,函数本身会设置文件所谓的High Watermark——在其NTFS簇里,文件直接扩展而不重写原始内容!正如在线文档所述:

 

“The SetFileValidData function allows you to avoid filling data with zeros when writing nonsequentially to a file. The function makes the data in the file valid without writing to the file. As a result, although some performance gain may be realized, existing data on disk from previously existing files can inadvertently become available to unintended readers.”

 

 

“If SetFileValidData is used on a file, the potential performance gain is obtained by not filling the allocated clusters for the file with zeros. Therefore, reading from the file will return whatever the allocated clusters contain, potentially content from other users. This is not necessarily a security issue at this point, because the caller needs to have SE_MANAGE_VOLUME_NAME privilege for SetFileValidData to succeed, and all data on disk can be read by such users.”

 

我已经说过,对于你的SQL Server实例,你是否启用这个权限主要是关系到安全的。

  初步分析应该与用户权限有关,查阅帮助文件,微软官方给出的原因:

 

 

2. 还原TFS服务器

小结

对于你的SQL Server实例,你是否应该启用即时文件初始化?这个依具体情况而定……当你是SQL Server和系统管理员时,授予这个权限是个好主意,因为作为系统管理员,你总是可以访问文件系统的。但当你有专属的系统管理员和SQL Server管理员时,这就不可能授予了,因为系统管理员并不信任你,对于你的SQL Server实例你不会获得这个权限。那样的话SQL Server总会填0初始化数据和日志文件……

感谢关注!

  当 SQL Server 2000 安全身份验证设置为“仅 Windows”, 并且存在下列情况之一时,就会发生此问题:

 

二、基本配置

1) 准备原始 Team Foundation Server

使用我们提供的”数据库备份文件”以及Reporting Services 秘钥.

参考文章:

https://www.sqlpassion.at/archive/2014/02/18/improving-sql-server-performance-by-using-instant-file-initialization/

  您正在尝试使用 SQL Server 登录连接到 SQL Server 2000 数据库。

澳门新萄京 13

1、启动配置向导

a) 在TFS服务器上,检索并保存 Reporting Service 安装 ID 的列表。

打开“命令提示符”窗口,将目录改为下面的目录:

驱动器: %ProgramFiles%Microsoft SQL Server90Toolsbinn

运行: RSKeyMgmt -l

记录安装 ID,然后将列表打印出来或将其保存到一个安全的位置。

澳门新萄京 14

  您正在尝试使用信任的 SQL Server 连接来连接到安装在基于 Microsoft Windows 98 的计算机上的 SQL Server 2000 桌面引擎(也称为 MSDE 2000)数据库。

 

澳门新萄京 15

b) 停止所有相关服务

依次单击“开始”、“管理工具”和“服务”,选择“Visual Studio Team Foundation Server Task Scheduler”服务,然后单击“停止

选择“Windows SharePoint Services Timer”,然后单击“停止”。

澳门新萄京 16

澳门新萄京 17

  您正在尝试从某 Windows 帐户连接到 SQL Server 2000 数据库,而该帐户没有足够的权限连接到服务器。

当然,这里是实验,如果还要继续等待的话,相信这个时间会更长。这个是比较让人奇怪的现象。后面查了一下这个跟即时文件初始化(Instant File Initialization (IFI))有关。关于这个概念,可以参考官方文档数据库文件初始化 ,摘抄部分内容如下所示:

2、配置事务日志备份计划

c) 停止IIS中相关应用程序池

依次单击“开始”、“管理工具”和“Internet 信息服务(IIS)管理器”。

在资源管理器窗格中,展开“应用程序池”节点,右击“Microsoft Team Foundation Server Application Pool”,再单击“停止”。

澳门新萄京 18

在资源管理器窗格中,在“应用程序池”节点下,右击“ReportServer”,然后单击“停止”。

澳门新萄京 19

  解决:--------------------------------------------

 

  在“备份文件夹的网络路径”框中,键入为事务日志备份文件夹创建的共享的网络路径。

d) 停止Reporting Service

依次单击“开始”、“程序”、“Microsoft SQL Server 2005”、“配置工具”和“Reporting Services 配置”。

澳门新萄京 20

在“选择报表服务器安装实例”中,确保计算机名称是 Team Foundation 应用层服务器的名称,并且实例名称是 MSSQLSERVER,然后单击“连接”。

在资源管理器窗格中单击“服务器状态”。

在“报表服务器状态”窗格中的“实例属性”中单击“停止”。

澳门新萄京 21

  官方给出的解决办法:

 

  如果备份文件夹位于主服务器上,在“如果备份文件夹位于主服务器上,则键入该文件夹的本地路径”框中键入该备份文件夹的本地路径。(如果备份文件夹不在主服务器上,此框可以保留为空。)

2) 还原数据库

  SQL Server 登录

 

  重要提示:如果主服务器上的 SQL Server 服务帐户运行在本地系统帐户下,则必须在主服务器上创建备份文件夹,并指定该文件夹的本地路径。

a) 准备还原所有数据库

Team Foundation服务器上依次单击“开始”、“所有程序”、“Microsoft SQL Server”和“SQL Server Management Studio”。

为“服务器类型”选择“数据库引擎”。

为服务器选择合适的“服务器名”和“身份验证”方案,如果您的 SQL Server 需要,则提供有效的“用户名”和“密码”,然后单击“连接”。

展开“数据库”节点,以显示构成 Team Foundation Server 数据层的数据库的列表。

澳门新萄京 22

为以下各数据库完成“还原各个数据库”过程:

ReportServer: 如果使用了命名实例,此数据库将命名为“ReportServer$实例名称”。

ReportServerTempDB

SharePoint 产品和技术的内容数据库(STS_Content_TFS 或 WSS_Content):包含 SharePoint 产品和技术数据的数据库的名称将随着两个因素而变化:一是所安装的 SharePoint 产品和技术的版本,二是安装人员是否对该名称进行了自定义。此外,如果 SharePoint 产品和技术安装在与 Team Foundation Server 不同的服务器上,则这些数据库可能不在 Team Foundation 的数据层服务器上。如果这些数据库不存在,则必须从 Team Foundation Server 分别管理它们的备份、还原和配置。但是,您应该同步数据库的维护操作以避免同步错误。

TfsBuild

TfsIntegration

TfsVersionControl

TfsWarehouse

TfsWorkItemTracking

TfsWorkItemTrackingAttachments

TfsActivityLogging(可选)

  使用有效的 Windows 登录连接到 SQL Server。如果必须继续使用 SQL Server 登录,您可以将在 SQL Server 2000 中的安全身份验证模式更改为“SQL Server 和 Windows”。为此,请按照下列步骤操作:

数据库文件初始化

澳门新萄京 23

b) 还原数据库

右击要还原的数据库,依次指向“任务”和“还原”,然后单击“数据库”。

澳门新萄京 24

在“还原数据库”对话框中,在“还原源”区域中选择“源设备”,然后单击省略号按钮(“…”)。

澳门新萄京 25

在“指定备份”对话框中,填写相应信息以指定备份文件的位置,然后单击“确定”。

澳门新萄京 26

在“选择要还原的备份集”区域中,选择要还原的备份集。

澳门新萄京 27

从左侧导航窗格中,选择“选项”,然后选中“覆盖现有数据库”框。

澳门新萄京 28

确保“将数据库文件还原为”区域中指定的路径与当前的数据库路径匹配。

单击“确定”关闭“还原数据库”对话框并还原数据库。

澳门新萄京 29

还原这10个数据库.

  启动企业管理器。

 

  SQL Server 2008 Enterprise 支持备份压缩。创建日志传送配置时,可以通过选择以下选项之一来控制日志备份的备份压缩行为:“使用默认服务器设置”、“压缩备份”或“不压缩备份”。

注意: TfsWarehouse和TfsWorkItemTracking两个数据库选择第一个完整备份:

澳门新萄京 30

澳门新萄京 31

  展开“Microsoft SQL Servers”,然后展开“SQL Server 组”。

初始化数据和日志文件以覆盖之前删除的文件遗留在磁盘上的任何现有数据。 执行以下其中一项操作时,应首先通过零填充(用零填充)数据和日志文件来初始化这些文件:

  在本例中,应事先共享一个 \sql1sqlbackup 这个文件夹,本机的SQL Server Agent会自动创建一个作业,将事务日志备份到这个共享文件夹。作业计划如下图所示。

c) 重命名并激活Team Foundation 数据层服务器

还原 Team Foundation Server 数据库后,必须使用 TfsAdminUtil命令行工具重命名TFS数据层。

从“命令提示符”窗口中,将目录更改为“驱动器:%ProgramFiles%Microsoft Visual Studio 2008 Team Foundation ServerTools”

澳门新萄京 32

TfsAdminUtil RenameDT 新TFS服务器名

澳门新萄京 33

澳门新萄京 34

  右键单击要更改为“SQL Server 和 Windows”身份验证的服务器,然后单击“属性”。

 

澳门新萄京 35

d) 重命名并激活Team Foundation 应用层服务器

在新的 Team Foundation 服务器上打开“命令提示符”窗口。

将目录更改为“驱动器:%ProgramFiles%Microsoft Visual Studio 2008 Team Foundation ServerTools”

在命令提示处,键入下列命令:

TfsAdminUtil ActivateAT 新TFS服务器名称

澳门新萄京 36

  在“SQL Server 属性”对话框中,单击“安全”选项卡,单击“SQL Server 和 Windows”,然后单击“确定”。

·         创建数据库。

3、添加辅助服务器实例

e) 删除版本控制缓存

在还原数据库并重新命名数据层后,必须删除版本控制的数据缓存。这个步骤可以确保在还原数据库后,应用层服务器上的版本控制缓存与数据层服务器重新同步。如果不执行此步骤,版本控制客户端可能会有一些文件未与最新的更改保持同步。

删除版本控制缓存

在新的应用层服务器上,打开 Windows 资源管理器,浏览到以下目录:

驱动器:Program FilesMicrosoft Visual Studio 2008 Team Foundation ServerWeb ServicesVersionControl

删除 Data文件夹。

澳门新萄京 37

  当提示您重新启动 SQL Server 服务时,单击“是”。

·         向现有数据库添加数据或日志文件。

(1)初始化辅助数据库

f) 移动TFS服务帐户

在新 Team Foundation Server 上,打开一个“命令提示符”窗口,并将目录更改为“驱动器: %ProgramFiles%Microsoft Visual Studio 2008 Team Foundation ServerTools”

在命令行处,键入下列命令:

TfsAdminUtil ChangeAccount [旧域或计算机的名称旧TFS服务帐户] [新域或计算机的名称新TFS服务帐户] [新密码]

这里大家使用如下命令:

TfsAdminUtil ChangeAccount E2K3TESTTFSSERVICE 您的域名TFSSERVICE 密码

澳门新萄京 38

  SQL Server 2000 桌面引擎 (MSDE 2000) 安装在基于 Microsoft Windows 98 的计算机上

·         增大现有文件的大小(包括自动增长操作)。

  “辅助服务器实例”显示日志传送配置中当前配置为辅助服务器的 SQL Server 实例的名称。

g) 移动Reporting Service服务帐户

在命令行处,键入下列命令:

TfsAdminUtil ChangeAccount /ra [旧域或计算机的名称旧 Reporting Service帐户] [新域或计算机的名称新Reporting Service帐户] [新密码]

这里大家使用如下命令:

TfsAdminUtil ChangeAccount /ra E2K3TESTTFSSERVICE 您的域名TFSSERVICE 密码

  当 SQL Server 2000 桌面引擎安装在基于 Windows 98 的计算机上时,必须使用标准的 SQL Server 登录连接到数据库。当您在基于 Windows 98 的计算机上安装 SQL Server 2000 桌面引擎时,不支持“仅 Windows”身份验证模式。

·         还原数据库或文件组。

   “辅助数据库”显示日志传送配置的辅助数据库名称。将新的辅助数据库添加到日志传送配置时,可以从列表中选择数据库或在该框中键入新数据库的名称。如果 输入新数据库的名称,则必须在“初始化”选项卡上选择一个选项,该选项卡可将主数据库的完整数据库备份还原到辅助数据库中。新数据库将作为还原操作的一部 分进行创建。

h) 还原团队项目网站

在运行 Windows SharePoint Services 3.0 的服务器上依次单击“开始”、“管理工具”和“SharePoint 3.0 管理中心”。

在“管理中心”页上的“SharePoint Web 应用程序管理”部分中单击“内容数据库”。

在“管理内容数据库”页上单击“WSS_Content”。

在“管理内容数据库设置”页上选中“删除内容数据库”复选框,然后单击“确定”。

在“管理内容数据库”页上单击“添加内容数据库”。

在“添加内容数据库”页上,在“数据库信息”中单击“指定数据库服务器设置”,并在“数据库名称”中键入 WSS_Content。在“数据库容量设置”中,在“生成警告事件之前最多允许的网站数”中键入 9000,并在“此数据库中最多允许创建的网站数”中键入 15000,然后单击“确定”。

依次单击“开始”、“管理工具”、“服务”、“Windows SharePoint Services Timer”点击“启动”。

  Windows 帐户权限不足

 

  上述选项配置完成之后,点“连接”按钮以连接到日志传送配置中用作辅助服务器的 SQL Server 实例。用于连接的帐户必须是辅助服务器实例上 sysadmin 固定服务器角色的成员。

i) 还原Reporting Services

依次单击“开始”、“管理工具”和“Internet 信息服务(IIS)管理器”。

在资源管理器窗格中,在“应用程序池”节点下,右击“ReportServer”,然后单击“启动”。

在运行 SQL Server Reporting Services 的服务器上,依次单击“开始”、“程序”、“Microsoft SQL Server 2005”、“配置工具”和“Reporting Services 配置”。

在“选择报表服务器安装实例”中,确保计算机名称是新 Team Foundation 服务器的名称,并且实例名称是 MSSQLSERVER,然后单击“连接”。

在资源管理器窗格中单击“服务器状态”。

在“报表服务器状态”窗格中,在“实例属性”中单击“启动”。

在资源管理器窗格中单击“数据库安装”。

在“数据库连接”窗格中,确保“服务器名称”中的 Team Foundation服务器的名称正确,然后单击“连接”。

在“SQL Server 连接”对话框上单击“确定”。

在“数据库连接”窗格中单击“应用”。

在“SQL Server 连接”对话框上单击“确定”。

通过执行下列操作之一,还原加密密钥并移除以前的报表服务器实例:

在“Reporting Services 配置”的资源管理器窗格中单击“加密密钥”。

在资源管理器窗格中单击“加密密钥”。

在“加密密钥”页上单击“还原”。

在“加密密钥信息”页上,在“密码”中键入加密密钥文件的密码,在“密钥文件”中键入或选择备份加密密钥 .snk 文件的位置,然后单击“确定”。

“Reporting Services 配置”的资源管理器窗格中单击“初始化”。

在“初始化”页上选择与旧 Team Foundation 数据层服务器的名称相对应的实例 ID,单击“移除”,再单击“确定”。

打开 Internet Explorer,连接到 。在“内容”中单击“TfsReportDS”。

在“连接字符串”中,使用新 Team Foundation 数据层服务器的名称更新“数据源”参数。在“连接方式”中,选择“安全存储在报表服务器中的凭据”,更新用户名和密码为新的 Reporting Services 服务帐户,然后单击“应用”。

在“SQL Server Reporting Services”下单击“主文件夹”。

在“内容”中单击“TfsOlapReportsDS”。

在“连接字符串”中,使用新 Team Foundation 数据层服务器的名称更新“数据源”参数。在“连接方式”中,选择“安全存储在报表服务器中的凭据”,更新用户名和密码为新的 Reporting Services 服务帐户,然后单击“应用”。

  要解决此问题,必须将 Windows 帐户添加到 SQL Server,然后为用户需要访问的每个数据库授予适当的权限。为此,请按照下列步骤操作:

文件初始化会导致这些操作花费更多时间。 但是,首次将数据写入文件后,操作系统就不必用零来填充文件

澳门新萄京 39

j) 还原数据仓库

打开一个“命令提示符”窗口,将目录更改为“驱动器:%ProgramFiles% Microsoft Visual Studio 2008 Team Foundation ServerTools”。键入以下命令,其中,“新数据层服务器名称”是新 Team Foundation 服务器的名称,“新 Team Foundation 数据仓库名称”是数据仓库的名称,“TFS Report Service 帐户”是 Reporting Services 服务帐户的名称,“TFS 服务帐户”是 Team Foundation Server 服务帐户的名称:

SetupWarehouse.exe -o -s 新数据层服务器名称 -d 新 Team Foundation 数据仓库名称 -c warehouseschema.xml -ra TFS Report Service 帐户 -a TFS 服务帐户

这里可以使用下面类似命令:

SetupWarehouse.exe -o -s [TFS服务器名称] -d TfsWarehouse -c warehouseschema.xml -ra 域名TFSSERVICE –a 域名TFSSERVICE

在 Team Foundation 数据层服务器上依次单击“开始”、“程序”、“Microsoft SQL Server 2005”和“SQL Server Management Studio”。

在“连接到服务器”对话框的“服务器类型”中,选择“数据库引擎”,验证服务器名称和身份验证值是否正确,然后单击“连接”。

在对象资源管理器窗格中,依次展开“数据库”和“TFSWarehouse”,右击“dbo._WarehouseConfig”,然后单击“属性”。

在“表属性 - _WarehouseConfig”的“选择页”中,单击“权限”。

在“用户或角色”中单击“添加”。

在“选择用户或角色”中,添加 Reporting Services 服务帐户: 域名TFSSERVICE,然后单击“确定”。

在“表属性 - _WarehouseConfig”中单击“确定”。

在对象资源管理器窗格中单击“连接”,然后选择“Analysis Services”。

在“连接到服务器”对话框中,确保服务器名和身份验证值正确,然后单击“连接”。

在对象资源管理器窗格中,展开“数据库”,右击“TFSWarehouse”,然后单击“处理”。

在“处理数据库 - TFSWarehouse”中单击“确定”。

在 Team Foundation 应用层服务器上,将目录更改为 。

在“内容”中单击任一项目,再单击该项目中任何一个默认报表,然后验证其是否正确显示。

  启动企业管理器。

 

  • 是,生成主数据库的完整备份并将其还原到辅助数据库
k) 重新启动服务并验证操作

在新 Team Foundation 应用层服务器上依次单击“开始”、“管理工具”和“Internet 信息服务(IIS)管理器”。

在资源管理器窗格中,展开“应用程序池”节点,右击“Microsoft Team Foundation Server Application Pool”,再单击“启动”。

在新的 Team Foundation 应用层服务器上依次单击“开始”、“管理工具”和“服务”,选择“Visual Studio Team Foundation Server 任务计划程序”服务,然后单击“启动”(如果该服务尚未启动)。单击“SharePoint 定时服务”,再单击“启动”。

在 Team Foundation 数据层服务器上,连接到 。

在“ClientService”中单击“StampWorkitemCache”。

在“StampWorkitemCache”中单击“调用”。(该方法没有返回数据)

  展开“Microsoft SQL Server”,然后展开“SQL Server 组”。

 

  通过备份主数据库并在辅助服务器上还原该数据库,让 SQL Server Management Studio 配置辅助数据库。如果在“辅助数据库”框中输入新的数据库名称,数据库将作为还原操作的一部分进行创建。

3. 客户机上.连接TFS

在运行 Team Foundation 客户端、连接到此应用层服务器并且使用版本控制的每台计算机上执行以下步骤:

打开“命令提示符”窗口并将当前目录更改为“驱动器:Program FilesMicrosoft Visual Studio 9Common7IDE”

作为一种备选方法,可以打开“Visual Studio 2008 命令提示”。

在命令提示符处键入以下命令,其中服务器为应用层服务器的名称:

tf workspaces /s: 服务器

澳门新萄京 40 

  展开您的服务器,然后展开“安全”。

即时文件初始化 (IFI)

  • 是,将主数据库的现有备份还原到辅助数据库

  右键单击“登录”,然后单击“新建登录”。

 

  让 Management Studio 使用主数据库的现有备份初始化辅助数据库。在“备份文件”框中键入该备份的位置。如果在“辅助数据库”框中输入新的数据库名称,数据库将作为还原操作的一部分进行创建。

  在“SQL Server 登录属性”对话框中,在“名称”框中输入 Windows 帐户名。在“域”列表中,选择该 Windows 帐户所属的域。

在SQL Server中,可以在瞬间对数据文件进行初始化,以避免零填充操作。即时文件初始化可以快速执行上述文件操作。 即时文件初始化功能将回收使用的磁盘空间,而无需使用零填充空间。 相反,新数据写入文件时会覆盖磁盘内容。 日志文件不能立即初始化。

  如果选择“是,将主数据库的现有备份还原到辅助数据库”选项,请键入要用于初始化辅助数据库的完整数据库备份的路径和文件名。

  单击“数据库访问”选项卡,为客户端设置适当的权限,然后单击“确定”

 

  • 否,辅助数据库已初始化

  注意:在添加帐户后,您仍然必须为用户需要访问的各个数据库对象授予访问权限。

备注

  指定辅助数据库已初始化并准备接受主数据库的事务日志备份。如果在“辅助数据库”框中键入新的数据库名称,则此选项不可用。

  2、刚装完SQL Server 2008 Express,尝试使用sa账号登录,但总是出现Login failed for user 'sa' 错误。觉得应该是SQL Server的认证模式没设对,SQL Server Express默认是Windows Authentication模式,我必须设成Mixed Authentication Mode才可以。

只有在 Microsoft Windows XP Professional 或 Windows Server 2003 或更高版本中才可以使用即时文件初始化功能。

 

  所以查了一下文档,微软的官方文档说只要把sa账号enable就可以了,但试过后同样的错误。后来截取了SQL Server Management Studio的脚本才发现还必须要改一个注册表键值才行。

 

(2)复制文件

  在我的机器上该键值是:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLServerLoginMode

重要

   键入事务日志备份应复制到的路径以还原到辅助数据库。通常,此路径为辅助服务器上文件夹的本地路径。但是,如果该文件夹位于其他服务器,则必须指定该文 件夹的 UNC 路径。辅助服务器实例的 SQL Server 服务帐户必须具有此文件夹的读取权限。此外,还必须向代理帐户授予此网络共享的读写权限。通过代理帐户,复制作业和还原作业将在辅助服务器实例上的该帐户 下运行。默认情况下,这是辅助服务器实例的 SQL Server 代理服务帐户,但是 sysadmin 可以为该作业选择其他代理帐户。

  1 - Windows Authentication Mode

只有在数据文件中才可以使用即时文件初始化功能。 创建日志文件或其大小增长时,将始终零填充该文件。

澳门新萄京 41

  2 - Mixed Authentication Mode

 

  在本例中,应事先创建一个 C:test 这个文件夹。本机的 SQL Server Agent 会自动创建一个作业,定时将 \sql1sqlbackup 文件夹中的事务日志备份 copy 到 C:test 。

  改成2以后就能用sa账号登录了。

即时文件初始化功能仅在向SQL Server服务启动帐户授予了 SE_MANAGE_澳门新萄京到新服务器,日志传送。VOLUME_NAME 之后才可用。 Windows Administrator 组的成员拥有此权限,并可以通过将其他用户添加到 执行卷维护任务 安全策略中来为其授予此权限。

  请注意SQL Server Agent服务的启动帐户,以免发生权限问题。

  *补充一下,必须得重启SQL Server的服务改动才能有效。

 

(3)还原事务日志

  3、在 SQL Server 2005 中,您将收到"登录错误: 18456"错误消息在您尝试登录到 SQL Server 2005 实例并且下列条件都为真时:

重要

澳门新萄京 42

  •您尝试使用 SQL Server 身份验证的登录来登录到该实例。

某些功能使用(如透明数据加密 (TDE))可以阻止即时文件初始化。

  本机的 SQL Server Agent 会自动创建一个作业,定时从 C:test 读取日志备份文件,然后恢复。

  •在 SQL Server 服务配置服务的启动帐户使用域帐户。

 

 

  •SQL 身份验证登录接收"登录错误: 18456"错误消息被配置为使用 Windows 域密码策略实施。

 

4、完成配置

  注意默认情况下,除非您显式设置创建登录语句的 CHECK_POLICY 子句为 OFF 时创建给定的登录启用 SQL 身份验证登录的 Windows 域密码策略实施。

 因为这个案例中,启动SQL Server的服务启动账号为NT ServiceMSSQLSERVER,所以没有权限即时文件初始化的,如果将启动SQL Server的服务启动账号改为具有管理员权限的域账号,就不会出现这种情况。另外,如果一定要以NT ServiceMSSQLSERVER为启动账号,可以按如下步骤操作:

  完成上述配置之后,点“确定”即开始日志传送。

  •SQL Server 启动服务的服务帐户已锁定或禁用域控制器上。

 

澳门新萄京 43

  如果配置登录审核失败登录事件写入错误日志的 SQL Server 实例,以下消息将写入 SQL Server 错误日志文件:

要向一个帐户授予 Perform volume maintenance tasks 权限:

 

  错误消息 1

 

三、备用模式

  日期时间登录错误: 18456,严重: 14 日状态: 10。

 

  默认设置时,数据库处于 NORECOVERY(无恢复) 模式,则不能运行查询。可以手动选择,使辅助数据库处于 STANDBY (备作)模式,此时可以通过使用辅助服务器进行只读查询处理,可以减少主服务器的负荷。

  解决方案

  1. 在将要创建备份文件的计算机上打开本地安全策略澳门新萄京到新服务器,日志传送。应用程序 (secpol.msc)。

澳门新萄京 44

  可以从 Microsoft 获得支持的热修复补丁程序。但是,此修补程序仅能用于解决本文中描述的问题。此热修复补丁程序仅适用于正出现此特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。

 

澳门新萄京 45

  如果此修补程序已可供下载,则此知识库文章顶部"提供修补程序下载"部分。如果未显示此节,请联系 Microsoft 客户服务和支持,以获取此修复程序。

  1. 在左侧窗格中,展开“本地策略” ,然后单击“用户权限指派” 。

  配置使辅助数据库处于备用模式时,“在还原备份时断开数据库中用户的连接”选项指定了两种方式:

  注意如果出现其他问题或需要任何故障诊断,您可能需要创建单独的服务请求。其他支持问题和事项,不适合于此特定的修补程序将收取照常收取支持费用。Microsoft 客户服务和支持电话号码,或创建单独的服务请求的完整列表,请访问下面的 Microsoft Web 站点:

 

(1)还原事务日志备份时,使数据库用户断开连接。

  

  1. 在右侧窗格中,双击“执行卷维护任务”。

  如果选中此选项,则日志传送还原作业每次尝试将事务日志还原到辅助数据库时,用户都将与数据库断开连接。断开连接将按为还原作业设置的计划发生。

  ()

 

(2)不与用户断开连接。

  注意"可用的热修补程序下载"表格显示此热修复补丁程序适用的语言。如果您看不到您的语言,这是因为热修复补丁程序不适用于该语言。

  1. 单击“添加用户或组” ,添加用于备份的任何用户帐户。

  在这种情况下,如果用户连接到辅助数据库,则还原作业无法将事务日志备份还原到辅助数据库。事务日志备份将一直累积到没有用户连接到该数据库为止。

  先决条件

 

  重要提示:如果更改现有辅助数据库的恢复模式(例如,从“无恢复”模式到“备用”模式),则更改仅在下一次日志备份还原到数据库后才会生效。

  您必须具有要应用此修补程序安装的 SQL 服务器 2005 Service Pack 1。

  1. 单击“应用” ,然后关闭所有“本地安全策略” 对话框。

 

1、连接SQL Server数据库提示:Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server conn...

 

四、补充说明

澳门新萄京 46

1、还原选项

 

   客户机默认将数据库恢复到系统默认的路径下,例如: C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATA 。若要将辅助数据库的数据和日志文件还原到辅助服务器上的非默认位置,请在“初始化辅助数据库”选项卡中单击此按钮。

 

  单击此按钮将打开“还原选项”对话框。在该对话框中,可以指定非默认文件夹的路径,用于驻留辅助数据库及其日志。如果指定其中的一个文件夹,则必须指定这两个路径。

设置后,重启SQL Server服务,然后还原数据库就会正常化,此时的等待事件为BACKUPTHREAD,而不是ASYNC_IO_COMPLETION, 如果版本是SQL Server 2012 SP4或以上版本,可以通过下面SQL查看识别是否启用了即时文件初始化

  这些路径必须引用辅助服务器上的本地驱动器。另外,这些路径必须以本地驱动器号和冒号开头(例如,C:)。映射的驱动器号或网络路径无效。

 

  如果单击“还原选项”按钮后决定使用默认文件夹,建议取消“还原选项”对话框。如果已经指定非默认位置,但现在要使用默认位置,请再次单击“还原选项”,清除文本框,再单击“确定”。

 

2、加速复制数据库

SELECT  servicename ,

        startup_type ,

        instant_file_initialization_enabled

FROM    sys.dm_server_services; 

  如果数据量较大,建议:先通过移动介质,将主机做的完全备份拿到客户机上恢复,然后再做日志传送。

 

 

 

3、监视日志传送

澳门新萄京 47

  监视日志传送的最简单的方法是利用SQL Server 代理作业历史。在任何时间,只要怀疑一个服务器在日志传送方面存在问题,就应当首先检查这些作业,以确定问题的根本原因。

 

  另一种方式是执行状态报表。主服务器、辅助服务器、监视服务器的实例上单击右键,依次选择“报表”、“标准报表”、“事务日志传送状态”。

另外,从SQL Server 2016 (13.x) 开始,可在安装期间授予服务帐户此权限。 如果使用命令提示符安装,请添加 /SQLSVCINSTANTFILEINIT 参数,或选中安装向导中“授予 SQL Server 数据库引擎服务执行卷维护任务权限”复选框。

 

 

原文出自:

 

 

参考资料:

 

本文由澳门新萄京发布于数据库,转载请注明出处:澳门新萄京到新服务器,日志传送

上一篇:澳门新萄京:数据的查询,9个Excel案例操作 下一篇:没有了
猜你喜欢
热门排行
精彩图文