Potrzebuję uzyskać listę wszystkich tabel, które są publikowane do replikacji z baz danych MS-SQL. Czy istnieje procedura składowana systemu lub zapytanie, które mógłbym uruchomić, aby wygenerować taką listę?Lista wszystkich tabel, które są obecnie publikowane do replikacji MS-SQL
Odpowiedz
Tak:
SELECT *
FROM sys.tables
WHERE is_replicated = 1
Z MSDN dla pola is_replicated:
1 = Stół opublikowane za pomocą migawki replikacji lub transakcji replikacji.
Możliwe jest zapytanie do bazy danych distribution
, aby zobaczyć, jakie artykuły (tabele/widoki/obiekty ...) są publikowane i z której publikacji pochodzą.
SELECT
P.[publication] AS [Publication Name]
,A.[publisher_db] AS [Database Name]
,A.[article] AS [Article Name]
,A.[source_owner] AS [Schema]
,A.[source_object] AS [Object]
FROM
[distribution].[dbo].[MSarticles] AS A
INNER JOIN [distribution].[dbo].[MSpublications] AS P
ON (A.[publication_id] = P.[publication_id])
ORDER BY
P.[publication], A.[article];
Działa na SQL Server 2008 – Michael
Przydaje się zapytanie o encje [dystrybucji]. A jeśli twoje artykuły są w tym samym DB (przynajmniej wszystkie, które chcesz zidentyfikować), możesz dołączyć do tych DB [dbName] .sys.tables/objects/etc. widoki meta-danych, aby wyświetlić jeszcze więcej informacji na ich temat, np. "jaki typ obiektu to jest" (ponieważ można mieć więcej niż tylko replikowanie tabel), lub nawet "która kolumna jest PK". Postaram się zamieścić więcej informacji na ten temat, gdy będę miał szansę. – NateJ
- 1. Psql lista wszystkich tabel
- 2. Lista wszystkich tabel w bazie danych
- 3. Lista wszystkich modułów, które są częścią pakietu Pythona?
- 4. Lista wszystkich tabel w bazie danych
- 5. Lista wszystkich tabel w postgresql information_schema
- 6. Lista wszystkich tabel z relacją do danej tabeli lub widoku
- 7. Lista zdarzeń, które są uruchamiane w DOM
- 8. Które z poniższych stwierdzeń dotyczy replikacji MongoDB?
- 9. Jak uzyskać nazwy wszystkich tabel, które są używane w konkretnej procedurze przechowywanej?
- 10. AppleScript - Lista wszystkich czcionek
- 11. Lista wszystkich znaków specjalnych, które muszą zostać zmienione w regex
- 12. Jak zmienić schemat wszystkich tabel, widoków i procedur przechowywanych w MSSQL
- 13. Jak kontrolować, które połączone składniki są publikowane podczas publikowania określonego komponentu?
- 14. Lista wszystkich plików, które istniały w repozytorium Git.
- 15. Zapytanie SQL do przeszukiwania schematu wszystkich tabel
- 16. Postgres kwerendy do listy wszystkich nazw tabel
- 17. Wybieranie wszystkich tabel zawierających określone kolumny
- 18. ASP.NET MVC4 Lista wszystkich obszarów
- 19. Czy dyrektywy Angular 2 są obecnie "rozszerzalne"?
- 20. Jak dodać prefiks wszystkich tabel w mysql
- 21. Get dict wszystkich zmiennych obecnie w zakresie i ich wartości
- 22. Lista wszystkich diagnostyków gcc
- 23. Publikowanie MVC3, dlaczego modele/kontrolery nie są publikowane
- 24. Zliczanie wszystkich tabel w schemacie
- 25. Usuwanie wszystkich powiązanych rekordów z wielu tabel
- 26. Lista wszystkich słów pasujących do wyrażenia regularnego
- 27. Lista wszystkich krajów rozwijanej
- 28. Animacja nie rozpoczyna się w elementach ListView, które są obecnie widoczne
- 29. Czy wątki Gadfly są obecnie kompozycyjne?
- 30. AppleScript - lista wszystkich uruchomionych aplikacji
Zależy to od zastosowanego typu replikacji. Aby uzyskać migawkę, konieczne może być sprawdzenie is_published = 1. MSDN: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/3333c691-4426-476c-b7c4-f8f55068937a/difference-between-ispublished-and -isreplicated-columns-of-systables? forum = sqlreplication – Zeeshan
Mogę potwierdzić, że na serwerze SQL 2014/2016 (nie mam do testowania wczesnej wersji), dla replikacji snapshot, [is_replicated] nie określa, czy tabela jest replikowana czy nie. Musisz użyć [is_published] = 1, aby znaleźć tabelę replikacji migawek. – jyao