最近更新的BLOG列表
最新更新的文章列表
精彩推荐列表
如何附加超过16个数据文件的数据库?
2008-03-24 23:17:14.0
手头一个10G的数据库,其中包含以下文件
*.MDF
1*.NDF 第1个ndf文件
.
.
.
.
16*.NDF 第16个ndf文件
*.LDF
在企业管理器中附加数据库,出现“错误8144:为过程或函数 sp_attach_db 制定的参数太多”
------------------------------------------------------------------------------------
您尝试通过 SQL Server 企业管理器附加到的SQLServer 实例数据库时出现错误 8144 BUG:
症状
当您尝试通过使用 SQLServer 企业管理器, 将数据库附加到的MicrosoftSQL Server 2000 实例会收到以下错误信息:
错误 8144: sp_attach_db 过程或函数具有太多参数指定。
中收到此错误消息: 42000) ODBC SQLState 对话框 Microsoft SQL - DMO ( 如果对尝试附加, 数据库中有超过 16 文件包含数据库中数据文件和日志文件会出现此问题。原因
当您尝试通过使用 SQLServer 企业管理器, 将数据库附加到的SQLServer 2000 实例 SQLServer 内部运行 sp_attach_db 系统存储过程。 数据文件和日志数据库中文件作为用于 sp_attach_db 系统文件名称参数传递存储过程。 但是, 对于 sp_attach_db 系统存储过程, 的文件名称参数可指定大数量为 16。 因此, 尝试附加数据库具有 16 个以上文件时有关 sp_attach_db 系统存储过程参数的数量为大于此限制。
替代方法
要解决此问题, 使用 CREATE DATABASE FOR ATTACH Transact-SQL 语句来附加数据库具有 16 个以上文件。 例如, 可使用下列 Transact-SQL 语句要附加数据库。
CREATE DataBase [附加后的数据库名]
ON(FILENAME = 'c:aa.MDF' --MDF主数据文件
),(FILENAME = 'c:aa1.NDF' --第1个NDF文件
),(FILENAME = 'c:aa2.NDF' --第2个NDF文件
--..... --第...个NDF文件
),(FILENAME = 'c:aan.NDF' --第n个NDF文件
),(FILENAME = 'c:aa.LDF' --LDF日志文件
) FOR ATTACH
CREATE DataBase [附加后的数据库名]
ON(FILENAME = 'c:aa.MDF' --MDF主数据文件
),(FILENAME = 'c:aa1.NDF' --第1个NDF文件
),(FILENAME = 'c:aa2.NDF' --第2个NDF文件
--..... --第...个NDF文件
),(FILENAME = 'c:aan.NDF' --第n个NDF文件
),(FILENAME = 'c:aa.LDF' --LDF日志文件
) FOR ATTACH
文章评论
[以下网友留言只代表其个人观点,不代表中华网的观点或立场]