sp_attach_single_file_db (T-SQL)

Berlaku untuk:SQL Server

Melampirkan database yang hanya satu file data ke server saat ini. sp_attach_single_file_db tidak dapat digunakan dengan beberapa file data.

Penting

Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Kami sarankan Anda menggunakan CREATE DATABASE <database_name> FOR ATTACH sebagai gantinya. Untuk mengetahui informasi selengkapnya, lihat CREATE DATABASE. Jangan gunakan prosedur ini pada database yang direplikasi.

Jangan lampirkan atau pulihkan database dari sumber yang tidak diketahui atau tidak tepercaya. Database tersebut dapat berisi kode berbahaya yang mungkin menjalankan kode Transact-SQL yang tidak diinginkan atau menyebabkan kesalahan dengan memodifikasi skema atau struktur database fisik. Sebelum Anda menggunakan database dari sumber yang tidak diketahui atau tidak tepercaya, jalankan DBCC CHECKDB pada database di server nonproduksi dan juga periksa kode, seperti prosedur tersimpan atau kode lain yang ditentukan pengguna, dalam database.

Konvensi sintaks transact-SQL

Sintaks

sp_attach_single_file_db
    [ @dbname = ] N'dbname'
    , [ @physname = ] N'physname'
[ ; ]

Argumen

[ @dbname = ] N'dbname'

Nama database yang akan dilampirkan ke server. @dbname adalah sysname, tanpa default.

[ @physname = ] N'physname'

Nama fisik, termasuk jalur, file database. @physname adalah nvarchar(260), tanpa default.

Argumen ini memetakan ke FILENAME parameter CREATE DATABASE pernyataan. Untuk mengetahui informasi selengkapnya, lihat CREATE DATABASE.

Catatan

Saat Anda melampirkan database SQL Server 2005 (9.x) yang berisi file katalog teks lengkap ke instans server SQL Server yang lebih baru, file katalog dilampirkan dari lokasi sebelumnya bersama dengan file database lainnya, sama seperti di SQL Server 2005 (9.x). Untuk informasi selengkapnya, lihat Meningkatkan Pencarian Teks Lengkap.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

Tidak ada.

Keterangan

Gunakan sp_attach_single_file_db hanya pada database yang sebelumnya dilepas dari server dengan menggunakan operasi eksplisit sp_detach_db atau pada database yang disalin.

sp_attach_single_file_db hanya berfungsi pada database yang memiliki satu file log. Saat sp_attach_single_file_db melampirkan database ke server, database membangun file log baru. Jika database bersifat baca-saja, file log dibangun di lokasi sebelumnya.

Catatan

Rekam jepret database tidak dapat dilepas atau dilampirkan.

Jangan gunakan prosedur ini pada database yang direplikasi.

Izin

Untuk informasi tentang bagaimana izin ditangani saat database dilampirkan, lihat MEMBUAT DATABASE.

Contoh

Contoh berikut mencopot AdventureWorks2022 lalu melampirkan satu file dari AdventureWorks2022 ke server saat ini.

USE master;
GO
EXEC sp_detach_db @dbname = 'AdventureWorks2022';
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2022',
    @physname =
N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_Data.mdf';