Fråga : Reseed alla bordlägger i db using DBCC CHECKIDENT i en befaller

Vi har en koppla ihop av databaser som vi går att önska att ska reseed identiteten sätter in på omkring 100 bordlägger till deras strömkick record.

The resonerar för denna är att vi önskar till flyttningen som en jämlikedatabas till ”styr” och alla identiteten sätter in inte har varit ökad properly.

Is där hjälpmedel av att göra detta för bordlägger i en databas, i stället för att göra varje individ bordlägger en i sänder?

Thanks
" klar "

Svar : Reseed alla bordlägger i db using DBCC CHECKIDENT i en befaller

Kodifiera är nedanför. Precis uncomment execen (och kommentaren ut trycket, om önskat).
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
fastställd nocount på

förklara att @tables bordlägger (
  identitet för ID int,
  tablenamesysname,
  columnNamesysname
)

förklara @counter int
förklara @count int
förklara @newseed nvarchar (20)
förklara @tablenamesysname
förklara @columnnamesysname
förklara varchar @sql (max)
förklara varchar @sqlex (max)
förklara nvarchar @sqlMax (max)
förklara nvarchar @sqlMaxEx (max)
FÖRKLARA @PVALUE     VARCHAR (250)
FÖRKLARA @PARAM      NVARCHAR (250)

fastställd @sql = ”DBCC CHECKIDENT ('' @table '', RESEED, @value)”,
fastställd @sqlMax = ”VALD @value=MAX (@pkfield) FRÅN @table”,
FASTSTÄLLD @PARAM = ”@VALUE VARCHAR (250) TILLVERKAR”,
 
mellanlägg in i @tables
välj DISTINKT TABLE_NAME, COLUMN_NAME
från INFORMATION_SCHEMA.COLUMNS
var TABLE_SCHEMA = ”dbo”,
och COLUMNPROPERTY (object_id (TABLE_NAME), COLUMN_NAME, ”IsIdentity”) = 1
beställa vid TABLE_NAME
välj @count = @@ROWCOUNT

fastställd @counter = 1
stund@counter  <>
           
Andra lösningar  
 
programming4us programming4us