SQL数据库:因为文件组 'PRIMARY' 已满的解决方法
1.检查你是否限制了文件增长:
企业管理器--右键你的数据库--属性--数据文件--看看有没有设置文件的最大值
2.检查你的磁盘分区格式,如果不是NTFS分区,则会有限制,将磁盘分区格式改成NTFS
3.如果你不愿意改,则为你的数据库添加一个数据文件
企业管理器--右键你的数据库--属性--数据文件--添加数据文件
1.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理磁盘,腾出空间。
2.检查你的磁盘分区格式:如果是FAT16,则数据文件最大只能是2G,如果是FAT32,则数据文件最大只能是4G,改为NTFS分区则没有这种限制。
3.检查一下你有没有限制数据库文件的大小:企业管理器--右键你的数据库--属性--文件增长限制--如果有限制大小,取消限制。
4.检查你的SQL版本,如果你用MSDE,则限制了数据文件最大是2G。
5.你也可以为 primary 组添加新的数据文件来解决这个问题
企业管理器--右键你的数据库--属性--数据文件-添加数据文件。
使用SQL语句:alter database 库名 add file(NAME = 逻辑文件名,FILENAME = 'c:实际文件名.ndf'。
相关文档:
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者死锁 ......
1 逻辑数据库和表的设计
数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心。一个好的逻辑数据库设计可以为优化数据库和应用程序打下良好的基础。
标准化的数据库逻辑设计包括用多的、有相互关系的窄表来代替很多列的长数据表。下面是一些使用标准化表的一些好处。
A:由于表窄,因此可 ......
1 :普通SQL语句可以用exec执行
Select * from tableName
exec('select * from tableName')
exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tab ......
有些时候我们需要查询数据库中的时间字段,例如2009-11-11 11:11:11:111 这样的时间格式。
而我们有些时候不用把整个的字段查询出来,需要把前面的日期截取出来,或者把后面的时间截取出来。
这个时候就要用到SQL里面的时间函数了:
select convert(char(10),字段名,108) from 表名
上述语句是将后面的时间查询出来,格 ......
在SQL UPDATE语句中,对换两个变量的值,不需要临时变量。=右侧的值在整个UPDATE语句中都是一致的;所有的更新同时发生,而不是一个接着一个发生。
例如:
UPDATE offenceTeam
SET goalShooter=wingAttack,
& ......