Press "Enter" to skip to content

标签: SQL2008,SQL2005

Win2003下安装Team Foundation Server 2010安装失败解决方案

Win2003下安装Team Foundation Server 2010 安装失败,找了好久网络上最多的是在win2003安装的时候就告诉你不要安装FrontPage 服务器扩展,但很不幸的事情,而且我服务器运行了三四年了,现在要安装TFS失败了。相信也有同样碰到这样的问题但找不到解决办法的人,就看看我是怎么安装成功的!!
土办法!有招可解!一步一步教你实现
1.首先安装好MSSQL2008数据库,当然你也可以安装SQL2005数据库。
2.去“控制面板”–“添加删除”中选择IIS中的FrontPage 服务器扩展,去掉并“下一步”。(光这样删除是不行的,安装TFS不是会提示你FrontPage 服务器扩展问题失败)



3.接下来需要手工操作了,找到C:\WINDOWS\system32\inetsrv下的MetaBase.xml配置文件

4.去服务里停止IIS,服务–找到“IIS Admin Service” 右击停止。

5.开始手动修改代码了,先备份一个MetaBase.xml,然后找到以下代码并删除:
删除 FrontPage Server Extensions;FPSE,ASP,IndexingService” 此行


<IIsWebService	Location ="/LM/W3SVC"
		AllowKeepAlive="TRUE"
		AnonymousUserName="IUSR_KICCLEAFSERVER"
		AnonymousUserPass="49634462700000002200000040000000475cbf110c40b876b7298c567297c5a6f2293855cecfef3ef15a5a7933a6e1f0fffb49004e004400ce9594fe9ea98168d799e40cafc23a53e28281b3d4e85da3a6801884dde6777b736af2f7a846d059b9ffc5eee95a11c19d4f4499ba36b8a4b15e1b152b174a5b"
		AppAllowClientDebug="FALSE"
		AppAllowDebugging="FALSE"
		AppPoolId="DefaultAppPool"
		ApplicationDependencies="Active Server Pages;ASP
			Internet 数据连接器;HTTPODBC
			在服务器端的包含文件;SSINC
			WebDAV;WEBDAV
			ASP.NET v1.1.4322;ASP.NET v1.1.4322
			ASP.NET v2.0.50727;ASP.NET v2.0.50727
			ASP.NET v4.0.30319;ASP.NET v4.0.30319
			FrontPage Server Extensions;FPSE,ASP,IndexingService"

删除以下几行


WebSvcExtRestrictionList="1,C:\WINDOWS\system32\inetsrv\gzip.dll,1,,gzip
			0,C:\WINDOWS\system32\inetsrv\httpodbc.dll,0,HTTPODBC,Internet 数据连接器
			0,C:\Program Files\Common Files\microsoft shared\web server extensions\50\isapi\_vti_adm\admin.dll,0,FPSE,FrontPage Server Extensions
			0,C:\WINDOWS\system32\inetsrv\ssinc.dll,0,SSINC,在服务器端的包含文件
			1,C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,0,ASP.NET v4.0.30319,ASP.NET v4.0.30319
			1,C:\WINDOWS\system32\inetsrv\asp.dll,0,ASP,Active Server Pages
			0,C:\Program Files\Common Files\microsoft shared\web server extensions\50\isapi\shtml.dll,0,FPSE,FrontPage Server Extensions
			1,C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,0,ASP.NET v2.0.50727,ASP.NET v2.0.50727
			0,C:\Program Files\Common Files\microsoft shared\web server extensions\50\isapi\_vti_adm\fpadmdll.dll,0,FPSE,FrontPage Server Extensions
			1,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,0,ASP.NET v1.1.4322,ASP.NET v1.1.4322
			1,C:\php\php5isapi.dll,1,,php
			0,C:\Program Files\Common Files\microsoft shared\web server extensions\50\isapi\_vti_aut\author.dll,0,FPSE,FrontPage Server Extensions
			0,*.exe
			0,C:\WINDOWS\system32\inetsrv\httpext.dll,0,WEBDAV,WebDAV
			0,*.dll
			0,C:\Program Files\Common Files\microsoft shared\web server extensions\50\isapi\fpcount.exe,0,FPSE,FrontPage Server Extensions"

修改后:


		WebSvcExtRestrictionList="1,C:\WINDOWS\system32\inetsrv\gzip.dll,1,,gzip
			0,C:\WINDOWS\system32\inetsrv\httpodbc.dll,0,HTTPODBC,Internet 数据连接器
			0,C:\WINDOWS\system32\inetsrv\ssinc.dll,0,SSINC,在服务器端的包含文件
			1,C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,0,ASP.NET v4.0.30319,ASP.NET v4.0.30319
			1,C:\WINDOWS\system32\inetsrv\asp.dll,0,ASP,Active Server Pages
			1,C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,0,ASP.NET v2.0.50727,ASP.NET v2.0.50727
			1,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,0,ASP.NET v1.1.4322,ASP.NET v1.1.4322
			1,C:\php\php5isapi.dll,1,,php
			0,*.exe
			0,C:\WINDOWS\system32\inetsrv\httpext.dll,0,WEBDAV,WebDAV
			0,*.dll"

删除代码以下全部


<IIsFilter	Location ="/LM/W3SVC/1/Filters/fpexedll.dll"
		FilterDescription="Microsoft FrontPage Server Extensions"
		FilterEnableCache="TRUE"
		FilterFlags="NotifySecurePort | NotifyNonSecurePort | NotifyPreProcHeaders | NotifyOrderLow"
		FilterPath="C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\50\bin\fpexedll.dll"
		FilterState="1"
	>
</IIsFilter>

删除 FrontPageWeb=”TRUE” 此行


<IIsWebVirtualDir	Location ="/LM/W3SVC/1/ROOT"
		AccessFlags="AccessRead | AccessScript"
		AppFriendlyName="默认应用程序"
		AppIsolated="2"
		AppPoolId="vss"
		AppRoot="/LM/W3SVC/1/ROOT"
		AuthFlags="AuthAnonymous | AuthNTLM"
		DefaultDoc="index.asp,Default.htm,Default.asp,Default.html,Default.aspx,index.htm,index.html,index.aspx,index.php"
		FrontPageWeb="TRUE"
		HttpCustomHeaders="MicrosoftOfficeWebServer: 5.0_Pub

修改后


<IIsWebVirtualDir	Location ="/LM/W3SVC/1/ROOT"
		AccessFlags="AccessRead | AccessScript"
		AppFriendlyName="默认应用程序"
		AppIsolated="2"
		AppPoolId="vss"
		AppRoot="/LM/W3SVC/1/ROOT"
		AuthFlags="AuthAnonymous | AuthNTLM"
		DefaultDoc="index.asp,Default.htm,Default.asp,Default.html,Default.aspx,index.htm,index.html,index.aspx,index.php"
		HttpCustomHeaders="MicrosoftOfficeWebServer: 5.0_Pub

6.以上删除代码后,可以保存并重启IIS服务后,可以再次安装TFS软件了。我就是这么安装成功的!

Leave a Comment

MSSQL2005-MSSQL2008数据库批量备份和还原脚本

由于项目关系,一台服务器数据库做迁移工作,将近两百多个数据库一个个备份要浪费很多时间,在此采用了生成脚本的方式与大家分享,希望给需要的人有帮助。已经测试适合MSSQL2005-MSSQL2008数据库备份和还原脚本,未测试MSSQL2000数据库。
2011-09-27 添加分离数据库和附加数据脚本

--批量生成分离脚本
use master
select 'EXEC sp_detach_db '''+name+''', ''true'';'  from sysdatabases 

--单个数据库分离
EXEC sp_detach_db '<database name>', 'true';
--批量生成数据库附加脚本
use master
select 'CREATE DATABASE ['+name+'] ON ( FILENAME = N''C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\'+name+'.mdf'' ),( FILENAME = N''C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\'+name+'_log.ldf'' ) FOR ATTACH ;' from sysdatabases 
--单个数据库附加脚本
use master
CREATE DATABASE [database_name] ON 
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\<database name>.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\<database name>.ldf' )
 FOR ATTACH ;
use master
--生成批量删除数据库脚本
select 'DROP DATABASE  ['+name+'];' from sysdatabases 
use master
--生成备份脚本,可在列表中复制生成的TSQL代码
select 'BACKUP DATABASE ['+name+'] TO DISK = ''f:\autobak\'+name+'.bak'' WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT ;' from sysdatabases 

如图所示:

复制以上列表TSQL脚本在迁移的服务器上进行执行备份数据库

--生成还原脚本,数据库存放目录与迁移机器同样时用此脚本
select 'BACKUP DATABASE ['+name+'] FROM DISK=''f:\autobak\'+name+'.bak'' WITH REPLACE ;' from sysdatabases

select 'alter database ['+name+']  set online ;' from sysdatabases 

如图所示:

--数据库迁移到其他机器,盘符和目录发生变化时,就需要做还原配置相应的路径
--D:\Data 目录为数据库存放目录和日志存放目录,也可将两个目录分其他盘符可提升IO的操作效率
--注意:MOVE 后面的数据逻辑名称,如果是独立创建的数据逻辑名不会错。
--     假如是从A数据库还原成B名称数据时,他的逻辑名称还是A,所以此处大家一定要注意
select 'RESTORE DATABASE ['+name+'] FROM DISK=''d:\autobak\'+name+'.bak'' 
WITH MOVE ''' +name+ ''' TO ''d:\Data\'+name+'.mdf'',
MOVE '''+name+'_log'' TO ''d:\Data\'+name+'_log.ldf'';' from sysdatabases

生成以上脚本,可把数据库复制到部署机器上后,修改好bak文件所在目录执行TSQL脚本即可
有什么问题欢迎大家共同探讨,有不足之处或是有更好的方法希望大家能与我分享。

Leave a Comment