Udostępnij za pośrednictwem


sp_attach_db (Transact-SQL)

Dołącza bazy danych na serwerze.

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Firma Microsoft zaleca użycie tworzenie bazy danych database_name NA dołączanie zamiast niego. Aby uzyskać więcej informacji zobacz CREATE DATABASE (Transact-SQL).

Uwaga

Aby ponownie utworzyć wiele plików dziennika, wówczas, gdy jeden lub więcej w nowe miejsce, należy użyć tworzenie bazy danych database_name DLA ATTACH_REBUILD_LOG.

Security noteSecurity Note:

Zaleca się, należy nie dołączać lub przywrócić baz danych z nieznanych lub niezaufanych źródeł.Takie bazy danych może zawierać złośliwy kod, który może być wykonać niezamierzone Transact-SQL Kod lub powodować błędy przez zmodyfikowanie schematu lub struktury fizycznej bazy danych. Aby korzystać z bazy danych z nieznanych lub niepewnych urządzenie źródłowe, uruchamianie DBCC CHECKDB w bazie danych na serwerze nonproduction i również sprawdzić kod, takie jak procedury przechowywane lub inny kod zdefiniowany przez użytkownika w bazie danych.

Topic link iconKonwencje składni języka Transact-SQL

sp_attach_db [ @dbname= ] 'dbname'
        , [ @filename1= ] 'filename_n' [ ,...16 ] 

Argumenty

  • [ @dbname= ] **'**dbnam '
    Jest nazwą bazy danych do serwera.The name must be unique.dbname is sysname, with a default of NULL.

  • [ @filename1= ] 'filename_n'
    Is the physical name, including path, of a database file.filename_n is nvarchar(260), with a default of NULL.Można określić nazwy maksymalnie 16 pliku.Początek nazwy parametrów w @ nazwa_pliku1 i przyrost do @ filename16.Na liście Nazwa pliku musi zawierać co najmniej pliku podstawowego.Główny plik zawiera tabele systemowe, które wskazują na inne pliki w bazie danych.Na liście musi również zawierać pliki, które zostały przeniesione po bazy danych został odłączony.

    Uwaga

    Argument ten jest mapowany na parametr FILENAME i tworzenie bazy danych.Aby uzyskać więcej informacji zobacz CREATE DATABASE (Transact-SQL).

    Po dołączeniu SQL Server 2005 Baza danych zawierająca pliki wykazu pełnego tekstu na SQL Server 2008 wystąpienie serwera, katalogu, pliki są dołączone z wraz z innymi plikami bazy danych, takie same, jak w poprzedniej lokalizacji SQL Server 2005. Aby uzyskać więcej informacji zobacz Full-Text Search Upgrade.

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Zestawy wyników

None

Remarks

The sp_attach_db procedura przechowywana should only be executed on databases that were previously detached from the database server by using an explicit sp_detach_db operation or on copied databases.Jeśli trzeba określić więcej niż 16 pliki, należy użyć tworzenie bazy danych database_name NA dołączanie i tworzenie bazy danych database_name FOR_ATTACH_REBUILD_LOG. Aby uzyskać więcej informacji zobacz CREATE DATABASE (Transact-SQL).

Przyjęto, że każdy nieokreślony plik w jego ostatniej znanej lokalizacji.Aby użyć pliku w innej lokalizacji, należy określić nową lokalizację.

Baza danych utworzona w nowszej wersja programu SQL Server Nie można dołączyć we wcześniejszych wersjach.

Uwaga

migawka bazy danych nie mogą być odłączone lub dołączony.

Po dołączeniu zreplikowanej bazy danych, które zostały skopiowane zamiast są odłączone, należy wziąć pod uwagę następujące kwestie:

  • Jeśli baza danych zostanie dołączony do tego samego wystąpienie serwera i wersja, co dla pierwotnej bazy danych, wymagane są nie dodatkowe czynności.

  • Jeśli baza danych zostanie dołączona do tego samego wystąpienie serwera, ale przy użyciu uaktualnionej wersja, należy wykonać sp_vupgrade_replication replikacja po wykonaniu operacji dołączania uaktualnienie zostało ukończone.

  • Po dołączeniu bazy danych do wystąpienie inny serwer, niezależnie od wersja, należy wykonać sp_removedbreplication usunąć replikacja po wykonaniu operacji dołączania zostało zakończone.

The source database must be at least version 80 (SQL Server 2000) to attach to SQL Server 2008.SQL Server 2000 or SQL Server 2005 databases that have a compatibility level less than 80 will be set to compatibility 80 when attached.

Uprawnienia

Aby uzyskać informacje na temat obsługi uprawnienia, gdy baza danych jest dołączony zobacz CREATE DATABASE (Transact-SQL).

Przykłady

W poniższym przykładzie dołącza pliki AdventureWorks do bieżącego serwera.

EXEC sp_attach_db @dbname = N'AdventureWorks', 
    @filename1 = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\AdventureWorks_Data.mdf', 
    @filename2 = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\AdventureWorks_log.ldf';