‘数据库’ 分类的存档
上篇 AMD三核系列安装数据库失败 中提到了AMD三核系列无法正常安装Sql2000,Sql2005!今天经过亲测将过程公布如下:
1. 建立D:\SQL2005,D:\SQL2005\SP3,D:\SQL2005\MSSQL三个目录
2. 去微软官网下载 SQL2005SP3补丁包[存在D:\sql2005sp3.exe]
3. 进命令提示符 D:\ > sql2005sp3.exe /x [Enter后填解压路径为D:\SP3]
4. 搜索该目录下所有*.msi,*.msp文件,Copy到D:\SQL2005\SP3
5. 将SQL2005安装文件Copy到D:\SQL2005\MSSQL[其中包含Servers、Tools两个文件夹和autorun.inf文件]这里注意,有些刻到盘里的文件Copy不出来,建议直接解压ISO文件!
5. 根据AMD三核系列安装数据库失败中提到内容,制作BAT文件[下载BAT文件],存放在D:\SQL2005\MSSQL目录下
6. 运行之!在AMD三核系列安装数据库失败中提到的机器配置下,大概需要10分钟时间
7. 运行D:\SQL2005\MSSQL\SETUP.EXE
8. 等待安装完成!
按此方法安装上的SQL2005没有IDE的支持,只能通过远程连接,SA的密码应该是为空,但由于我曾经安装过一次的原因,配置文件还在,所以我的密码是123456!相信你应该能找到办法!
这件事终于告一段落了,强烈建议开发人员或者想学程序或者数据库的人士,配置电脑前一定要问清楚CPU的核心数,别自己把自己整麻烦了!
说实话,从来没有考虑过CPU的核数会对数据库的安装产生影响,今天终于见识了!
公司刚买了台电脑,想当主机用,配置为AMD 8650+ASUS M4N78 SE,装了一天的数据库多没有装上去,从2000,到2003反复很多次,没有一次成功!
其中,
1. 2000在打SP4补丁的时候出现:
在最后一步对当前库升级时,画面停止在[安装程序正在为升级进程对服务器进行初始化],大约15分钟后,显示安装失败!
2. 2005在安装到sql server services时候出现无法启动服务的错误,安装失败!
想着就相当郁闷,从开始到现在装的数据库都不计其数了,还是第一次碰到这的问题!在重装了二次电脑发现仍然无法完成安装后,决定Baidu一下!
一位兄弟这样记录: http://hi.baidu.com/list_y/blog/item/9238934524b0a3388794731f.html
随即查了一下AMD8650,果然是三核!没有办法了,既然是’历史问题’那只能去微软网站找答案了!
一篇"AMD三核真的无法安装sql2005”提到了解决方案,记录如下:
得到论坛的轩辕健提醒,考虑到机器的硬件兼容问题,多方验证,特别是微软确认“AMD Phenom X3 8450 CPU 的系统平台在安装和运行 SQL Server 时存在缺陷,应用程序会停止响应,无法安装成功且正常运行。”也就是承认SQL 存在这样的BUG,但已经竟通过SP2修正此BUG.既然都安装不了,怎么打补丁?
方法有二.
第一、在2K3系统下更改U的核心的数量限制为 2 的次方,然后进行安装升级.更改核心数据的具体方法不多说了,大家可以网上搜索一下.
第二、整合SP补丁.我用的就是这方法.具体如下:
1、首先下载SQL2005的SP3(微软直接有下载)
2、在D盘建立SQL2005文件夹,里面在建立SP3和MSSQL两个文件夹,把安装文件放到MSSQL文件夹中,也就是Servers、Tools两个文件夹和autorun.inf文件
3、解压SP3,把里面所有 *.msi 和 *.msp 文件放到D:\SQL2005\SP3中
4、建立一个BAT文件,放入D:\SQL2005\MSSQL文件夹里
5、运行BAT文件,完成之后开始安装SQL2005,搞定。
BAT文件内容由cxygoo同志友情制作,如下(论坛限制上传不了BAT文件,只能公布内容,自己去弄了,详见粗体字部分):
@ECHO OFF
ECHO /////////////////////////////////////////////////
ECHO // Microsoft SQL Server 2005 整合、集成SP3
ECHO // Author : cxygoo
ECHO // Date : 2008-12-22
ECHO /////////////////////////////////////////////////
ECHO 运行此批处理前,得建目录:D:\SQL2005,D:\SQL2005\SP3,D:\SQL2005\MSSQL
ECHO D:\SQL2005\MSSQL 把SQL Server 2005原DVD光盘里的X86目录下的所有文件Copy到这里
ECHO D:\SQL2005\SP3 把下载来的SP3文件解压,并搜索"*.msi *.msp"复制全部,然后放到这个目录下
ECHO 更新Servers环境文件
XCOPY /Y /H D:\SQL2005\SP3\*.msi D:\SQL2005\MSSQL\Servers\Setup\
RD /S /Q D:\SQL2005\SWAP
MD D:\SQL2005\SWAP
ECHO 释放Servers文件 时间比较长 请耐心等待
msiexec /quiet /a D:\SQL2005\MSSQL\Servers\Setup\sqlrun_as.msi TARGETDIR=D:\SQL2005\SWAP /L*vx D:\SQL2005\Install.log
msiexec /quiet /a D:\SQL2005\MSSQL\Servers\Setup\sqlrun_dts.msi TARGETDIR=D:\SQL2005\SWAP /L*vx D:\SQL2005\Install.log
msiexec /quiet /a D:\SQL2005\MSSQL\Servers\Setup\sqlrun_ns.msi TARGETDIR=D:\SQL2005\SWAP /L*vx D:\SQL2005\Install.log
msiexec /quiet /a D:\SQL2005\MSSQL\Servers\Setup\sqlrun_rs.msi TARGETDIR=D:\SQL2005\SWAP /L*vx D:\SQL2005\Install.log
msiexec /quiet /a D:\SQL2005\MSSQL\Servers\Setup\sqlrun_sql.msi TARGETDIR=D:\SQL2005\SWAP /L*vx D:\SQL2005\Install.log
ECHO 更新释放出来的文件 时间比较长 请耐心等待
msiexec /quiet /a D:\SQL2005\SWAP\sqlrun_as.msi /p D:\SQL2005\SP3\sqlrun_as.msp /L*vx D:\SQL2005\Install.log
msiexec /quiet /a D:\SQL2005\SWAP\sqlrun_dts.msi /p D:\SQL2005\SP3\sqlrun_dts.msp /L*vx D:\SQL2005\Install.log
msiexec /quiet /a D:\SQL2005\SWAP\sqlrun_ns.msi /p D:\SQL2005\SP3\sqlrun_ns.msp /L*vx D:\SQL2005\Install.log
msiexec /quiet /a D:\SQL2005\SWAP\sqlrun_rs.msi /p D:\SQL2005\SP3\sqlrun_rs.msp /L*vx D:\SQL2005\Install.log
msiexec /quiet /a D:\SQL2005\SWAP\sqlrun_sql.msi /p D:\SQL2005\SP3\sqlrun_sql.msp /L*vx D:\SQL2005\Install.log
ECHO 把更新后的文件再放回Servers
XCOPY /Y /E D:\SQL2005\SWAP D:\SQL2005\MSSQL\Servers\Setup\
RD /S /Q D:\SQL2005\SWAP
MD D:\SQL2005\SWAP
ECHO 更新Tools环境文件
XCOPY /Y /H D:\SQL2005\SP3\*.msi D:\SQL2005\MSSQL\Tools\Setup\
ECHO 释放Tools文件
msiexec /quiet /a D:\SQL2005\MSSQL\Tools\Setup\sqlrun_tools.msi TARGETDIR=D:\SQL2005\SWAP /L*vx D:\SQL2005\Install.log
ECHO 更新释放出来的文件
msiexec /quiet /a D:\SQL2005\SWAP\sqlrun_tools.msi /p D:\SQL2005\SP3\sqlrun_tools.msp /L*vx D:\SQL2005\Install.log
ECHO 把更新后的文件再放回Tools
XCOPY /Y /E D:\SQL2005\SWAP D:\SQL2005\MSSQL\Tools\Setup\
RD /S /Q D:\SQL2005\SWAP
ECHO "Microsoft SQL Server 2005 整合SP3成功"
PAUSE
@新买的服务器,采用4颗intel E7450的cpu,每cpu是6核心,非2的次方,因此在直接装sql2005的时候,会安装失败
最后按照上面的方法,将sp2补丁集成到光盘文件中,再重新安装就成功了。
或者直接将系统换成windows server 2008,那样可以直接装sql2005,不用整合sp2的补丁,本人已经实践过。
第一种方案已经验证无效了,好象是AMD已经通知各大主版厂商在BIOS里已经不能修改ACC了!
第二种方案当前进度为:
1. 微软官方下的Sql2005 SP3补丁,但却是EXE文件,无法解压,运行后直接提示,没有安装SQL包;
2. 从前下载过的Sql2005刻录到DVD,现在复制文件出来居然出错!
3. 既然该路不通,那只能用最后一招,下载别人已经集成好的Sql2005 Sp3了!居然有1.97个G,比下流氓DVD电影还大,郁闷,回家先,周一继续,相关问题会及时发布!
公司服务器被装上了sp2的补丁,自从打上sp2补丁后问题就一只不断的出现!
其中最严重的一个就是sql2000数据库连接的问题,
1, 不对1433端口进行Listening
2, 换成其他端口,访问居然时断时续,有的时候重启一下Sql服务又能连接,有的时候就是无法连接
以上二个问题,有谁碰到请指教,目前没有解决!
但却了解到一些测试数据库是否正常工作的方法:
新安装的Sql2000一定要sp2以上补丁,才能运行,现在的最终补丁版本为sp4,并且要手工进行启动SqlServer服务…
四个命令:
客户端: telnet xxx.xxx.xxx.xxx 1433
服务器端: netstat –na
停止服务: net stop mssqlserver
启动服务: net start mssqlserver
本地连接和远程连接使用的协议是不一样的,在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议…
通常情况下, SqlServer连接不上你可以这样:
SQL2000 SERVER连不上的主要原因就是SQL的版本与本地防火墙的问题,可以将你的SQL打下补丁,把你的防火墙关了,这样问题基本上都能解决了,还有是就在你的“服务器网络实用程序”与“客户端网络实用程序”里面的“TCP/IP协议”一定要启用。
我碰到的特殊情况下,要怎么解决呢?发此文时,把客户端的防火墙关闭了,目前连接正常,并测试中…
同学去面试了,听说是恒生科技~
被问到这么一道题目:
表T有字段abcd按b分组,查看所有b相同且重复次数超过2的记录,Sql怎么写?
我的理解是:既然是查看所有的记录,那么应该是去除重复的吧!所以我给出的Sql是这样的:
select a,b,c,d,count(b) from [t]
group by b,a,c,d
having count(b) > 2
如果哪位Sql高手看到,请指教~
服务器调整,需要更换Sql2000的服务器,在此过程中碰到一系列问题,记录如下:
1. Win2003 sp2下, Sql2000居然正确的验证码输进也提示无法验证
2. 恢复备份过来的数据库(.bak)提示:当前数据库中已存在用户或角色
3. 强制删除正在使用中的数据库
解决方案如下:
1.
解决方法有两种:
1.1 直接在输入框中输入windows 2003的安装学列号,即可点击下一步继续安装sql server 2000。
1.2 修改注册表,让安装程序找到正确的sql server 2000自己的验证文件。开始菜单中运行regedit打开注册表编辑器,找到键HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager将其中SafeDLLSearchMode的DWORD值并将值从 1 更改为 0,如果SafeDLLSearchMode值不存在, 新建一个DWORD类型的SafeDLLSearchMode键值,然后重新运行sql server 2000的安装程序,就不会再提示什么无法验证产品密钥的信息了。[修改注册表需要重启机器]
2.
sql server中“登录”与“用户”的区别,“登录”用于用户身份验证,而数据库“用户”帐户用于数据库访问和权限验证。登录通过安全识别符 (SID) 与用户关联。将数据库恢复到其他服务器时,数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户。这种情况被称为存在“孤立用户”。 此时是不能通过新建登录或者是对同名登录授予对应数据库的“用户”权限来解决登录问题,因为SQL Server会报出“错误15023:当前数据库中已存在用户或角色”,为了解决这个问题,需要调用系统存储过程sp_change_users_login,具体用法如下:
Use Northwind
go
sp_change_users_login ‘update_one’, ‘test’, ‘test’
其中Northwind为存在孤立用户的数据库,update_one是存储过程的参数,表示只处理一个用户,前一个test是“用户”,后一个test是“登录”,以上这个SQL表示将服务器登录“test”与 Northwind 数据库用户“test”重新连接起来。这样就可以正常使用数据库了。
到这里,你又可以去重新指派权限了…
3.
通常情况下,SQLServer2000正在使用的数据库(有数据库连接),是不能删除或被恢复的,但可以将数据库设置为单用户模式,即可删除:
ALTER DATABASE YourDatabaseName SET SINGLE_USER with ROLLBACK IMMEDIATE
GO
DROP DATABASE YourDatabaseName
That’s All
