设置内存选项:
- --设置 min server memory 配置项
- EXEC sp_configure N'min server memory (MB)', 0
- --设置 max server memory 配置项
- EXEC sp_configure N'max server memory (MB)', 256
- --使更新生效
- RECONFIGURE WITH OVERRIDE
使用文件及文件组.sql:
- /*--功能说明
- 下面的代码是在SQL Server 2000上创建名为 MyDB 的数据库
- 该数据库包括1个主要数据文件、3个用户定义的文件组和1个日志文件
- ALTER DATABASE语句将用户定义文件组指定为默认文件组。
- 之后,通过指默认的文件组来创建表,并且将图像数据和索引放到指定的文件组中。
- 最后,将文件组中的指定数据文件删除
- --*/
- --切换到 master 数据库
- USE master
- GO
- --A. 创建数据库 MyDB
- CREATE DATABASE MyDB
- ON PRIMARY --主文件组和主要数据文件
- ( NAME='MyDB_Primary',
- FILENAME= 'c:\MyDB_Prm.mdf'),
- FILEGROUP MyDB_FG1 --用户定义文件组1
- ( NAME = 'MyDB_FG1_Dat1',
- FILENAME = 'c:\MyDB_FG1_1.ndf'), --次要数据文件1
- ( NAME = 'MyDB_FG1_Dat2',
- FILENAME = 'd:\MyDB_FG1_2.ndf'), --次要数据文件2
- FILEGROUP MyDB_FG2 --用户定义文件组2
- ( NAME = 'MyDB_FG1_Dat',
- FILENAME = 'e:\MyDB_FG2.ndf') --次要数据文件
- LOG ON --日志文件
- ( NAME='MyDB_log',
- FILENAME ='d:\MyDB.ldf')
- GO
- --B. 修改默认数据文件组
- ALTER DATABASE MyDB MODIFY FILEGROUP MyDB_FG1 DEFAULT
- GO
- --切换到新建的数据库 MyDB
- USE MyDB
- --C. 在默认文件组MyDB_FG1创建表,并且指定图像数据保存在用户定义文件组MMyDB_FG2
- CREATE TABLE MyTable
- ( cola int PRIMARY KEY ,
- colb char(8) ,
- colc image )
- TEXTIMAGE_ON MyDB_FG2
- --在用户定义文件组MyDB_FG2上创建索引
- CREATE INDEX IX_MyTable ON MyTable(cola) ON MyDB_FG2
- GO
- --D. 将要删除数据文件MyDB_FG1_Dat1上的数据转移到其他数据文件中,并且清空数据文件MyDB_FG1_Dat1
- DBCC SHRINKFILE(MyDB_FG1_Dat1,EMPTYFILE)
- --删除数据文件MyDB_FG1_Dat1
- ALTER DATABASE MyDB REMOVE FILE MyDB_FG1_Dat1
调整tempdb数据库的文件属性.sql:
- --A. 将tempdb数据库的主数据文件大小设置为10MB。
- ALTER DATABASE tempdb
- MODIFY FILE(
- name=tempdev,
- size=100 MB)
- GO
- --B. 将tempdb数据库的主数据文件移动到指定的磁盘分区上,并且为其添加一个数据文件。
- --移动主数据文件
- ALTER DATABASE tempdb MODIFY FILE
- ( NAME='tempdev',
- FILENAME ='d:\tempdb.mdf')
- --添加次要数据文件
- ALTER DATABASE tempdb ADD FILE
- ( NAME='tempdata_1',
- FILENAME ='d:\tempdb_data_1.ndf')
日期概念理解中的一些测试.sql:
- --A. 测试 datetime 精度问题
- DECLARE @t TABLE(date char(21))
- INSERT @t SELECT '1900-1-1 00:00:00.000'
- INSERT @t SELECT '1900-1-1 00:00:00.001'
- INSERT @t SELECT '1900-1-1 00:00:00.009'
- INSERT @t SELECT '1900-1-1 00:00:00.002'
- INSERT @t SELECT '1900-1-1 00:00:00.003'
- INSERT @t SELECT '1900-1-1 00:00:00.004'
- INSERT @t SELECT '1900-1-1 00:00:00.005'
- INSERT @t SELECT '1900-1-1 00:00:00.006'
- INSERT @t SELECT '1900-1-1 00:00:00.007'
- INSERT @t SELECT '1900-1-1 00:00:00.008'
- SELECT date,转换后的日期=CAST(date as datetime) FROM @t
- /*--结果
- date 转换后的日期
- --------------------- --------------------------
- 1900-1-1 00:00:00.000 1900-01-01 00:00:00.000
- 1900-1-1 00:00:00.001 1900-01-01 00:00:00.000
- 1900-1-1 00:00:00.009 1900-01-01 00:00:00.010
- 1900-1-1 00:00:00.002 1900-01-01 00:00:00.003
- 1900-1-1 00:00:00.003 1900-01-01 00:00:00.003
- 1900-1-1 00:00:00.004 1900-01-01 00:00:00.003
- 1900-1-1 00:00:00.005 1900-01-01 00:00:00.007
- 1900-1-1 00:00:00.006 1900-01-01 00:00:00.007
- 1900-1-1 00:00:00.007 1900-01-01 00:00:00.007
- 1900-1-1 00:00:00.008 1900-01-01 00:00:00.007
- (所影响的行数为 10 行)
- --*/
- GO
- --B. 对于 datetime 类型的纯日期和时间的十六进制表示
- DECLARE @dt datetime
- --单纯的日期
- SET @dt='1900-1-2'
- SELECT CAST(@dt as binary(8))
- --结果: 0x0000000100000000
- --单纯的时间
- SET @dt='00:00:01'
- SELECT CAST(@dt as binary(8))
- --结果: 0x000000000000012C
- GO
- --C. 对于 smalldatetime 类型的纯日期和时间的十六进制表示
- DECLARE @dt smalldatetime
- --单纯的日期
- SET @dt='1900-1-2'
- SELECT CAST(@dt as binary(4))
- --结果: 0x00010000
- --单纯的时间
- SET @dt='00:10'
- SELECT CAST(@dt as binary(4))
- --结果: 0x0000000A