Join this discussion on security tips and measures you should consider when implementing virtualization in your environment.
Watch the last segment of a four part series of screencasts demonstrating how to set up High-Performance Computing (HPC) Server 2008 head nodes for high availability.
In this video Chris Jackson talks about best practices for running the application compatibility portion of a Windows Vista migration, how to fix applications using shims, and how shims may impact security.
Someone had a problem with 8 year old procs which started to fail after moving to SQL Server 2008
Of course he should have used ints, but let's see what happens
Run this code on SQL Server 2005 and 2000
DECLARE
@num_Passed Numeric(2, 0);SET
@num_Passed = -1;SELECT
@num_Passed
IF
(@num_Passed = 0)
No problem right?
Run just this part on SQL 2008
DECLARE
@num_Passed Numeric(2, 0);SET
@num_Passed = -1;SELECT
@num_Passed No problem eitherNow run this whole thing
DECLARE
@num_Passed Numeric(2, 0);SET
@num_Passed = -1;SELECT
@num_Passed
IF
(@num_Passed = 0)Oops, this is what we get
Server: Msg 8115, Level 16, State 2, Line 7
Arithmetic overflow error converting expression to data type tinyint.
Change the -1 to 1
DECLARE
@num_Passed Numeric(2, 0);SET
@num_Passed = 1;SELECT
@num_Passed
IF
(@num_Passed = 0)No problem either.
Run this
IF
(convert(Numeric(2, 0),-1) = 0)That fails
Let's make it numeric(3,0)
IF
(convert(Numeric(3, 0),-1) = 0)
No problem, that runs fine. So is this a bug because of implicit conversion to tinyint which can't hold negative values?