一个经得起时间考验的人
DataBase
DataBase
在Windows XP 中安装SQL SERVER 2000企业版
四 18th
SQL Server 2000企业版、标准版都只能安装于服务器版的操作系统中,而能够在Windows XP上安装的有个人版、开发版、MSDE(Microsoft SQL Server Desktop Engine),大家通过搜索引擎找到的这方面的文章最终安装的其实是MSDE加上企业管理器。
MSDE 与 SQL SERVER 最主要的区别是
1、MSDE 没有图形化的用户操作界面,但是可以通过安装企业版中的企业管理器来管理MSDE。
2、MSDE 的并发数只有25个。当使用 SQL Server 2000 Desktop Engine 或 Microsoft 数据引擎 (MSDE) 1.0 时,单个数据库的数据文件大小不能超过 2 GB(数据文件+日志文件的大小可以大于2GB)。
3、MSDE 是免费的, SQL SERVER 是收费的。
MSDE各SQL Server个人版中特有的一个功能并发控制:DBCC CONCURRENCYVIOLATION的使用说明
Transact-SQL Reference (SQL Server 2000)
DBCC CONCURRENCYVIOLATION
在Windows XP 中安装MSDE后SA是无法通过登陆的(但是使用Windows身份验证是没有问题的),因为你还没有与信任SQL SERVER连接相关联。这个需要对系统注册表进行修改:
在运行中输入regedit打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER],这个项里面有一个键值LoginMode,默认下,值是1,现在将值改为2,重启电脑。
再打开企业管理,使用SA连接MSDE,是不是OK了。
附上SQL Server 2000的联机丛书的部分内容:
SQL Server 2000 的各种版本所支持的操作系统
下表列出各 Microsoft® SQL Server™ 2000 版本支持的运行服务器软件的操作系统。
| 操作系统 | 企业版 | 标准版 | 个人版 | 开发版 | Desktop Engine (MSDE 2000) | SQL Server CE | 企业评估版 |
|---|---|---|---|---|---|---|---|
| Microsoft Windows® Server 2003 DataCenter Edition | 支持 | 支持 | 支持 | 支持 | 支持 | 暂缺 | 支持 |
| Windows Server 2003 Enterprise Edition | 支持 | 支持 | 支持 | 支持 | 支持 | 暂缺 | 支持 |
| Windows Server 2003 Standard Edition | 支持 | 支持 | 支持 | 支持 | 支持 | 暂缺 | 支持 |
| Windows Server 2003 Web Edition | 暂缺 | 暂缺 | N/A | N/A | 支持 | N/A | N/A |
| Windows XP Professional Edition | N/A | N/A | 支持 | 支持 | 支持 | 暂缺 | 支持 |
| Windows XP Home Edition | N/A | N/A | 支持 | 支持 | 支持 | N/A | 支持 |
| Microsoft Windows 2000 DataCenter | 支持 | 支持 | 支持 | 支持 | 支持 | N/A | 支持 |
| Windows 2000 Advanced Server | 支持 | 支持 | 支持 | 支持 | 支持 | 暂缺 | 支持 |
| Windows 2000 Server | 支持 | 支持 | 支持 | 支持 | 支持 | 暂缺 | 支持 |
| Windows 2000 Professional | 暂缺 | 暂缺 | 支持 | 支持 | 支持 | 暂缺 | 支持 |
| Microsoft Windows NT® 4.0 Server 企业版 | 支持 | 支持 | 支持 | 支持 | 支持 | N/A | 支持 |
| Windows NT 4.0 Server | 支持 | 支持 | 支持 | 支持 | 支持 | N/A | 支持 |
| Windows NT 4.0 Workstation | N/A | N/A | 支持 | 支持 | 支持 | N/A | 支持 |
| Microsoft Windows Millennium Edition | N/A | N/A | 支持 | N/A | 支持 | N/A | N/A |
| Microsoft Windows 98 | 暂缺 | 暂缺 | 支持 | 暂缺 | 支持 | 暂缺 | 暂缺 |
| Microsoft Windows CE | 暂缺 | 暂缺 | 暂缺 | 暂缺 | 暂缺 | 支持 | 暂缺 |
说明 来自除 SQL Server Windows CE 外的所有 SQL Server 2000 版本的客户端软件可在任何版本的 Microsoft Windows NT、Microsoft Windows 2000、Microsoft Windows Server 2003、Windows Millennium Edition 和 Microsoft Windows 98 上运行。只有服务器组件(如数据库引擎和分析服务器)必须在特定版本的操作系统上使用。例如,虽然 SQL Server 2000 企业版不在 Windows 2000 Professional、Windows NT Workstation 或 Windows 98 上运行,但是也能使用 SQL Server 2000 企业版光盘在这些操作系统上安装客户端软件。SQL Server 2000 中文版不支持英文版的 NT 4.0 企业版。
来自 SQL Server CE 的所有软件以独占方式在 Windows CE 操作系统上运行。
SQL Server 2000联机丛书不能打开文件:SQL80.col
三 24th
将SQL Server 2000升级后打开联机丛书时出现如下错误提示:
—————————
SQL Server 2000 联机丛书
—————————
帮助
—————————
不能打开文件: D:\Program Files\Microsoft SQL Server\80\Tools\Books\SQL80.col 。
—————————
经过实验发现将 SQL Server 2000 联机丛书 重新安装即能解决“打开文件:SQL80.col”的问题(
至于原因,则不明白
)。
最新的 SQL Server 2000 联机丛书 的下载地址如下:
联机丛书 下载详细信息页面
http://www.microsoft.com/downloads/details.aspx?familyid=A6F79CB1-A420-445F-8A4B-BD77A7DA194B&displaylang=zh-cn
联机丛书 直接下载地址
http://download.microsoft.com/download/7/b/5/7b5ff59f-1824-4808-b8ff-6bb719b40b5a/sqlbolsetup.msi
或者
http://www.microsoft.com/downloads/thankyou.aspx?familyId=a6f79cb1-a420-445f-8a4b-bd77a7da194b&displayLang=zh-cn
Mysql:Can’t open file: ‘tabelname_sids.ibd’ (errno: 1)
三 11th
在使用ADManager Plus的过程中发现启动Mysql数据库时出现如下错误:
D:\AdventNet\ADManager Plus\bin\mysql\bin\mysqld-nt:
Can’t open file: ‘tabelname_sids.ibd’ (errno: 1)
而在使用mysqldump备份整个数据库adsm时则提示Can’t open file: ‘tabelname_sids.ibd’ 无法锁定数据表tabelname。
在Mysql的官方论坛还找到一个相关的帖子:Can’t open file ****.ibd (errno: 1)。不过在Mysql的错误日志“计算机名.err”中的提示更详细(英文原文被我不小心删掉了,解释一下大概的意思):
在删除Mysql数据库中的表时发生错误引起表的结构定义文件 .frm 未删除,找到对应的 tablename.frm 删掉就OK了。
小知识
MYSQL使用.frm文件恢复数据表(Innodb和Myisam)结构. 英文原文(Recovering CREATE TABLE statement from .frm file),
frm、MYI、MYD分别对应MyISAM表的表结构\索引\数据文件
SQL Server企业管理器:不能产生 SSPI 上下文
三 4th
在"SQL Server 2000企业管理器"打开曾经设置好的数据库服务器的连接时,出现以下错误提示:
—————————
SQL Server 企业管理器
—————————
未能建立与 SQLCLUSTER02\SQLDATA02 的连接。
原因: 不能产生 SSPI 上下文。
请验证 SQL Server 是否在运行并检查 SQL Server 注册属性(通过右击 SQLCLUSTER02\SQLDATA02 节点),然后重试。
—————————
解决方案:
修改注册在"SQL Server 2000企业管理器"中的数据库服务器连接的注册属性,重新输入密码。
SQL Server 2000 各种对象的最大值(数量或大小)
六 17th
管理的一个数据库大小将近10G,开始担心数据库会不会过大,查询SQL Server的联机丛书后发现自己的担心真的是多余的。
SQL Server 2000数据库文件大小(数据、日志)最大可以支持 32 TB 的文件
截取SQL Server 2000联机丛书中的最大容量说明方便大家查阅。
SQL Server数据库各对象的最大容量说明
下表说明在 Microsoft SQL Server 数据库中定义的,或在 Transact-SQL 语句中引用的各种对象的最大值(数量或大小)。下表不包含 Microsoft® SQL Server 2000™ Windows® CE 版。
| 最大值(数量或大小) | ||
|---|---|---|
| 对象 | SQL Server 7.0 | SQL Server 2000 |
| 批处理大小 | 65,536 * 网络数据包大小1 | 65,536 * 网络数据包大小1 |
| 每个短字符串列的字节数 | 8,000 | 8,000 |
| 每个 text、ntext、或 image 列的字节数 | 2 GB-2 | 2 GB-2 |
| 每个 GROUP BY、ORDER BY的字节数 | 8,060 | |
| 每个索引中的字节数 | 900 | 9002 |
| 每个外键的字节数 | 900 | 900 |
| 每个主键的字节数 | 900 | 900 |
| 每行字节数 | 8,060 | 8,060 |
| 存储过程源文本中的字节数 | 批处理大小之较小者或者 250 MB | 批处理大小之较小者或者 250 MB |
| 每个数据表的聚集索引数 | 1 | 1 |
| GROUP BY、ORDER BY 中的列数 | 只受字节数限制 | |
| GROUP BY WITH CUBE 或 WITH ROLLUP 语句中的列数或表达式数目 | 10 | |
| 每个索引的列数 | 16 | 16 |
| 每个外键的列数 | 16 | 16 |
| 每个主键的列数 | 16 | 16 |
| 每个基础数据表的列数 | 1,024 | 1,024 |
| 每个SELECT 语句的列数 | 4,096 | 4,096 |
| 每个INSERT 语句的列数 | 1,024 | 1,024 |
| 每个客户端的连接个数 | 已配置连接的最大值 | 已配置连接的最大值 |
| 数据库大小 | 1,048,516 TB3 | 1,048,516 TB3 |
| 每个 SQL Server 实例的数据库个数 | 32,767 | 32,767 |
| 每个数据库的文件组个数 | 256 | 256 |
| 每个数据库的文件个数 | 32,767 | 32,767 |
| 文件大小(数据) | 32 TB | 32 TB |
| 文件大小(日志) | 4 TB | 32 TB |
| 每个数据表的外键表引用 | 253 | 253 |
| 标识符长度(以字符计) | 128 | 128 |
| 每台计算机的实例数 | 暂缺 | 16 |
| 包含 SQL 语句的字符串长度(批处理大小) | 65,536 * 网络数据包大小1 | 65,536 * 网络数据包大小1 |
| 每个连接的锁数 | 每个服务器的最大锁数 | 每个服务器的最大锁数 |
| 每个 SQL Server 实例的锁数 | 2,147,483,647(静态) SQL Server 40% 的内存(动态) |
2,147,483,647(静态) SQL Server 40% 的内存(动态) |
| 嵌套存储过程层数 | 32 | 32 |
| 嵌套子查询 | 32 | 32 |
| 嵌套触发器层数 | 32 | 32 |
| 每个数据表的非聚集索引个数 | 249 | 249 |
| SQL Server 实例中同时打开的对象个数4 | 2,147,483,647(或可用内存) | 2,147,483,647(或可用内存) |
| 每个数据库中的对象个数 | 2,147,483,6474 | 2,147,483,6474 |
| 每个存储过程的参数个数 | 1,024 | 1,024 |
| 每个数据表的 REFERENCE 个数 | 253 | 253 |
| 每个数据表的行数 | 受可用存储资源限制 | 受可用存储资源限制 |
| 每个数据库的数据表个数 | 受数据库中的对象个数限制4 | 受数据库中的对象个数限制4 |
| 每个 SELECT 语句的数据表个数 | 256 | 256 |
| 每个数据表的触发器个数 | 受数据库中的对象个数限制4 | 受数据库中的对象个数限制4 |
| 每个数据表的 UNIQUE 索引个数或约束个数 | 249个非聚集索引和 1 个聚集索引 | 249个非聚集索引和 1 个聚集索引 |
Sql Server 2000附加数据库出现1813错误的解决方法
五 14th
今天进行了一错误操作。
数据库xxzx_discuz,因生成大量日志使日志文件’xxzx_discuz_Log.LDF’ 占满了磁盘所有空间,使网站无法正常使用数据库。
自己图省事分离数据库xxzx_discuz后,直接删除’xxzx_discuz_Log.LDF’ (因为文件太大,无法存放到回收站),重新附件到SQL Server时出现两个提示:
——————————————————————————————————————————
SQL Server 企业管理器
—————————
为日志文件指定的文件名不正确。
将创建新的日志文件。
要继续吗?
—————————
是(Y) 否(N)
——————————————————————————————————————————
Microsoft SQL-DMO (ODBC SQLState: 42000)
—————————
错误 1813: 未能打开新数据库 ‘xxzx_discuz’。CREATE DATABASE 将终止。
设备激活错误。物理文件名 ‘S:\Program Files\Microsoft SQL Server\MSSQL\data\xxzx_discuz_Log.LDF’ 可能有误。
—————————
确定
——————————————————————————————————————————
从而无法将数据库正常附加到SQL Server 2000,正常情况下这样操作是没有问题的,SQL Server会重新生成日志文件,但是因为之前出现了磁盘空间不足,日志文件不完整,从而造成了无法正常附加。
解决办法如下(从网上找来的):
0.备份数据文件‘xxzx_discuz_Log.MDF’
1.新建一个同名的数据库‘xxzx_discuz’
2.再停掉sqlserver服务(注意不要分离数据库)
3.用原数据库的数据文件‘xxzx_discuz_Log.MDF’ 覆盖掉新建的数据库
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
- use master
- go
- sp_configure ‘allow updates’,1 reconfigure with override
- go
- update sysdatabases set status =32768 where name=‘置疑的数据库名’
- go
- sp_dboption ‘置疑的数据库名’, ‘single user’, ‘true’
- go
- dbcc checkdb(‘置疑的数据库名’)
- go
- update sysdatabases set status =28 where name=‘置疑的数据库名’
- go
- sp_configure ‘allow updates’, 0 reconfigure with override
- go
- sp_dboption ‘置疑的数据库名’, ‘single user’, ‘false’
- go