вопросы по копированию базы данных SQL Server - PullRequest
0 голосов

Подвопрос [2]

Копируя Resource.mdf [1], я заметил, что:
1)
Можно скопировать Resource.mdf, не останавливая экземпляр SQL Server (я прикрепил один, скопировав из запущенного экземпляра, и он работает после присоединения).

1a)
Должен ли я понимать, что это как общая возможность для всех баз данных только для чтения, или это только в некоторых версиях (у меня 2008 R2 на Windows XP Pro Sp3)?
1b)
Концептуально, я не могу понять, почему разработка (Dev Ed) SQL Server на изолированном рабочем столе / рабочей группе Windows (в моем случае - XP Pro Sp3) должна быть остановлена, чтобы скопировать пользовательскую неиспользуемую (например, образец базы данных ) база данных.

1c)
Когда нужно копировать .LDF вместе с файлом .MDF, а при копировании .LDF можно пропустить?
Почему в базе данных только для чтения обязательно (журнал транзакций? Как я понял) файл LDF?

2)
Resource.mdf (в моем SQL Server 2008 R2 по умолчанию безымянный экземпляр, Windows XP Pro SP3) находится в

  • % ProgramFiles% \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn \

а не в

  • % ProgramFiles% \ Microsoft SQL Server \ MSSQL10.SQL2008 \ MSSQL \ Binn \ [2]

Мне любопытно. Различается ли местоположение из-за версии SQL Server, версии или версии Windows, версии?

[1]
Мой вопрос "как увидеть / скрипт определения системных представлений?"
как посмотреть / скрипт определения системных представлений?
[2]
Ответ Мартина Смита на [1]
как посмотреть / скрипт определения системных представлений?

1 Ответ

3 голосов
/ 07 октября 2010

Если в базе данных включено auto_close , то движок закроет дескриптор файла, когда база данных больше не используется.Экземпляры Express создают базы данных в режиме автоматического закрытия, и это свойство сохраняется, когда база данных подключена к экземпляру, отличному от Express.

Неправильно, что необходимо завершить работу экземпляра, чтобы скопировать файл базы данных.Все, что вам нужно сделать, это отказаться от исключительного дескриптора, который хранится в экземпляре SQL Server для файлов базы данных.Это можно сделать, просто отключив базу данных, сделав копию, а затем вернув ее в оперативный режим.(Если я правильно помню) для баз данных, которые доступны только для чтения, дескриптор, поддерживаемый SQL Server, позволяет другим процессам открывать общий дескриптор файла.Вот почему вы можете скопировать оперативную базу данных только для чтения, а msqlsystemreource доступен только для чтения в обычном режиме работы.

Другие вопросы:
1c) никогда.Всегда копируйте MDF, все NDF и LDF.Даже если есть рекомендации по копированию только MDF, игнорируйте их и копируйте также LDF.
2) базы данных ресурсов являются частью ваших двоичных файлов.Они будут в папке binn вашей установки, в том же месте, что и sqlservr.exe.Путь будет отличаться для каждого установленного экземпляра, и вы можете изменить его во время установки.

И последнее соображение: почему вы касаетесь ресурсной базы данных?Вы находитесь в мире боли, вы можете легко испортить свой экземпляр, если будете каким-либо образом манипулировать ресурсной базой данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...