Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:SQL Server
Присоединяет базу данных, которая является только одним файлом данных на текущем сервере.
sp_attach_single_file_db нельзя использовать с несколькими файлами данных.
Внимание
Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого рекомендуется использовать CREATE DATABASE <database_name> FOR ATTACH . Дополнительные сведения см. в статье CREATE DATABASE (SQL Server Transact-SQL). Не используйте эту процедуру в реплицированной базе данных.
Не присоединяйте или не восстанавливайте базы данных из неизвестных или ненадежных источников. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL или появление ошибок из-за изменения схемы или физической структуры базы данных. Перед тем как использовать базу данных, полученную из неизвестного или ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_attach_single_file_db
[ @dbname = ] N'dbname'
, [ @physname = ] N'physname'
[ ; ]
Аргументы
[ @dbname = ] N'dbname'
Имя базы данных, присоединенной к серверу. @dbname — sysname, без значения по умолчанию.
[ @physname = ] N'physname'
Физическое имя, включая путь к файлу базы данных. @physname — nvarchar(260), без значения по умолчанию.
Этот аргумент сопоставляется с параметром FILENAME инструкции CREATE DATABASE . Дополнительные сведения см. в статье CREATE DATABASE (SQL Server Transact-SQL).
Примечание.
При присоединении базы данных SQL Server 2005 (9.x), содержащей файлы полнотекстового каталога в более новом экземпляре SQL Server, файлы каталога присоединяются из предыдущего расположения вместе с другими файлами базы данных, так же, как и в SQL Server 2005 (9.x). Дополнительные сведения см. в разделе Обновление полнотекстового поиска.
Значения кода возврата
0 (успешно) или 1 (сбой).
Результирующий набор
Нет.
Замечания
Используйте sp_attach_single_file_db только базы данных, которые ранее были отключены от сервера с помощью явной sp_detach_db операции или скопированных баз данных.
sp_attach_single_file_db работает только в базах данных с одним файлом журнала. При sp_attach_single_file_db присоединении базы данных к серверу он создает новый файл журнала. Если база данных находится в режиме «только для чтения», файл журнала будет создан в ее предыдущем местоположении.
Примечание.
Моментальный снимок базы данных не может быть отключен или присоединен.
Не используйте эту процедуру в реплицированной базе данных.
Разрешения
Сведения о том, как обрабатываются разрешения при присоединении базы данных, см. в статье CREATE DATABASE.
Примеры
Следующий пример отсоединяет AdventureWorks2025 и затем присоединяет один файл из AdventureWorks2025 к текущему серверу.
USE master;
GO
EXECUTE sp_detach_db @dbname = 'AdventureWorks2022';
EXECUTE sp_attach_single_file_db
@dbname = 'AdventureWorks2022',
@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_Data.mdf';