حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

آموزش استفاده از DBCC CheckIdent در SQL Server

اکثر جداولی که در بانک های اطلاعاتی تعریف می شوند شامل یک کلید اولیه هستند که این کلید اولیه معمولاً از نوع Identity تعریف می شود، مقدار فیلدهای Identity به صورت خودکار و با هر بار درج رکورد جدید در جدول درج شده و مقدار آن ها نیز بر اساس تنظیمات Identity Seed با توجه به آخرین رکورد اضافه می شوند. فرض کنیم که جدولی داریم که فیلدی از نوع Identity دارد و تصمیم می گیریم که کل رکورد های جدول را حذف کرده و شمارنده فیلد Identity را به مقدار 1 ست کنیم یا اینکه بخواهیم مقدار جاری شمارنده را بدست آوریم. برای اینکار می توانیم از دستور DBCC CHECKIDENT استفاده کنیم. در ادامه به بررسی شیوه های مختلف استفاده از این دستور می پردازیم : با فرض اینکه جدولی به صورت زیر داریم:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
create table [dbo].[People]
(
    [Id] int identity not null primary key,
    [Name] nvarchar(200) not null
);
go

1. برای بدست آوردن مقدار جاری Identity:

DBCC CHECKIDENT ('dbo.People', NORESEED)

2. برای ست کردن مقدار Identity به عدد 1:

DBCC CHECKIDENT ('dbo.People'. RESEED, 1)

دقت کنید که این دستور تنها در صورتی اعمال می شود که هیچ رکوردی در جدول موجود نباشد. در صورت موجود بودن رکورد در جدول آخرین مقدار Identity موجود بعلاوه 1 مقدار Identity بعدی می شود.

3. ست کردن به یک مقدار دلخواه:

DBCC CHECKIDENT ('dbo.People', RESEED, 8000)

به این موضوع توجه کنید که با ست کردن مقدار به 8000 شمارنده از 8000 شروع نمی شود، بلکه مقدار بعدی آن یعنی 8001 به عنوان اولین مقدار در جدول درج خواهد شد. امیدوارم که این نکته مورد توجه شما دوستان قرار گرفته باشد. توسینسو باشید


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات