smalldatetime和smalldate的区别

smalldatetime和smalldate的区别,第1张

1、一直以为smalldatetime和datetime的差别只是在于时间范围:

smalldatetime的有效时间范围1900/1/1~2079/6/6

datetime的有效时间范围1753/1/1~9999/12/31

所以我判断如果该值不用到太远的日期范围,就会使用smalldatetime。

2、但我忽略了更关键的差别,那就是smalldatetime只精准到分,而datetime则可精准到3.33毫秒。

因此,当我怎么存,秒都是00后,才发现原来是smalldatetime惹的祸,待我将类型别改成datetime后,秒的部份就可以正常储存了。

*****************************************************************************************

SQL Server中,smalldatetime只能精确到分钟,而datatime可以精确到3%秒(3.33毫秒)。

smalldatetime占用4个字节,前2个字节存储base date(1900年1月1日)之后的天数。后2个字节存储午夜后的分钟数。

datetime占用8个字节,前4个字节存储base date(即1900年1月1日)之前或之后的天数,后4个字节存储午夜后的毫秒数。

由于datetime的精度是3%秒,这就涉及到小数,毫秒之前可以是冒号,也可以是小数点。使用冒号时表示的意义同时分秒间隔,11:11:11:21表示021毫秒,前面的0省略,而小数点表示的意义

--建表

CREATE TABLE ko

(BeginTime SMALLDATETIME,

endTime SMALLDATETIME ,

CONSTRAINT ck CHECK(endTime>=beginTime))

--如果表已经建好了 可以这样:

alter table ko

add constraint ck CHECK(endTime>=beginTime)

Stop:0x0000001E

情况一:

在安装Windows 2000时,可能会出现一个Stop:0x0000001E的出错信息。

原因分析:

Stop:0x0000001E是一个常见的BUG检查代码。而后面所带的参量地址指出了导致问题的驱动或者功能。下面是一个例

子:

STOP:0x0000001E

(0x80000003,0xBFC0304,0x0000000,0x0000001)

参量定义:

参量1. 没有被处理的异常代码;

参量2. 异常发生的地址;

参量3. 异常发生的第一参量;

参量4. 异常发生的第二参量。

在非Intel芯片的电脑上,如果这个发生异常的地址是0xBFC0304,那么这个代码代表的就是该CPU发生了高速缓存存储

器的奇偶错误。如果经常发生这个问题,那么就有必要和硬件制造商联系了。

如果在安装Windows

2000时或是之后的第一次启动出现Stop:0x0000001E错误,那么有三种可能原因:

1.没有足够的硬盘空间进行安装。

2.第三方的显卡驱动(以及Windows 2000的Win32k.sys驱动)。

3.系统的BIOS不兼容。

可以分别用如下的方法来解决这些问题:

1.当硬盘剩余空间较小时,在另外一个硬盘上重新安装Windows 2000。

2.删除第三方显卡驱动。

3.升级系统BIOS。

这个问题不应该经常发生,如果重复发生,那么确认有一个调试器是连着的,而且计算机启动时开启了/deBUG开关。

适用系统:

Microsoft Windows NT Server versions

3.1,3.5,3.51,4.0

Microsoft Windows NT Workstation versions

3.1,3.5,3.51,4.0

Microsoft Windows 2000 Professional /Server

/Advanced Server

情况二:

在安装了Corel CD Creator version

2.0后重新启动电脑,你可能会看到下面的一条出错信息:STOP:0x0000001E

(0xC0000005,0x802F2594,0x00000001,0x00000000)

KMODE_EXCEPTION_NOT_HANDLED

原因分析:

CD Creator version 2.0安装的Portdrvr.sys文件和Windows

2000有兼容性问题。

解决方法:

重启电脑进入高级选项,选择“最后一次正确配置”。

注:“最后一次正确配置”只有在问题发生后还没有成功进入系统之前才有效。如果这个问题是在你把系统升级到Windows

2000时发生的,那么上面的方法是无效的,你必须使用下面的方法:

在文件夹%SystemRoot%\System32\Drivers中把“Portdrvr.sys”改名。

注:如果Windows

2000是安装在一个FAT分区上的,那么随便用启动软盘或是选择开始菜单中的MS-DOS选项进入MS-DOS。如果Wind

ows 2000是安装在一个NTFS分区上的,那么可以再安装一个并行Windows

2000或是Windows NT,用来访问这个驱动器。

同时也可以进入“控制面板”,双击“设备管理器”,然后禁用端口驱动;重启电脑即可。

适用系统:

Microsoft Windows NT Server version 4.0

Microsoft Windows NT Workstation version 4.0

Microsoft Windows 2000 Professional /Server

/Advanced Server

情况三:

当你尝试在一台运行Windows 2000的电脑上使用Microsoft Outlook

98的打印功能时,电脑可能会停止响应,并且出现下面的出错信息:STOP:0x00000001E

KMODE_EXCEPT_NOT_HANDLE:win32k.sys

(0xC0000005,0xA00037C4,0x00000000,0x00000004)

注:该信息的四个参量可能会和上面的有所不同。

原因分析:

这已被微软认定为一个BUG,并已经提供了补丁程序。

解决方法:

下载并安装Windows 2000的最新补丁包。

适用系统:

Microsoft Windows NT Server versions 4.0,4.0

SP1,4.0 SP2,4.0 SP3,4.0 SP4

Microsoft Windows NT Workstation versions 4.0,4.0

SP1,4.0 SP2,4.0 SP3,4.0 SP4

Microsoft Windows NT Server, Enterprise Edition

versions 4.0,4.0 SP4

Microsoft Windows 2000 Professional /Server

/Advanced Server

情况四:

当你从一个终端服务器或是终端客户机上进行打印*作,你可能会收到一个蓝屏的出错信息:Stop:0x0000001E。这个问

题可能会在你使用HP的喷墨打印机(驱动为version 4.4 for Windows NT 4.0

and Windows 2000)时发生。这个问题可能会出现在下列的打印机上:

HP DesignJet 200

HP DesignJet 220

HP DesignJet 230

HP DesignJet 250C

HP DesignJet 330

HP DesignJet 350C

HP DesignJet 430

HP DesignJet 450C

HP DesignJet 455CA

HP DesignJet 488CA

HP DesignJet 600

HP DesignJet 650C

HP DesignJet 700

HP DesignJet 750C

HP DesignJet 750C Plus

HP DesignJet 755CM

HP DesignJet 1050C

HP DesignJet 1055CM

HP DesignJet 2000CP

HP DesignJet 2500CP

HP DesignJet 3000CP

HP DesignJet 3500CP

HP DesignJet ColorPro CAD

原因分析:

这个问题的产生是由于打印机驱动使用了用户模式(UMPD),而这个模式尝试在桌面上建一个自动d出信息,但是该驱动无法在桌面

上取得一个句柄。

解决方法:

1.使用Windows 2000内带的打印机驱动。

2.修改注册表。(注:如果你对注册表不是很熟悉,请不要尝试这种方法,因为对注册表的*作可能会产成严重的问题!并且在编辑注

册表之前请备份原来的注册表。)禁用UMPD功能,然后使用下面的步骤:

a.启动注册表编辑器(Regedt32.exe)。

b.找到

“SPLUserModePrinterDriver”的键值:HKEY_LOCAL_MACHINE\SYSTEM\Curr

entControlSet\Control\print\Printers\Your Printer

Driver\PrinterDriverData。

c.在编辑菜单中单击“delete”,然后确定。

d.退出注册表编辑器。

e.重命名下列的文件:

%SystemRoot%\System32\Spool\Drivers\W32x86\Ppltumpd.dll

%SystemRoot%\System32\Spool\Drivers\W32x86\2\Hpltumpd.dll

%SystemRoot%\System32\Spool\Drivers\W32x86\3\Hpltumpd.dll

f.停止重新启动电脑或是在“运行”对话框中输入“net stop spooler net start

spooler”命令提示来重新启动假机服务(Spooler service)。

适用系统:

Microsoft Windows 2000 Server

Microsoft Windows NT Server version 4.0,Terminal

Server Edition

情况五:

如果Windows

2000被设置为“等待”的暂停值小于系统用来扫描硬盘及修正错误的时间值,而同时“Autochk”又是设为自动运行,你可能

会收到Stop:0x0000001E的出错信息。而这条出错信息指示和显卡驱动有关。

原因分析:

这个问题的发生可能是因为该显卡驱动在“等待”开始前还没有完成初始化。当电源管理器发出关闭显示器的请求时,显卡驱动尝试着访

问还没有初始化的变量时产生了一个错误。

解决方法:

下载并安装Windows 2000最新补丁包。而对于英文版的Windows

2000,所选用的补丁包中的文件要新于下面的文件:

Date Time Version Size

File name

------------------------------------------------------

-----------------

09/21/2000 05:15p 5.0.2195.2295 559,888

Autochk.ex e

09/21/2000 05:16p 5.0.2195.2296 572,176

Autoconv.e xe

09/21/2000 05:16p 5.0.2195.2297 552,208

Autofmt.ex e

08/27/2000 10:25p 5.0.2195.2104 13,072

Chkdsk.exe

08/27/2000 10:25p 5.0.2195.2104 13,072

Chkntfs.exe

11/01/2000 04:45p 5.0.2195.2104 26,384

Cnvfat.dll

08/27/2000 10:25p 5.0.2195.2104 14,096

Convert.exe

08/27/2000 10:25p 5.0.2195.2104 10,512

Diskcomp.com

08/27/2000 10:25p 5.0.2195.2104 8,464

Diskcopy.com

11/01/2000 04:45p 5.0.2195.2104 17,680

Fmifs.dll

08/27/2000 10:25p 5.0.2195.2104 34,064

Format.com

11/01/2000 04:45p 5.0.2195.2293 66,832

Ifsutil.dll

08/27/2000 10:25p 5.0.2195.2104 11,024

Label.exe

08/27/2000 10:25p 5.0.2195.2104 8,464

Recover.exe

08/27/2000 10:25p 5.0.2195.2104 10,000

Subst.exe

11/01/2000 04:45p 5.0.2195.2104 83,216

Ufat.dll

11/01/2000 04:45p 5.0.2195.2104 304,400

Untfs.dll

适用系统:

Microsoft Windows versions 2000,2000 SP1

Professional

Microsoft Windows versions 2000,2000 SP1 Server

Microsoft Windows versions 2000,2000 SP1 Advanced

Server

情况六:

当一个stop信息(或是一个致命系统错误)在Windows

2000中发生时,系统进入调试模式,而这种情况如下所示:

Stop:0x0000001e

(c000009a,80123f36,02000000,00000246)

Unhandled Kernel exception c000009a from 8123f26

Address 80123f36 has base at 80100000 -

ntoskrnl.exe

解决方法:

你可以配置Windows

2000使之可以把stop信息保存到一个转储文件:Memory.dmp中。如果你需要联系微软的技术支持,那么这个文件会使

他们更容易解决你的问题。在Windows 2000或是Windows

NT中,把stop信息保存到一个文件是默认选项。但如果你使用的是Windows NT

Workstation,你必须人工选择这个功能。当然这必须在你遇到一个致命的错误之前选择这个功能。你可以使用下面的步骤来

选择这个功能:

1.在“控制面板”的“系统”组件中,选择“恢复”按钮;

2.选择“Write DeBUGging Information To check box”;

3.在系统提示重新启动电脑后重启。

注:内存分页文件至少应该和物理内存的数量+1M一样大。(例:32M物理内存=33M内存分页文件)而通常内存分页文件要比物

理内存大11M。而这个内存分页文件必须存在于active分区内,而且该分区也必须要有足够的空间来建立“Memory.dm

p”文件。

然后联系微软的技术支持,并且告诉他们你保存了一个dump文件,然后把这个文件发给他们。这样他们就可以帮你来调试这个文件,

并且找到问题的原因。

适用系统:

Microsoft Windows NT Workstation versions

3.5,3.51,4.0

Microsoft Windows NT Server versions 3.5,3.51,4.0

Microsoft BackOffice Small Business Server version

4.0

Microsoft Windows 2000 Professional /Server

/Advanced Server

情况七:

当关闭一个应用程序时,系统可能会出现一个STOP:0x0000001E出错信息,并且该出错信息后面的第一个参量为C000

0005。

原因分析:

当应用程序打开了太多的句柄而没有关闭它们,则这个问题就可能发生。也就是说应用程序持续打开一个注册表键但是没有关闭它。当这

个应用程序关闭后,系统尝试着关闭所有的这些键,但是在进行中间用尽了所有的系统资源。

解决方法:

必须更改这个应用程序,使之可以在运行完后自动关闭注册表键。

适用系统:

Microsoft Windows NT Server version 4.0

Microsoft Windows NT Workstation version 4.0

Microsoft Windows 2000 Professional /Server

/Advanced Server

情况八:

当你尝试运行Adaptec Easy CD Creator version

3.5b以及更早的版本,或是Adaptec DirectCD version

3.0以及更早的版本,这些程序可能在开始时会运行不正常,然后你的电脑也会停止响应。同时,你会收到下面的出错信息,甚至可能

你连“安全模式”都进不去:STOP:0x0000001E:KMODE_EXCEPTION_NOT_HANDLED&nbs

p

原因分析:

这个问题是因为该软件和Windows 2000不兼容造成的。

解决方法:

1.如果你可以进入“安全模式”,那么你可以使用这个方法:

a.点击“开始”,指向“设置”,然后点击“控制面板”;

b.双击“系统”,选择“设备管理器”;

c.在“查看”菜单里选择“显示隐藏设备”;

d.双击“Non-Plug and Play

Drivers”,右击“CDR4VSD”,然后点击“属性”;

e.单击“驱动列表”,单击“禁用”,然后单击“OK”;

f.重复步骤d和e,对“CDRPWD”和“CDUDF”进行相同的*作。

2.如果你可以进入安全模式,那么你还可以使用修改注册表的方法:

a.使用注册表编辑器(Regedt32.exe)查找下面的键:HKEY_LOCAL_MACHINE\System\Cur

rentControlSet\Services\CDR4VSD;

b.修改该键的键值为:Value Name:Start

Data Type:REG_DWORD

Value:4;

c.对“CDRPWD”和“CDUDF”的值重复上面两个步骤。

3.如果你不能进入“安全模式”,那么你可以使用下面的方法:

a.使用Windows

2000的安装软盘启动电脑(如果你的电脑支持从光驱启动,你也可以用Windows

2000的光盘启动);

b.当出现欢迎信息时,分别按“R”键和“C”键进入故障恢复控制台,然后输入:listsvc。

c.登陆进入电脑,使用“disable”命令禁用下列的驱动:

Cdr4vsd

Cdrpwd

Cdudf

例如输入:disable

cdr4vsd,然后按回车。当把这三个驱动全部禁用后,输入“exit”退出。重启电脑。

d. 当你收到“Aspi32.sys”出错信息后,你就可以卸载Easy CD

Creator或是DirectCD了。

适用系统:

Microsoft Windows 2000 Professional /Server

/Advanced Server

情况九:

当你尝试在一个Lanstreamer

PCI网络适配器上加上第三个端口时,你可能会收到下面的出错信息:Stop:0x0000001e

(0xc0000005,0xF6D7439C,0X00000000,0X00000000)

原因分析:

这个问题只会在你安装第三个端口的时候才会出现,而在安装前面的两个端口时则不会出现。这是由Windows

2000中的“Streamer.sys”引起的。

解决方法:

联系你的硬件制造商以取得你的网络适配器的Windows 2000驱动。

适用系统:

Microsoft Windows 2000 Professional /Server

/Advanced Server

情况十:

当你重新启动电脑时,你可能会收到下面的出错信息:

STOP:0x0000001e KMODE_EXCEPTION_NOT_HANDLED in

win32k.sys

原因分析:

这个问题会在你下载了“Backdoor.NTHack”病毒后发生。这个病毒是由“InetPub\Scripts”文件夹中

的“Dl.bat”文件发动的。

在感染了这个病毒后,“Firedaemon.exe”、“Sud.exe”和“Index.exe”三个文件会被安装在电脑中

解决方法:

1.在“修复控制台”(Recovery

Console)中将“Newgina.dll”文件改名为“Newgina.old”;

2.将一个.dll文件改名为“Newgina.dll”,如“Msgina.dll”,这样可以使注册表加载“Newgina

.dll”文件;

如果你找不到“Newgina.dll”文件,那么你可以在下面的注册表键中将“newgina.dll”替换为“msgina

.dll”或是“awgina.dll”:HKEY_LOCAL_MACHINE\Software\Microsoft\Wi

ndows NT\CurrentVersion\Winlogon;

3.禁用或是删除“C:\Winnt\System32\Os2\New”文件夹(该文件夹为隐藏文件夹,其中含有“Fired

aemon.exe”、“Dir.txt”、“Login.txt”、“Remscan.txt”、“Sud.exe”和“Su

d.bak”六个文件)下的和该病毒相关的所有服务;在“InetPub\Scripts”文件夹中的“Dl.bat”文件也必

须删除。

适用系统:

Microsoft Windows 2000,Server

Microsoft Windows NT Server version 4.0

Microsoft Windows NT version 4.0 Option Pack

情况十一:

当Windows 2000处理一个反循环的信息包时,你可能会收到下面的出错信息:

Stop:0x0000001E

(80000003,80453d46,00000000,ffb998a4)

注:参量可能有变化。

解决方法:

微软已经确认这是一个BUG,并且已经提供了一个补丁。对于英文版的Windows

2000,所选用的补丁包中的文件要新于下面的文件:

Date Time Version Size File

name

------------------------------------------------------

-----

4/16/2001 04:40p 5.0.2195.3503 118,800

Afd.sys

4/24/2001 05:04p 5.0.2195.3417 104,720

Msafd.dll

4/24/2001 04:42p 5.0.2195.3540 311,440

Tcpip.sys

4/6/2001 5:55p 5.0.2195.3474 16,208

Tdi.sys

4/24/2001 05:04p 5.0.2195.2104 17,680

Wshtcpip.dll

适用系统:

Microsoft Windows versions 2000,2000

SP1,Professional

Microsoft Windows versions 2000,2000 SP1,Server

Microsoft Windows versions 2000,2000 SP1,Advanced

Server

Microsoft Windows 2000,Datacenter Server

情况十二:

当你的系统中装有Norton

AntiVirus,你可能会收到下面的出错信息:Stop:0x0000001e

(c000012d,xxxxxxxx,xxxxxxxx,xxxxxxxx)。同时,你还可能会收到一个出错信息,提示你的电

脑中的虚拟内存不足,要求你调整内存分页文件的大小或者重新创建一个内存分页文件。

原因分析:

可个问题可能由Symantec Norton AntiVirus versions

4.0或5.0造成。

解决方法:

升级你的Norton AntiVirus。

适用系统:

Microsoft Windows versions 2000,2000 SP1,2000

SP2,Advanced Server

Microsoft Windows versions 2000,2000 SP1,2000

SP2,Professional

Microsoft Windows versions 2000,2000 SP1,2000

SP2,Server

Microsoft Windows NT Workstation versions 4.0,4.0

SP5,4.0 SP6,4.0 SP6a,4.0 SP7

Microsoft Windows NT Server version 4.0


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/9904687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存