Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir veritabanını bir sunucuya bağlar.
Önemli
Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine kullanmanızı CREATE DATABASE <database_name> FOR ATTACH öneririz. Daha fazla bilgi için bkz . CREATE DATABASE. Bir veya daha fazlası yeni bir konuma sahip olduğunda birden fazla log dosyasını yeniden oluşturmak için CREATE DATABASE <database_name> FOR ATTACH_REBUILD_LOG.
Bilinmeyen veya güvenilmeyen kaynaklardan veri tabanları eklemeyin veya geri yüklemeyin. Bu tür veritabanları, istenmeyen Transact-SQL kodu yürütebilecek veya şemayı veya fiziksel veritabanı yapısını değiştirerek hatalara neden olabilecek kötü amaçlı kod içerebilir. Bilinmeyen veya güvenilmeyen bir kaynaktan veritabanı kullanmadan önce, veritabanında üretim dışı bir sunucuda DBCC CHECKDB'yi çalıştırın ve ayrıca veritabanında saklı yordamlar veya diğer kullanıcı tanımlı kodlar gibi kodu inceleyin.
Sözdizimi
sp_attach_db
[ @dbname = ] N'dbname'
, [ { @filename1 ... @filename16 } = ] { N'*filename1*' ... N'*filename16*' }
[ ; ]
Arguments
[ @dbname = ] N'dbname'
Sunucuya bağlanacak veritabanının adı. @dbnamesysname'dir, varsayılan yoktur.
[ { @filename1 ... @filename16 } = ] { N'filename1' ... N'filename16' }
Bir veritabanı dosyasının fiziksel adı, yol dahil. Bu parametre nvarchar(260)'dır ve varsayılan olarak .NULL 16 dosya adı belirleyebilirsiniz. Parametre isimleri @filename1'tan başlar ve @filename16'ye kadar artırılır. Dosya isim listesi en azından birincil dosyayı (.mdf) içermelidir. Ana dosya, veritabanındaki diğer dosyalara işaret eden sistem tablolarını içerir. Liste, veritabanı ayrıldıktan sonra taşınan dosyaları da içermelidir.
Bu parametre, ifadenin CREATE DATABASE parametresine eşlenirFILENAME. Daha fazla bilgi için bkz . CREATE DATABASE.
Uyarı
Tam metin katalog dosyaları içeren SQL Server 2005 (9.x) veritabanını daha yeni bir SQL Server sürümüne eklediğinizde, katalog dosyaları önceki konumlarından ve diğer veritabanı dosyalarıyla birlikte, SQL Server 2005 (9.x) ile aynı şekilde eklenir. Daha fazla bilgi için Upgrade Full-Text Search bölümüne bakınız.
Dönüş kodu değerleri
0 (başarı) veya 1 (başarısızlık).
Sonuç kümesi
Yok.
Açıklamalar
Saklanan prosedür, sp_attach_db yalnızca daha önce veritabanı sunucusundan ayrılmış veritabanlarında açık sp_detach_db bir işlem kullanılarak veya kopyalanmış veritabanlarında yürütülmelidir. 16'dan fazla dosya belirtmeniz gerekiyorsa, CREATE DATABASE <database_name> FOR ATTACH veya CREATE DATABASE <database_name> FOR_ATTACH_REBUILD_LOGkullanın. Daha fazla bilgi için bkz . CREATE DATABASE.
Herhangi bir belirtilmemiş dosyanın son bilinen konumunda olduğu varsayılır. Farklı bir konumda dosya kullanmak için yeni konumu belirtmeniz gerekir.
SQL Server'ın daha yeni bir sürümü tarafından oluşturulan bir veritabanı önceki sürümlere eklenemez.
Uyarı
Bir veritabanı anlık görüntüsü ayrılamaz veya eklenebilir.
Kopan bir veritabanı eklediğinizde, koplanmış değil, kopyalanmış bir veritabanı eklerken aşağıdaki koşulları göz önünde bulundurun:
Veritabanını orijinal veritabanıyla aynı sunucu örneği ve sürümüne eklerseniz, başka adımlar gerekmez.
Veritabanını aynı sunucu örneğine ekli ancak yükseltilmiş bir sürüme sahipseniz, ekleme işlemi tamamlandıktan sonra çoğaltmayı yükseltmek için sp_vupgrade_replication yürütmeniz gerekir.
Veritabanını sürümden bağımsız olarak farklı bir sunucu örneğine eklerseniz, ekleme işlemi tamamlandıktan sonra çoğaltmayı kaldırmak için sp_removedbreplication yürütmeniz gerekir.
Bir veritabanı ilk kez yeni bir SQL Server örneğine bağlandığında veya geri yüklendiğinde, veritabanı ana anahtarının (DMK) bir kopyası - hizmet master anahtarı (SMK) tarafından şifrelenmiş - henüz sunucuda depolanmaz. DMK'yı şifre çözmek için bu OPEN MASTER KEY ifadeyi kullanmalısınız. DMK şifresi çözüldükten sonra, gelecekte otomatik şifre çözmeyi etkinleştirme seçeneğiniz vardır; ALTER MASTER KEY REGENERATE bu ifade sunucuya SMK ile şifrelenmiş DMK'nın bir kopyasını sağlar. Bir veritabanı önceki sürümden yükseltildiğinde, DMK daha yeni AES algoritmasını kullanmak üzere yeniden oluşturulmalıdır. DMK'yi yeniden oluşturma hakkında daha fazla bilgi için bkz. ALTER MASTER KEY
Permissions
Veritabanı eklendiğinde izinlerin nasıl işlendiğine dair bilgi için bkz. DATABASE OLUŞTUR.
Örnekler
Aşağıdaki örnek, dosyaları mevcut AdventureWorks2025 sunucuya ekler.
EXECUTE sp_attach_db
@dbname = N'AdventureWorks2022',
@filename1 = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_Data.mdf',
@filename2 = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_log.ldf';