База данных Resource
База данных Resource, доступная только для чтения, содержит все системные объекты, входящие в SQL Server. Системные объекты SQL Server, такие как sys.objects, физически хранятся в базе данных Resource, а логически отображаются в схеме sys для каждой базы данных. База данных Resource не содержит пользовательских данных или метаданных.
База данных Resource облегчает и ускоряет обновление до новой версии SQL Server. В ранних версиях SQL Server при обновлении версии требовалось удаление и создание системных объектов. Поскольку файл базы данных Resource содержит все системные объекты, обновление производится простым копированием одного файла базы данных Resource на локальный сервер.
Физические свойства базы данных Resource
Физические файлы базы данных Resource имеют имена mssqlsystemresource.mdf и mssqlsystemresource.ldf. Эти файлы расположены в папке «<диск>:\Program Files\Microsoft SQL Server\MSSQL10_50.<имя_экземпляра>\MSSQL\Binn\». С каждым экземпляром SQL Server может быть связан один и только один файл mssqlsystemresource.mdf; кроме того, экземпляры не могут использовать этот файл совместно.
Резервное копирование и восстановление базы данных Resource
Резервное копирование базы данных Resource средствами SQL Server не предусмотрено. Пользователь может создать резервную копию файла mssqlsystemresource.mdf или диска с этим файлом так, будто это двоичный файл (EXE), а не файл базы данных; однако восстановить такие резервные копии с помощью SQL Server не удастся. Восстановить резервную копию файла mssqlsystemresource.mdf можно будет только вручную; при этом следует соблюдать осторожность, чтобы не перезаписать текущую базу данных Resource устаревшей или потенциально небезопасной версией.
Важно! |
---|
После восстановления резервной копии файла mssqlsystemresource.mdf необходимо применить к ней все последующие обновления. |
Доступ к базе данных Resource
База данных Resource может изменяться только специалистом службы поддержки пользователей Майкрософт либо под его руководством. База данных Resource всегда имеет идентификатор 32767. Другими важными значениями, связанными с базой данных Resource, являются номер версии и время последнего обновления базы данных.
Чтобы определить номер версии базы данных Resource**, используйте следующую инструкцию**:
SELECT SERVERPROPERTY('ResourceVersion');
GO
Чтобы определить, когда в последний раз обновлялась база данных Resource**, введите:**
SELECT SERVERPROPERTY('ResourceLastUpdateDateTime');
GO
Для доступа к определениям SQL для системных объектов используется функция OBJECT_DEFINITION:
SELECT OBJECT_DEFINITION(OBJECT_ID('sys.objects'));
GO