Distribuera CLR-databasobjekt
gäller för:SQL Server
Distribution är den process genom vilken du distribuerar ett färdigt program eller en färdig modul som ska installeras och köras på en annan dator. Med Visual Studio kan du utveckla CLR-databasobjekt (Common Language Runtime) och distribuera dem till en testserver. Alternativt kan de hanterade databasobjekten också kompileras med .NET Framework-omdistributionsfilerna i stället för Visual Studio. När sammansättningarna som innehåller CLR-databasobjekten har kompilerats kan de sedan distribueras till en testserver med hjälp av Visual Studio- eller Transact-SQL-instruktioner.
När CLR-metoderna har testats och verifierats på testservern kan de distribueras till produktionsservrar med hjälp av ett distributionsskript. Distributionsskriptet kan genereras manuellt eller med hjälp av SQL Server Management Studio (beskrivs senare i den här artikeln).
CLR-integreringsfunktionen är inaktiverad som standard i SQL Server och måste vara aktiverad för att kunna använda CLR-sammansättningar. Mer information finns i Aktivera CLR-integrering.
Distribuera sammansättningen till testservern
Med Visual Studio kan du utveckla CLR-funktioner, procedurer, utlösare, användardefinierade typer (UDT) eller användardefinierade aggregeringar (UDA) och distribuera dem till en testserver. Dessa hanterade databasobjekt kan också kompileras med kommandoradskompilatorerna, till exempel csc.exe och vbc.exe, som ingår i .NET Framework-omdistributionsfilerna. Visual Studio Integrated Development Environment krävs inte för att utveckla hanterade databasobjekt för SQL Server.
Kontrollera att alla kompilatorfel och varningar är lösta. Sammansättningarna som innehåller CLR-rutinerna kan sedan registreras i en SQL Server-databas med visual studio- eller Transact-SQL-instruktioner.
Not
TCP/IP-nätverksprotokollet måste vara aktiverat på SQL Server-instansen för att kunna använda Visual Studio för fjärrutveckling, felsökning och utveckling. Mer information om hur du aktiverar TCP/IP-protokoll på servern finns i Konfigurera klientprotokoll.
Distribuera sammansättningen med visual studio
Skapa projektet genom att välja Skapa <projektnamn> från menyn Skapa.
Lös alla byggfel och varningar innan du distribuerar sammansättningen till testservern.
Välj Distribuera på menyn Build. Sammansättningen registreras sedan i SQL Server-instansen och databasen som angavs när SQL Server-projektet först skapades i Visual Studio.
Distribuera sammansättningen med hjälp av Transact-SQL
Kompilera sammansättningen från källfilen med hjälp av kommandoradskompilatorerna som ingår i .NET Framework.
För C#-källfiler:
csc /target:library C:\helloworld.cs
För Visual Basic-källfiler:
vbc /target:library C:\helloworld.vb
Dessa kommandon startar kompilatorn C# eller Visual Basic med hjälp av alternativet /target
för att ange hur du skapar en biblioteks-DLL.
Lös alla byggfel och varningar innan du distribuerar sammansättningen till testservern.
Öppna SQL Server Management Studio på testservern. Skapa en ny fråga som är ansluten till en lämplig testdatabas (till exempel
AdventureWorks2022
).Skapa sammansättningen på servern genom att lägga till följande Transact-SQL i frågan.
CREATE ASSEMBLY HelloWorld from 'c:\helloworld.dll' WITH PERMISSION_SET = SAFE;
Proceduren, funktionen, aggregerad, användardefinierad typ eller utlösare måste sedan skapas i instansen av SQL Server. Om
HelloWorld
-sammansättningen innehåller en metod med namnetHelloWorld
i klassenProcedures
kan följande Transact-SQL läggas till i frågan för att skapa en procedur med namnethello
i SQL Server.CREATE PROCEDURE hello AS EXTERNAL NAME HelloWorld.Procedures.HelloWorld;
Mer information om hur du skapar de olika typerna av hanterade databasobjekt i SQL Server finns i:
- ANVÄNDARDEFINIERADE CLR-funktioner
- CLR-användardefinierade aggregeringar
- CLR-användardefinierade typer
- CLR-lagrade procedurer
- CLR utlöser
Distribuera sammansättningen till produktionsservrar
När CLR-databasobjekten har testats och verifierats på testservern kan de distribueras till produktionsservrar. Mer information om felsökning av hanterade databasobjekt finns i Så här felsöker du CLR-databasobjekt.
Distributionen av hanterade databasobjekt liknar den för vanliga databasobjekt (tabeller, Transact-SQL rutiner och så vidare). Sammansättningarna som innehåller CLR-databasobjekten kan distribueras till andra servrar med hjälp av ett distributionsskript. Distributionsskriptet kan skapas med hjälp av Generera skript funktioner i Management Studio. Distributionsskriptet kan också skapas manuellt eller skapas med hjälp av Generera skript och ändras manuellt. När distributionsskriptet har skapats kan det köras på andra instanser av SQL Server för att distribuera de hanterade databasobjekten.
Generera ett distributionsskript med hjälp av generera skript
Öppna Management Studio och anslut till SQL Server-instansen där den hanterade sammansättningen eller databasobjektet som ska distribueras registreras.
I Object Explorerexpanderar du <-servernamnet> och Databaser träd. Högerklicka på databasen där det hanterade databasobjektet är registrerat, välj Uppgifteroch välj sedan Generera skript. Skriptguiden öppnas.
Välj databasen i listrutan och välj Nästa.
I fönstret Välj skriptalternativ väljer du Nästaeller ändrar alternativen och väljer sedan Nästa.
I fönstret Välj objekttyper väljer du vilken typ av databasobjekt som ska distribueras. Välj Nästa.
För varje objekttyp som har valts i fönstret Välj objekttyper visas en Välj <typ> fönstret. I det här fönstret kan du välja bland alla instanser av den databasobjekttypen som registrerats i den angivna databasen. Markera ett eller flera objekt och välj Nästa.
Fönstret utdataalternativ visas när alla önskade databasobjekttyper har valts. Välj Skript för att fila och ange en filsökväg för skriptet. Välj Nästa. Granska dina val och välj Slutför. Distributionsskriptet sparas i den angivna filsökvägen.
Skript efter distribution
Du kan köra ett skript efter distributionen.
Om du vill lägga till ett skript efter distributionen lägger du till en fil med namnet postdeployscript.sql i Visual Studio-projektkatalogen. Högerklicka till exempel på projektet i Solution Explorer och välj Lägg till befintligt objekt. Lägg till filen i projektets rot i stället för i mappen Test Scripts.
När du väljer distribuera kör Visual Studio det här skriptet efter distributionen av projektet.