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.
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';