日期:2014-05-18  浏览次数:20652 次

用脚本建数据库的问题和访问数据库慢的问题。
问题1:

创建数据库的脚本如下:
CREATE   DATABASE   [ccpdata]   ON     PRIMARY  
(   NAME   =   N 'ccpdata_Data ',   FILENAME   =   N 'D:\CCPData\ccpdata_Data.MDF '   ,   SIZE   =   5120KB   ,   MAXSIZE   =   UNLIMITED,   FILEGROWTH   =   10%)
  LOG   ON  
(   NAME   =   N 'ccpdata_Log ',   FILENAME   =   N 'D:\CCPData\ccpdata_Log.LDF '   ,   SIZE   =   5120KB   ,   MAXSIZE   =   3145728KB   ,   FILEGROWTH   =   10%)
GO

出现如下错误
Msg   1802,   Level   16,   State   4,   Line   2
CREATE   DATABASE   failed.   Some   file   names   listed   could   not   be   created.   Check   related   errors.
Msg   5123,   Level   16,   State   1,   Line   2
CREATE   FILE   encountered   operating   system   error   5(error   not   found)   while   attempting   to   open   or   create   the   physical   file   'D:\CCPData\ccpdata_Data.MDF '.

操作系统是Windows2003   64位英文版   数据库是SQLServe2005   64位英文版
在很多机器上都测试过没有问题,但是在客户的机器上就是有问题
路径D:\CCPData\是存在的。

如果用下面的代码建库就可以成功
CREATE   DATABASE   [ccpdata]

现在的解决方案是用上面的代码建库,然后将数据库分离后Copy到D:\CCPData\,然后再附加上去。
但是客户不接受这种方法。

请问造成这个问题的原因是什么?如何解决(通过脚本,不要人为操作)?


问题2:
软件访问这个数据库非常慢,不访问数据库的界面就非常快。在其他机器上测试也是没有问题,就是这台机器有问题。

请问造成访问数据库很慢的原因(请尽可能列举)?

------解决方案--------------------
语句没有问题。

SQL Server打上最新补丁试试。


------解决方案--------------------
把你已经处理好的数据库直接还原或附加到客户机器上即可。

用SQL脚本创建数据库处理起来比较麻烦,还有逐个创建表及其他对象。
------解决方案--------------------
只有一台机器有问题?

应该是索引或主键掉了.
------解决方案--------------------
checkdisk D
------解决方案--------------------
1. 检查磁盘分区是否有问题
2. 检查sql服务的启动帐户是否在此磁盘(或者目录)上有合适的权限
注:服务默认使用LocalSystem帐户,是具有权限的,如果改成指定帐户,则问题有难说了


---------------------
问题2:
软件访问这个数据库非常慢

如果这个与问题1是关联的,即:将数据库分离后Copy到D:\CCPData\,然后再附加上去
则应该是磁盘有问题,如果此目录是被加密的(NTFS分区的功能),则应该先去掉加密功能进行测试
------解决方案--------------------
向绉大哥学习。。。