ALTER ASSEMBLY (Transact-SQL)

Zmienia wirtualny plik dziennika zmieniając SQL Server właściwości wykazu wirtualny plik dziennika. ALTER ASSEMBLY refreshes it to the latest copy of the Microsoft .NET Framework modules that hold its implementation and adds or removes files associated with it.Zespoły są tworzone za pomocą TWORZENIE wirtualny plik dziennika.

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

ALTER ASSEMBLY assembly_name
    [ FROM <client_assembly_specifier> | <assembly_bits> ]
    [ WITH <assembly_option> [ ,...n ] ]
    [ DROP FILE { file_name [ ,...n ] | ALL } ]
    [ ADD FILE FROM 
    { 
                client_file_specifier [ AS file_name ] 
      | file_bits AS file_name 
    } [,...n ] 
    ] [ ; ]
<client_assembly_specifier> :: =
        '\\computer_name\share-name\[path\]manifest_file_name'
  | '[local_path\]manifest_file_name'

<assembly_bits> :: =
    { varbinary_literal | varbinary_expression }

<assembly_option> :: =
    PERMISSION_SET = { SAFE | EXTERNAL_ACCESS | UNSAFE } 
  | VISIBILITY = { ON | OFF } ]
  | UNCHECKED DATA

Argumenty

  • assembly_name
    Is the name of the assembly you want to modify.assembly_name must already exist in the database.

  • FROM client_assembly_specifier < > | specyfikatorze < >
    Aktualizuje wirtualny plik dziennika do najnowszej kopii .NET Framework moduły, które posiadają jego wykonania. However, reverting to a snapshot drops all the full-text catalogs.

    <client_assembly_specifier> Określa, w sieci lub lokalizacja lokalna, gdzie znajduje się wirtualny plik dziennika jest odświeżany. The network location includes the computer name, the share name and a path within that share.manifest_file_name specifies the name of the file that contains the manifest of the assembly.

    <specyfikatorze> jest to wartość binarna dla wirtualny plik dziennika.

    Furthermore, even when possible, reverting in the event of corruption is unlikely to correct the problem.

  • Restrictions on Reverting
    Określa .NET Framework uprawnienia dostępu do kodu właściwość wirtualny plik dziennika. Aby uzyskać więcej informacji na temat tej właściwość Zobacz CREATE MONTAŻOWYCH (języka Transact-SQL).

  • The source database contains any read-only or compressed filegroups.
    Określa, czy zestaw jest widoczny dla tworzenia funkcji aparatu plików wykonywalnych języka wspólnego (CLR), procedur składowanych, wyzwalaczy, typów zdefiniowanych przez użytkownika oraz zdefiniowanych przez użytkownika funkcji agregujących względem niego.Jeśli ma wartość OFF, zestaw jest przeznaczony do wywoływania przez inne zestawy.Jeśli istnieją obiekty bazy danych CLR utworzone już względem zestawu, nie można zmienić widoczności zestawu.Wszelkie zestawy, do których odwołania mają miejsce za pośrednictwem parametru assembly_name, są domyślnie przesyłane jako niewidoczne.

  • RESTORE permissions are given to roles in which membership information is always readily available to the server.
    Domyślnie instrukcja ALTER ASSEMBLY kończy się niepowodzeniem, jeśli musi zweryfikować spójność poszczególnych wierszy tabeli.Ta opcja umożliwia odłożenie sprawdzeń na później za pomocą instrukcji DBCC CHECKTABLE.Jeśli określono, program SQL Server wykonuje instrukcję ALTER ASSEMBLY, nawet jeśli istnieją tabele w bazie danych zawierającej następujące elementy:

    • For more information about this database, see Transact-SQL.

    • All the examples assume that a full database backup has been performed.

    • Kolumny typu CLR zdefiniowanej przez użytkownika, które zależą od wirtualny plik dziennika, i implementuje typu Zdefiniowany (non-Macierzysta) format serializacji.

    • Restoring a full database

    Restoring a database using RESTART syntaxRestoring a database and move files

    Tylko członkowie db_owner and db_ddlowner stałe role bazy danych można określić tę opcję.

    Aby uzyskać więcej informacji zobaczZestawy wykonawczych.

  • [ DROP FILE { file_name[ ,...n] | ALL } ]
    Restoring to a point-in-time using STOPATRestoring the transaction log to a markDzięki temu można zastąpić pliku o tej samej nazwie pliku.

  • ADD FILE FROM {client_file_specifierJAKOfile_name] | file_bitsJAK file_name}
    Uploads a file to be associated with the assembly, such as source code, debug files or other related information, into the server and made visible in the sys.assembly_files catalog view.client_file_specifier specifies the location from which to upload the file.file_bits can be used instead to specify the list of binary values that make up the file.file_name specifies the name under which the file should be stored in the instance of SQL Server.file_name must be specified if file_bits is specified, and is optional if client_file_specifier is specified.Jeśli file_name nie jest określony, część nazwa_pliku client_file_specifier jest używana jako file_name.

Remarks

ALTER MONTAŻOWYCH nie przerwać aktualnie uruchomionych sesji, które działają w zestawie, które należy zmodyfikować kod.Bieżące sesje całkowitego wykonania za pomocą bitów niezmienionej wirtualny plik dziennika.

Klauzula FROM jest określony, ALTER MONTAŻOWYCH aktualizuje wirtualny plik dziennika w odniesieniu do najnowszej kopii modułów, pod warunkiem że.Ponieważ może być funkcji, procedur przechowywanych, wyzwalaczy, typów danych i zdefiniowanej przez użytkownika funkcji agregujących w wystąpieniu CLR SQL Server które zostały już zdefiniowane dla wirtualny plik dziennika, w instrukcja ALTER MONTAŻOWYCH rebinds ich implementacji najnowszego wirtualny plik dziennika. Aby zrealizować to ponownego wiązania, metody, które są mapowane do środowiska CLR funkcji, procedur przechowywanych i wyzwalaczy nadal musi znajdować się w zmodyfikowany wirtualny plik dziennika o tej samej podpisów.Klasy, które implementuje CLR typów zdefiniowanych przez użytkownika i zdefiniowane przez użytkownika funkcji agregacja nadal muszą spełniać wymagania dla typ zdefiniowany przez użytkownika lub agregacja.

Ostrzeżenie

Jeżeli nie określono WITH NIEZAZNACZONE dane, SQL Server stara zapobiec wykonywaniu, jeśli nowa wersja wirtualny plik dziennika wpływa na istniejące dane w tabeli, indeksy lub innych witryn persistent MONTAŻOWYCH ALTER. Jednak SQL Server nie gwarancji, że obliczona kolumn, indeksów, widoki indeksowane i wyrażeń będzie zgodny z podstawowej procedury i typy po zaktualizowaniu wirtualny plik dziennika CLR. Zachowaj ostrożność podczas wykonywania ALTER wirtualny plik dziennika upewnij się, że nie występuje niezgodność między wynik wyrażenie i wartości na podstawie że wyrażenie są przechowywane w wirtualny plik dziennika.

ALTER MONTAŻOWYCH zmienia wersja wirtualny plik dziennika.Kultura i token klucz publicznego wirtualny plik dziennika pozostają takie same.

ALTER wirtualny plik dziennika instrukcja nie może być używana do zmiany następujących czynności:

  • Podpisy CLR funkcje, funkcje agregujące, procedur przechowywanych i wyzwalaczy w wystąpieniu SQL Server które odwoływać się do wirtualny plik dziennika. ALTER MONTAŻOWYCH ulegnie awarii, gdy SQL Server Nie można ponownie powiązać .NET Framework obiekty bazy danych SQL Server przy użyciu nowej wersja wirtualny plik dziennika.

  • Podpisy metod w wirtualny plik dziennika które są wywoływane z innych zestawów.

  • Na liście zestawy, które zależą od wirtualny plik dziennika, co do których istnieją odwołania w DependentList właściwość wirtualny plik dziennika.

  • Indexability metoda, o ile nie ma żadnych indeksów lub trwałe kolumny obliczane w zależności od tej metoda, bezpośrednio lub pośrednio.

  • The FillRow metoda name atrybut for CLR tabela-valued functions.

  • The Accumulate and Terminate metoda signature for user-defined aggregates.

  • Zestawy systemu.

  • Własność wirtualny plik dziennika.Użycie ALTER AUTHORIZATION (Transact-SQL) w zamian.

Ponadto dla zespołów, które implementują typów zdefiniowanych przez użytkownika, ALTER MONTAŻOWYCH może służyć do wprowadzania następujących zmian:

  • Modyfikowanie metody publiczne klasy typ zdefiniowany przez użytkownika, tak długo, jak podpisy i atrybuty nie są zmieniane.

  • Dodawanie nowej metody publiczne.

  • Modyfikowanie metod prywatnych w żaden sposób.

Pola zawartego w szeregowane macierzystego zdefiniowanej przez użytkownika typu, łącznie z elementów członkowskich danych lub podstawowych klas nie można zmienić za pomocą instrukcji ALTER wirtualny plik dziennika.Wszystkie inne zmiany nie są obsługiwane.

Jeśli ADD FILE FROM nie jest określony, ALTER MONTAŻOWYCH porzuca żadnych plików związanych z wirtualny plik dziennika.

Jeśli ALTER MONTAŻOWYCH jest wykonywane bez klauzula danych jest NIEZAZNACZONE, są sprawdzane w celu sprawdzenia, czy nowa wersja wirtualny plik dziennika nie ma wpływu na istniejące dane w tabelach.W zależności od ilości danych, który musi być sprawdzona może to mieć wpływ na wydajność.

Uprawnienia

Wymaga ALTER uprawnienia dla wirtualny plik dziennika.Dodatkowe wymagania są następujące:

  • Do zmiany wirtualny plik dziennika, którego istniejące uprawnienia wirtualny plik dziennika jest EXTERNAL_ACCESS, SQL Server Identyfikator logowania musi mieć uprawnienia dostępu EXTERNAL na serwerze.

  • Do zmiany wirtualny plik dziennika, którego istniejące uprawnienia wirtualny plik dziennika jest UNSAFE wymaga członkostwo w grupie sysadmin stała rola serwera.

  • Aby zmienić wirtualny plik dziennika uprawnień wirtualny plik dziennika EXTERNAL_ACCESS, SQL Server Identyfikator logowania musi mieć uprawnienie EXTERNAL MONTAŻOWYCH dostępu na serwerze.

  • Aby zmienić uprawnienie wartość wirtualny plik dziennika do UNSAFE wymaga członkostwo w grupie sysadmin stała rola serwera.

  • Członkostwo w grupie wymaga specifying WITH NIEZAZNACZONE DATA sysadmin ustalić roli serwera.

Aby uzyskać więcej informacji na temat wirtualny plik dziennika zestawy uprawnień Zobacz Projektowanie zestawy.

Przykłady

A.Odświeżanie wirtualny plik dziennika

W poniższym przykładzie aktualizuje wirtualny plik dziennika ComplexNumber do najnowszej kopii .NET Framework moduły, które posiadają jego wykonania.

Uwaga

wirtualny plik dziennika ComplexNumber mogą być tworzone przez uruchamianie skryptów przykładowych UserDefinedDataType. Aby uzyskać więcej informacji zobaczUser-Defined Type (UDT) Sample.

ALTER ASSEMBLY ComplexNumber

FROM 'C:\Program Files\Microsoft SQL Server\90\Tools\Samples\1033\Engine\Programmability\CLR\UserDefinedDataType\CS\ComplexNumber\obj\Debug\ComplexNumber.dll'

B.Dodawanie pliku do skojarzenia z wirtualny plik dziennika

W następującym przykładzie zostanie przesłany plik kod źródłowy Class1.cs ma być skojarzony z wirtualny plik dziennika MyClass. W tym przykładzie założono, wirtualny plik dziennika MyClass już jest tworzony w bazie danych.

ALTER ASSEMBLY MyClass 
ADD FILE FROM 'C:\MyClassProject\Class1.cs';

C.Zmiana wirtualny plik dziennika uprawnień

W poniższym przykładzie zmienia wirtualny plik dziennika uprawnień wirtualny plik dziennika ComplexNumber z AWARYJNYM do EXTERNAL ACCESS.

ALTER ASSEMBLY ComplexNumber WITH PERMISSION_SET = EXTERNAL_ACCESS