Udostępnij za pomocą


DATABASEPROPERTYEX (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database w Microsoft Fabric

W przypadku określonej bazy danych w programie SQL Server DATABASEPROPERTYEX funkcja zwraca bieżące ustawienie określonej opcji bazy danych lub właściwości.

Transact-SQL konwencje składni

Składnia

DATABASEPROPERTYEX ( database , property )

Argumenty (w programowaniu)

baza danych

Wyrażenie określające nazwę bazy danych, dla której DATABASEPROPERTYEX zwraca nazwane informacje o właściwości. baza danych ma typ danych nvarchar(128).

W przypadku usługi SQL Database DATABASEPROPERTYEX wymagana jest nazwa bieżącej bazy danych. Zwraca NULL on wszystkie właściwości, jeśli podano inną nazwę bazy danych.

właściwość

Wyrażenie określające nazwę właściwości bazy danych do zwrócenia. właściwość ma typ danych varchar(128) i obsługuje jedną z wartości w tej tabeli:

Uwaga / Notatka

Jeśli baza danych nie została jeszcze uruchomiona, wywołania w celu DATABASEPROPERTYEX zwrócenia NULL , jeśli DATABASEPROPERTYEX pobiera te wartości za pomocą bezpośredniego dostępu do bazy danych, zamiast pobierania z metadanych. Baza danych z ustawioną AUTO_CLOSE wartością ONlub w inny sposób w trybie offline jest zdefiniowana jako "nie uruchomiona".

Majątek Opis Zwrócona wartość
Collation

Typ danych: nvarchar(128)
Domyślna nazwa sortowania bazy danych. Nazwa sortowania. Jeśli NULLbaza danych nie jest uruchomiona.
ComparisonStyle

Typ danych: int
Styl porównania systemu Windows sortowania. Użyj następujących wartości stylu, aby utworzyć mapę bitową dla gotowej ComparisonStyle wartości:

- 1: Ignoruj wielkość liter
- 2: Ignoruj akcent
- 65536: Ignoruj kana
- 131072: Ignoruj szerokość

Na przykład wartość domyślna 196609 to wynik połączenia przypadku ignoruj, ignoruj kana i ignoruj opcje szerokości .
Zwraca styl porównania.

Zwraca 0 wszystkie sortowania binarne.
Edition

Typ danych: nvarchar(64)
Wersja bazy danych lub warstwa usługi. - General Purpose
- Business Critical
- Basic
- Standard
- Premium
- System (dla master bazy danych)
- FabricSQLDB: baza danych SQL w Microsoft Fabric
- NULL: Baza danych nie została uruchomiona.

Dotyczy to: Azure SQL Database, SQL database in Microsoft Fabric, Azure Synapse Analytics.
IsAnsiNullDefault

Typ danych: int
Baza danych jest zgodna z regułami ISO umożliwiającymi zezwalanie NULL na wartości. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsAnsiNullsEnabled

Typ danych: int
Wszystkie porównania z wynikiem nieznanym NULL . - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsAnsiPaddingEnabled

Typ danych: int
Ciągi są dopełniane tą samą długością przed porównaniem lub wstawianie. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsAnsiWarningsEnabled

Typ danych: int
Program SQL Server zgłasza błędy lub komunikaty ostrzegawcze, gdy wystąpią standardowe warunki błędu. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsArithmeticAbortEnabled

Typ danych: int
Zapytania kończą się, gdy podczas wykonywania zapytania występuje błąd przepełnienia lub dzielenia przez zero. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsAutoClose

Typ danych: int
Baza danych jest wyłączana w sposób czysty i zwalnia zasoby po zakończeniu działania ostatniego użytkownika. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsAutoCreateStatistics

Typ danych: int
Optymalizator zapytań tworzy statystyki z jedną kolumną, zgodnie z potrzebami, aby zwiększyć wydajność zapytań. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsAutoCreateStatisticsIncremental

Typ danych: int
Automatycznie tworzone statystyki pojedynczej kolumny są przyrostowe, gdy jest to możliwe. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe

Dotyczy: SQL Server 2014 (12.x) i nowsze wersje.
IsAutoShrink

Typ danych: int
Pliki bazy danych są kandydatami do automatycznego okresowego zmniejszania. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsAutoUpdateStatistics

Typ danych: int
Jeśli zapytanie używa potencjalnie nieaktualnych istniejących statystyk, optymalizator zapytań aktualizuje te statystyki. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsClone

Typ danych: int
Baza danych jest kopią tylko schematu i statystyk bazy danych użytkownika utworzonej za pomocą DBCC CLONEDATABASEpolecenia . - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe

Dotyczy: SQL Server 2014 (12.x) SP2 i nowsze wersje.
IsCloseCursorsOnCommitEnabled

Typ danych: int
Po zatwierdzeniu transakcji wszystkie otwarte kursory są zamykane. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsDatabaseSuspendedForSnapshotBackup

Typ danych: int
Baza danych jest zawieszona. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsFulltextEnabled

Typ danych: int
Baza danych jest włączona na potrzeby indeksowania pełnotekstowego i semantycznego. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe

Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

Nuta: Wartość tej właściwości nie ma teraz wpływu. Bazy danych użytkowników są zawsze włączone na potrzeby wyszukiwania pełnotekstowego. W przyszłej wersji programu SQL Server ta właściwość zostanie usunięta. Nie używaj tej właściwości w nowych pracach programistycznych i modyfikuj aplikacje, które obecnie używają tej właściwości tak szybko, jak to możliwe.
IsInStandBy

Typ danych: int
Baza danych jest w trybie online jako tylko do odczytu, z dozwolonym dziennikiem przywracania. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsLocalCursorsDefault

Typ danych: int
Deklaracje kursorów są domyślnie ustawione na LOCAL. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsMemoryOptimizedElevateToSnapshotEnabled

Typ danych: int
Dostęp do tabel zoptymalizowanych pod kątem pamięci jest uzyskiwany przy użyciu SNAPSHOT izolacji, gdy ustawienie TRANSACTION ISOLATION LEVEL sesji jest ustawione na READ COMMITTED, READ UNCOMMITTEDlub niższy poziom izolacji. - 1:Prawdziwy
- 0:Fałszywy

Dotyczy: SQL Server 2014 (12.x) i nowsze wersje.
IsMergePublished

Typ danych: int
Program SQL Server obsługuje publikację tabeli bazy danych na potrzeby replikacji seryjnej, jeśli jest zainstalowana replikacja. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsNullConcat

Typ danych: int
Operand łączenia wartości null daje wartość NULL. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsNumericRoundAbortEnabled

Typ danych: int
Błędy są generowane w przypadku utraty dokładności w wyrażeniach. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsOptimizedLockingOn

Typ danych: int
Zoptymalizowane blokowanie jest włączone dla bazy danych. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Niedostępne

Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji, Azure SQL Database, Azure SQL ManagedInstance AUTD oraz bazy danych SQL w Microsoft Fabric.
IsParameterizationForced

Typ danych: int
PARAMETERIZATION opcja bazy danych SET to FORCED. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsQuotedIdentifiersEnabled

Typ danych: int
Podwójne cudzysłów dla identyfikatorów są dozwolone. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsPublished

Typ danych: int
Jeśli replikacja jest zainstalowana, program SQL Server obsługuje publikację tabeli bazy danych na potrzeby replikacji migawki lub replikacji transakcyjnej. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsRecursiveTriggersEnabled

Typ danych: int
Rekursywne wyzwalacze są włączone. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsSubscribed

Typ danych: int
Baza danych jest subskrybowana do publikacji. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsSyncWithBackup

Typ danych: int
Baza danych jest opublikowaną bazą danych lub bazą danych dystrybucji i obsługuje przywracanie, które nie zakłóca replikacji transakcyjnej. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsTornPageDetectionEnabled

Typ danych: int
Aparat bazy danych programu SQL Server wykrywa niekompletne operacje we/wy spowodowane awariami zasilania lub innymi awariami systemu. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe
IsVerifiedClone

Typ danych: int
Baza danych jest schematem i statystyką — tylko kopia bazy danych użytkownika utworzona WITH VERIFY_CLONEDB przy użyciu opcji DBCC CLONEDATABASE. - 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe

Dotyczy: SQL Server 2016 (13.x) SP2 i nowsze wersje.
IsXTPSupported

Typ danych: int
Wskazuje, czy baza danych obsługuje In-Memory OLTP. Na przykład tworzenie i używanie tabel zoptymalizowanych pod kątem pamięci oraz natywnie skompilowanych modułów.

Specyficzne dla programu SQL Server:

IsXTPSupported jest niezależny od istnienia dowolnej MEMORY_OPTIMIZED_DATA grupy plików, która jest wymagana do tworzenia In-Memory obiektów OLTP.
- 1:Prawdziwy
- 0:Fałszywy
- NULL: Nieprawidłowe dane wejściowe, błąd lub nie dotyczy

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje oraz Azure SQL Database.
LastGoodCheckDbTime

Typ danych: data/godzina
Data i godzina ostatniego pomyślnego uruchomienia DBCC CHECKDB w określonej bazie danych. Jeśli DBCC CHECKDB nie uruchomiono bazy danych, 1900-01-01 00:00:00.000 zwracana jest wartość . W przypadku baz danych, które są częścią grupy dostępności, LastGoodCheckDbTime zwraca datę i godzinę ostatniego pomyślnego uruchomienia DBCC CHECKDB repliki podstawowej, niezależnie od tego, z której repliki uruchamiasz polecenie. NULL: Nieprawidłowe dane wejściowe

Dotyczy do: SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) i nowszych wersji, Azure SQL Database oraz bazy danych SQL w Microsoft Fabric.
LCID

Typ danych: int
Identyfikator ustawień regionalnych systemu Windows sortowania (LCID). Wartość LCID (w formacie dziesiętny).
MaxSizeInBytes

Typ danych: bigint
Maksymalny rozmiar bazy danych w bajtach. - Usługi Azure SQL Database i Azure Synapse Analytics: wartość jest oparta na slo, chyba że zakupiono dodatkowy magazyn.

- Rdzeń wirtualny: wartość jest wyrażona w rozmiarze 1 GB do maksymalnego rozmiaru.

- NULL: Baza danych nie została uruchomiona

Dotyczy to: Azure SQL Database, SQL database w Microsoft Fabric oraz Azure Synapse Analytics.
Recovery

Typ danych: nvarchar(128)
Model odzyskiwania bazy danych. - FULL: Model pełnego odzyskiwania
- BULK_LOGGED: Model rejestrowany zbiorczo
- SIMPLE: Prosty model odzyskiwania
ServiceObjective

Typ danych: nvarchar(32)
Opisuje poziom wydajności bazy danych w SQL Database, SQL w Microsoft Fabric lub Azure Synapse Analytics. Jedna z następujących wartości:

- NULL: baza danych nie została uruchomiona
- Shared (dla wersji Web/Business)
- Basic
- S0
- S1
- S2
- S3
- P1
- P2
- P3
- ElasticPool
- System (dla master bazy danych)
- FabricSQLDB: baza danych SQL w Microsoft Fabric
ServiceObjectiveId

Typ danych: uniqueidentifier
Identyfikator celu usługi w usłudze SQL Database. Identyfikator celu usługi.
SQLSortOrder

Typ danych: tinyint
Identyfikator kolejności sortowania programu SQL Server obsługiwany we wcześniejszych wersjach programu SQL Server. - 0: Baza danych używa sortowania systemu Windows

- >0: IDENTYFIKATOR kolejności sortowania programu SQL Server

- NULL: Nieprawidłowe dane wejściowe lub baza danych nie została uruchomiona
Status

Typ danych: nvarchar(128)
Stan bazy danych. ONLINE: Baza danych jest dostępna dla zapytań.

Nuta: Funkcja może zwrócić stan ONLINE , gdy baza danych zostanie otwarta i nie została jeszcze odzyskana. Aby określić, czy ONLINE baza danych może akceptować połączenia, wykonaj zapytanie dotyczące Collation właściwości DATABASEPROPERTYEX. Baza ONLINE danych może akceptować połączenia, gdy sortowanie bazy danych zwraca wartość inną niż null. W przypadku zawsze włączonych baz danych wykonaj zapytanie dotyczące database_state kolumn lub database_state_desc .sys.dm_hadr_database_replica_states

- OFFLINE: Baza danych została jawnie przełączona w tryb offline.

- RESTORING: rozpoczęto przywracanie bazy danych.

- RECOVERING: Odzyskiwanie bazy danych zostało uruchomione, a baza danych nie jest jeszcze gotowa do obsługi zapytań.

- SUSPECT: Baza danych nie odzyskała.

- EMERGENCY: Baza danych jest w stanie awaryjnym tylko do odczytu. Dostęp jest ograniczony do członków administratora systemu
Updateability

Typ danych: nvarchar(128)
Wskazuje, czy dane można modyfikować. READ_ONLY: Baza danych obsługuje odczyty danych, ale nie modyfikacje danych.

- READ_WRITE: Baza danych obsługuje odczyty i modyfikacje danych.
UserAccess

Typ danych: nvarchar(128)
Wskazuje, którzy użytkownicy mogą uzyskiwać dostęp do bazy danych. SINGLE_USER: tylko jeden użytkownik db_owner, dbcreator lub sysadmin jednocześnie

- RESTRICTED_USER: Tylko członkowie ról db_owner, dbcreator lub sysadmin

- MULTI_USER: Wszyscy użytkownicy
Version

Typ danych: int
Wewnętrzny numer wersji kodu programu SQL Server, za pomocą którego utworzono bazę danych. Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. — Numer wersji: baza danych jest otwarta.

- NULL: Baza danych nie została uruchomiona.
ReplicaID

Typ danych: nvarchar(128)
Identyfikator repliki połączonej bazy danych/repliki w hiperskali. Zwraca tylko identyfikator repliki połączonej bazy danych/repliki w warstwie Hiperskala. Aby dowiedzieć się więcej na temat typów replik, zobacz Repliki pomocnicze w warstwie Hiperskala.

- NULL: Nie jest to baza danych w warstwie Hiperskala lub baza danych nie jest uruchomiona.

Dotyczy: Hiperskala usługi Azure SQL Database.

Typy zwracane

sql_variant

Wyjątki

Zwraca błąd NULL lub jeśli obiekt wywołujący nie ma uprawnień do wyświetlania obiektu.

W programie SQL Server użytkownik może wyświetlać tylko metadane zabezpieczanych, które użytkownik jest właścicielem lub którym udzielono użytkownikowi uprawnień. Ta reguła oznacza, że wbudowane funkcje emitujące metadane, takie jak OBJECT_ID mogą zwracać NULL , jeśli użytkownik nie ma uprawnień do obiektu. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.

Uwagi

DATABASEPROPERTYEX Zwraca tylko jedno ustawienie właściwości jednocześnie. Aby wyświetlić wiele ustawień właściwości, użyj widoku katalogu sys.databases .

Przykłady

Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.

Odp. Pobieranie stanu opcji bazy danych AUTO_SHRINK

Ten przykład zwraca stan AUTO_SHRINK opcji bazy danych dla AdventureWorks bazy danych.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');

Oto zestaw wyników. Oznacza to, że AUTO_SHRINK jest wyłączone.

0

B. Pobieranie sortowania domyślnego dla bazy danych

Ten przykład zwraca kilka atrybutów AdventureWorks bazy danych.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
       DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
       DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
       DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes;

Oto zestaw wyników.

Collation                     Edition        ServiceObjective  MaxSizeInBytes
----------------------------  -------------  ----------------  --------------
SQL_Latin1_General_CP1_CI_AS  DataWarehouse  DW1000            5368709120

C. Użyj elementu DATABASEPROPERTYEX, aby zweryfikować połączenie z repliką

Korzystając z funkcji skalowania w poziomie usługi Azure SQL Database, możesz sprawdzić, czy masz połączenie z repliką tylko do odczytu, czy nie, uruchamiając następujące zapytanie w kontekście bazy danych. Jest zwracany READ_ONLY po nawiązaniu połączenia z repliką tylko do odczytu. W ten sposób można również określić, kiedy zapytanie jest uruchomione w repliki tylko do odczytu.

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');