Udostępnij przez


Przegląd (SMO)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL database w usłudze Microsoft Fabric

Obiekty zarządzania programem SQL Server (SMO) to obiekty przeznaczone do programowego zarządzania programem Microsoft SQL Server. Za pomocą funkcji SMO można tworzyć dostosowane aplikacje do zarządzania programem SQL Server. Mimo że program SQL Server Management Studio to zaawansowana i rozbudowana aplikacja do zarządzania programem SQL Server, czasami może być lepiej obsługiwana przez aplikację SMO.

Na przykład aplikacje użytkowników, które kontrolują zadania zarządzania programem SQL Server, mogą być uproszczone, aby zaspokoić potrzeby nowych użytkowników i zmniejszyć koszty trenowania. Być może trzeba będzie utworzyć dostosowane bazy danych programu SQL Server lub utworzyć aplikację do tworzenia i monitorowania wydajności indeksów. Aplikacja SMO może być również używana do bezproblemowego dołączania sprzętu lub oprogramowania innej firmy do aplikacji do zarządzania bazami danych.

Ponieważ funkcja SMO jest zgodna z programem SQL Server 2005 (9.x) i nowszymi wersjami, można łatwo zarządzać środowiskiem z wieloma wersjami.

Funkcje funkcji SMO obejmują następujące elementy:

  • Buforowany model obiektów i zoptymalizowane tworzenie wystąpienia obiektu. Obiekty są ładowane tylko w przypadku przywoływanego odwołania. Właściwości obiektu są ładowane tylko częściowo po utworzeniu obiektu. Pozostałe obiekty i właściwości są ładowane, gdy są bezpośrednio przywoływane.

  • Wykonywanie wsadowe instrukcji Transact-SQL. Instrukcje są wsadowe w celu zwiększenia wydajności sieci.

  • Przechwyć instrukcje Transact-SQL. Umożliwia przechwycenie dowolnej operacji do skryptu. Program Management Studio używa tej funkcji, aby wykonać skrypt operacji zamiast wykonywać ją natychmiast.

  • Zarządzanie usługami programu SQL Server za pomocą dostawcy WMI. Usługi programu SQL Server można uruchamiać, zatrzymywać i wstrzymywać programowo.

  • Zaawansowane skryptowanie. Transact-SQL skrypty można wygenerować w celu ponownego utworzenia obiektów programu SQL Server opisujących relacje z innymi obiektami w wystąpieniu programu SQL Server.

  • Używanie unikatowych nazw zasobów (URN). Nazwa URN umożliwia tworzenie wystąpień obiektów SMO i odwołuje się do tych obiektów.

Funkcja SMO reprezentuje również jako nowe obiekty lub właściwości wielu funkcji i składników, które zostały wprowadzone w programie SQL Server 2005 (9.x). Te nowe funkcje i składniki obejmują następujące elementy:

  • Partycjonowanie tabel i indeksów na potrzeby przechowywania danych w schemacie partycji. Aby uzyskać więcej informacji, zobacz Partycjonowane tabele i indeksy.

  • Punkty końcowe HTTP do zarządzania żądaniami PROTOKOŁU SOAP. Aby uzyskać więcej informacji, zobacz Implementowanie punktów końcowych.

  • Izolacja migawki i przechowywanie wersji na poziomie wiersza w celu zwiększenia współbieżności. Aby uzyskać więcej informacji, zobacz Praca z izolacją migawki.

  • Zbieranie schematów XML, indeksy XML i typ danych XML zapewniają walidację i przechowywanie danych XML. Aby uzyskać więcej informacji, zobacz Kolekcje schematów XML (SQL Server) i Using XML Schemas (Używanie schematów XML).

  • Bazy danych migawek służące do tworzenia kopii baz danych tylko do odczytu.

  • Obsługa usługi Service Broker na potrzeby komunikacji opartej na komunikatach. Aby uzyskać więcej informacji, zobacz SQL Server Service Broker.

  • Obsługa synonimów dla wielu nazw obiektów bazy danych programu SQL Server. Aby uzyskać więcej informacji, zobacz Synonimy (aparat bazy danych).

  • Zarządzanie pocztą bazy danych, które umożliwia tworzenie serwerów poczty e-mail, profilów poczty e-mail i kont poczty e-mail w programie SQL Server. Aby uzyskać więcej informacji, zobacz Database Mail.

  • Zarejestrowane serwery obsługują rejestrowanie informacji o połączeniu. Aby uzyskać więcej informacji, zobacz Rejestrowanie serwerów.

  • Śledzenie i odtwarzanie zdarzeń programu SQL Server. Aby uzyskać więcej informacji, zobacz SQL Server Profiler, SQL Trace, SQL Server Distributed Replay i Extended Events.

  • Obsługa certyfikatów i kluczy kontroli zabezpieczeń. Aby uzyskać więcej informacji, zobacz Hierarchia szyfrowania.

  • Wyzwalacze DDL służące do dodawania funkcji w przypadku wystąpienia zdarzeń DDL. Aby uzyskać więcej informacji, zobacz wyzwalacz DDL.

Przestrzeń nazw SMO to Microsoft.SqlServer.Management.Smo. Funkcja SMO jest implementowana jako zestaw programu Microsoft .NET Framework. Oznacza to, że przed użyciem obiektów SMO należy zainstalować środowisko uruchomieniowe języka wspólnego z programu Microsoft .NET Framework w wersji 2.0. Zestawy SMO są instalowane domyślnie w globalnej pamięci podręcznej zestawów (GAC) z opcją zestawu SDK programu SQL Server. Zestawy znajdują się w folderze C:\Program Files\Microsoft SQL Server\130\SDK\Assemblies. Aby uzyskać więcej informacji, zobacz dokumentację programu Visual Studio .NET Framework.

Klasy SMO

Klasy SMO obejmują dwie kategorie: klasy wystąpień i klasy narzędzi.

Klasy instancji

Klasy wystąpień reprezentują obiekty programu SQL Server, takie jak serwery, bazy danych, tabele, wyzwalacze i procedury składowane. Klasa ServerConnection służy do nawiązywania połączenia z wystąpieniem programu SQL Server i kontrolowania trybu przechwytywania wysyłanych do niego poleceń.

Obiekty wystąpienia SMO tworzą hierarchię reprezentującą hierarchię serwera bazy danych. W górnej części znajdują się wystąpienia programu SQL Server, w których znajdują się bazy danych, a następnie z tabelami, kolumnami, wyzwalaczami itd. Jeśli jest logiczne, że istnieje jeden element nadrzędny dla wielu relacji podrzędnych, takich jak tabela zawierająca co najmniej jedną kolumnę, element podrzędny jest reprezentowany przez kolekcję obiektów. W przeciwnym razie element podrzędny jest reprezentowany przez jeden obiekt.

Klasy użytkowe

Klasy narzędzi to grupa obiektów, które zostały utworzone jawnie w celu wykonywania określonych zadań. Zostały one podzielone na różne hierarchie obiektów na podstawie funkcji:

  • Przeniesienie się na klasę. Służy do transferu schematu i danych do innej bazy danych.

  • Klasy tworzenia kopii zapasowych i przywracania. Są one używane do tworzenia kopii zapasowych i przywracania baz danych.

  • Klasa skrypterów. Służy to do tworzenia plików skryptów na potrzeby rewitalizacji obiektów i ich zależności.

Funkcje SMO

Optymalizacja wydajności

Architektura SMO jest wydajna pod względem pamięci, ponieważ obiekty są tylko częściowo tworzone na początku, a minimalne informacje o właściwości są wymagane z serwera. Pełne utworzenie wystąpienia obiektów jest opóźnione do momentu jawnego odwołania do obiektu. Obiekt jest w pełni tworzone, gdy żądana jest właściwość, która nie znajduje się w zestawie właściwości, które są po raz pierwszy pobierane, lub gdy wywoływana jest metoda, która wymaga takiej właściwości. Przejście między częściowo utworzone i w pełni utworzone obiekty jest niewidoczne dla użytkownika. Ponadto niektóre właściwości używające dużej ilości pamięci nigdy nie są pobierane, chyba że właściwość jawnie się odwołuje. Przykładem jest Size właściwość Database właściwości obiektu. Jednak częściowe tworzenie wystąpienia wymaga większej liczby rund sieciowych i może nie być najlepszą opcją dla aplikacji.

Tworzenie wystąpienia można kontrolować zgodnie ze środowiskiem systemowym. Poleganie na opóźnionym wystąpieniu minimalizuje ilość pamięci wymaganej przez aplikację, chociaż może wyzwolić wiele żądań serwera podczas odwoływania się do właściwości.

Klasy wystąpień, obiekty reprezentujące rzeczywiste obiekty bazy danych, mogą istnieć na trzech poziomach tworzenia wystąpienia. Są to minimalne wystąpienia (tylko minimalne wymagane właściwości są odczytywane w jednym bloku), częściowo utworzone (wszystkie właściwości używające stosunkowo dużej ilości pamięci są odczytywane w jednym bloku) i w pełni utworzone wystąpienie. Bezpodstawne i w pełni utworzone wystąpienia to tradycyjne stany wystąpienia. Częściowo utworzone wystąpienie stanu zwiększa wydajność, ponieważ częściowo utworzone wystąpienie obiektu nie zawiera wartości pełnego zestawu właściwości obiektu. Wystąpienie częściowe jest domyślnym stanem obiektu, do którego nie odwołuje się bezpośrednio. Po odwołaniu się do jednej z tych właściwości jest generowany błąd, który monituje o pełne utworzenie wystąpienia obiektu.

Wykonanie pojmania

Bezpośrednie wykonywanie to zwykła metoda wykonywania. Instrukcje są wysyłane do wystąpienia programu SQL Server bezpośrednio w miarę ich naliczania. Wykonanie przechwytywania jest alternatywą dla tego.

Wykonywanie przechwytywania umożliwia przechwytywanie Transact-SQL partii, które zwykle będą wykonywane. Dzięki temu programista SMO odroczyć skrypt, zapisać go do późniejszego wykonania lub udostępnić podgląd użytkownika końcowego. Na przykład utwórz bazę danych, tabelę create i instrukcję create index można wysłać w jednej partii, a następnie uruchomić jako trzy kroki sekwencyjne. Ta funkcja jest kontrolowana przez użytkownika przy użyciu Server obiektu .

Dostawca WMI

Obiekty dostawcy WMI są opakowane przez protokół SMO. Zapewnia to programisty SMO prosty model obiektów podobny do klas SMO ściśle, bez konieczności zrozumienia modelu programowania reprezentowanego przez przestrzeń nazw i szczegóły dostawcy WMI programu SQL Server. Dostawca WMI umożliwia konfigurowanie usług programu SQL Server, aliasów i bibliotek sieciowych klienta i serwera.

Scripting

W środowisku SMO skrypty zostały ulepszone i przeniesione do klasy Scripter . Klasa Scripter może odnajdywać zależności, rozumieć relacje między obiektami i umożliwia manipulowanie hierarchią zależności. Głównym obiektem skryptowym jest obiekt Scripter . Istnieje również kilka obiektów pomocniczych, które obsługują zależności i reagują na zdarzenia postępu lub błędów.

Obiekt Scripter obsługuje następujące zaawansowane opcje skryptów:

  • Proste skrypty 1-fazowe (tworzy skrypt w jednym kroku)

  • Zaawansowane wykonywanie skryptów 3-fazowych (tworzy skrypt w trzech krokach; odnajdywanie zależności, generowanie listy, generowanie skryptów)

  • Odnajdywanie zależności dwukierunkowych (umożliwia odnajdywanie zależności lub zależności)

  • Odpowiedź na zdarzenia postępu

  • Reagowanie na zdarzenia błędów

Unikatowe nazwy zasobów

Kluczową koncepcją korzystania z biblioteki obiektów SMO jest unikatowa nazwa zasobu (URN). Nazwa URN używa składni podobnej do XPath. XPath to ścieżka hierarchii używana do określania obiektu, w którym każdy poziom ma kwalifikatory i funkcje. W funkcji SMO nazwa URN ma dwa elementy, ścieżkę i nazewnictwo atrybutów, które mają ograniczoną funkcjonalność. Ścieżka służy do określania lokalizacji obiektu, podczas gdy nazewnictwo atrybutów umożliwia pewien stopień filtrowania.

Przykładem identyfikatora URIN dla bazy danych jest

/Server/Database[@Name='AdventureWorks2022']  

Identyfikator URI obiektu można pobrać, odwołując się do jego właściwości URN. Obiekt Scripter używa również adresów URL jako parametrów, które przekazują odwołania do obiektu Scripter . Ponadto można określić nazwę URN dla metody GetSmoObject obiektu Server . Służy do tworzenia wystąpienia obiektu SMO.

Funkcje programu SQL Server reprezentowane w programie SMO

Partycjonowanie tabel i indeksów

Partycjonowanie tabeli indeksów umożliwia zarządzanie rozkładem danych w tabelach i indeksach w grupach plików. Ta nowa funkcja jest reprezentowana przez obiekty SMO.

Punkty końcowe

Żądania dublowania bazy danych i protokołu SOAP są obsługiwane przez punkty końcowe przy użyciu Endpoint obiektu .

Izolacja migawki/przechowywanie wersji na poziomie wiersza

Izolacja migawki (przechowywanie wersji na poziomie wiersza) jest reprezentowana przez nowe Database właściwości obiektu.

Przestrzeń nazw schematu XML, indeksy XML i typ danych XML

Przestrzenie nazw schematu XML są reprezentowane w funkcji SMO przez kolekcję obiektów. Indeksy XML są reprezentowane w trybie SMO przez właściwość obiektu indeksu .

Ulepszenia wyszukiwaniaFull-Text

Nowe obiekty są dostępne w programie SMO, które reprezentują ulepszenia wyszukiwania pełnotekstowego.

Zweryfikuj stronę

Obiekt PageVerify reprezentuje opcje weryfikacji strony bazy danych.

Bazy danych migawek

Baza danych migawek to kopia określonej bazy danych tylko do odczytu jako określony punkt w czasie. Bazę danych migawek można określić przy użyciu IsDatabaseSnapshot właściwości Database obiektu.

Broker usług

Usługa Service Broker i jego funkcjonalność są reprezentowane przez grupę obiektów

Ulepszenia indeksu

Ulepszenia indeksu programu SQL Server są reprezentowane przez nowe właściwości w Index obiekcie.

Zobacz też

Pojęcia dotyczące obiektów zarządzania replikacją