Pytanie : Reseed Wszystkie stół w db using DBCC CHECKIDENT w jeden rozkaz

My mieć kilka baza danych że my iść reseed the tożsamość pole na wokoło 100 stół ich aktualny wysoki record.

The powód dla stół być że my chcieć rówieśnik baza danych the "mistrz" i the tożsamość pole biedak to properly.

Is tam  sposób/>Is dla wszystkie stół w baza danych zamiast wszystkie indywidualny stół jeden na raz?

Thanks

Odpowiedź : Reseed Wszystkie stół w db using DBCC CHECKIDENT w jeden rozkaz

The kod być być. Właśnie uncomment the exec (i komentować właśnie the druk, jeżeli pragnąć).
(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:
ustawiać nocount dalej

oznajmiać @tables zgłaszać (
  id int tożsamość,
  tablename sysname,
  columnName sysname
)

oznajmiać @counter int
oznajmiać @count int
oznajmiać @newseed nvarchar (20)
oznajmiać @tablename sysname
oznajmiać @columnname sysname
oznajmiać @sql varchar (varchar)
oznajmiać @sqlex varchar (varchar)
oznajmiać @sqlMax nvarchar (nvarchar)
oznajmiać @sqlMaxEx nvarchar (nvarchar)
OZNAJMIAĆ @PVALUE     VARCHAR (250)
OZNAJMIAĆ @PARAM      NVARCHAR (250)

ustawiać @sql = "DBCC CHECKIDENT ('' @table '', RESEED, @value)"
ustawiać @sqlMax = "WYBRANY @value=MAX (@pkfield) OD @table"
USTAWIAĆ @PARAM = "@VALUE VARCHAR (250) PRZESYŁAĆ"
 
wszywka w @tables
wybrany ODRĘBNY TABLE_NAME, COLUMN_NAME
od INFORMATION_SCHEMA.COLUMNS
dokąd TABLE_SCHEMA = "dbo"
i COLUMNPROPERTY (object_id (TABLE_NAME), COLUMN_NAME, "IsIdentity ") = (1)
rozkaz TABLE_NAME
wybrany @count = @@ROWCOUNT

ustawiać @counter = (1)
podczas gdy @counter  <>
           
Inne rozwiązania  
 
programming4us programming4us