You can use the bigint
data type in order to avoid reaching the max value too often.
The range for bigint is -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807), storage = 8 Bytes. Are you often out of this limit?
In case you want to reseed, you should be able to run the dbcc checkident
statement inside a transaction, but you'll have to do more error handling inside your code.
I don't know of an IDENTITY
property to automatically reseed its value, only manually, by truncating the table or by using dbcc checkident
. You could create a trigger on your table and once the last inserted value gets close to the maximum then you'd be able to reseed. But this will probably add cost to your transactions.
But, from reading into it more, separate physical disks for mdf and ldf files don't really apply when it comes to SSD's. Correct?
The original reason for splitting log and data files off onto seperate disks was 2 fold - latency and bandwidth on the drives.
SSDs don't remove these restrictions, but they do decrease/increase the limits quite significantly (7.9ms for a read with a single HDD vs 0.1ms for a read in a single SSD, roughly).
So ultimately yes and no - it doesn't apply AS MUCH as with HDDs, but those limits are still there and can still be met. It all depends on your workload.
Is my "thinking" setup good or just simply a waste (i.e. no reason to separate out tempdb) where I now have an extra SSD to make use of elsewhere?
Assuming that
- You have 3 physical SSD's
- You have 1 physical HDD
- You need the data to be redundant, but not necessarily the system itself
Your proposed setup would have a few issues (as mentioned before), and a single drive failing is the main one.
You could go for something like this.
Single 7200rpm drive - Windows OS
RAID 5 array (3 SSDs) - Broken down into 4 drives (D for Data, L for Logs, S for Swap and T for Temp)
OR
Single 7200rpm drive - Windows OS
Single SSD - Temp and Swap
RAID 1 array (2 SSDs) - Data and Logs
It's personal preference of mine offloading Windows onto a non-SSD drive when you only have a limited number, but this entirely depends on what the server is doing and how much of a risk you're willing to take.
Best Answer
You could do this by running something like
This would reseed your table identity to be 2000 higher than it currently is and seems like it should resolve what you are looking to do.