Pergunta : Reseed todas as tabelas no DB using DBCC CHECKIDENT em um comando

Nós temos um par bases de dados que nós estamos indo querer reseed os campos da identidade em aproximadamente 100 tabelas a sua razão elevada atual de record.

The para este somos que nós queremos mover uma base de dados do par para o “mestre” e os campos da identidade não foram properly.

Is lá meios de fazer isto para todas as tabelas em uma base de dados em vez de fazer cada tabela individual uma de cada vez?

Thanks
class= do

Resposta : Reseed todas as tabelas no DB using DBCC CHECKIDENT em um comando

O código está abaixo. Apenas uncomment o exec (e comenta para fora a cópia, se desejado).
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:
ajustar o nocount sobre

declarar a tabela dos @tables (
  identidade da identificação int,
  sysname do tablename,
  sysname do columnName
)

declarar o @counter int
declarar o @count int
declarar nvarchar @newseed (20)
declarar o sysname do @tablename
declarar o sysname do @columnname
declarar o @sql varchar (máximo)
declarar o @sqlex varchar (máximo)
declarar o @sqlMax nvarchar (máximo)
declarar o @sqlMaxEx nvarchar (máximo)
DECLARAR O @PVALUE     VARCHAR (250)
DECLARAR O @PARAM      NVARCHAR (250)

ajustar o @sql = “DBCC CHECKIDENT ('' @table '', RESEED, @value)”
ajustar o @sqlMax = “@value=MAX SELETO (o @pkfield) de @table”
AJUSTAR O @PARAM = O “@VALUE VARCHAR (250) OUTPUT”
 
introduzir em @tables
selecionar TABLE_NAME DISTINTO, COLUMN_NAME
de INFORMATION_SCHEMA.COLUMNS
onde TABLE_SCHEMA = “dbo”
e COLUMNPROPERTY (object_id (TABLE_NAME), COLUMN_NAME, “IsIdentity ") = 1
ordem por TABLE_NAME
selecionar o @count = o @@ROWCOUNT

ajustar o @counter = 1
quando @counter  <>
           
Outras soluções  
 
programming4us programming4us