none
Bereitstellung einer CLR-Assembly auf dem SQL Server 2008R2 RRS feed

  • Frage

  • Hallo zusammen,

    ich beschäftige mich im Moment mit der Erstellung von CLR-Assemblys in VB.NET zur Bereitstellung auf dem SQL Server 2008R2.

    Das Erstellen der Assembly klappt anstandslos, genauso wie das erstmalige Bereitstellen auf dem SQL Server mittels F5.

    Beim erneuten Drücken der F5-Taste wird mir in der Statuszeile von Visual Studio die Benachrichtigung "Bereitstellen erfolgreich" angezeigt, jedoch erhalte ich folgende Fehlermeldung:

    Diese Nachricht verwirrt mich. Zum einen: weshalb erscheint sie nicht gleich beim ersten Mal?

    Zweitens: meine Suche im Internet ergab, dass der "Debugger" (ich nehme an, hier ist der Benutzer gemeint, den ich in der Verbindungszeichenfolge für den SQL Server in den Projekt-Eigenschaften festgelegt habe) in der Gruppe "sysadmin" sein muss - in dieser Meldung oben steht aber das genaue Gegenteil.

    Weitere Infos:

    - die Windows Firewall habe ich konfiguriert oder sogar auch abgeschaltet

    - ich befinde mich in einem Home Office und bin über eine VPN-Leitung mit dem Firma-Netzwerk verbunden (falls das eine Rolle spielt).

    Ich hoffe, diese Angaben reichen aus, ansonsten fragt bitte - ich weiß nicht, welche Informationen noch relevant sind.

    Vielen Dank schon mal.

    Michael

    Freitag, 7. November 2014 14:35

Antworten

  • Hallo Michael,

    zunächst müssten die beiden Rechner - Server wie Client - konfiguriert werden:

    Remotedebugging und -diagnose (bitte alle Abschnitte durcharbeiten, beginnend mit dem Download der für Dich passenden Version der Remote Tools)

    und Konfigurieren des Transact-SQL-Debuggers

    Wobei es exakt eingestellt werden sollte, denn ein ungesicherter Server wäre mir zu gefährlich ;(

    Bei beiden auch die englischen Texte durchschauen - dazu in der URL de-de durch en-us ersetzen -, gelegentlich sind die deutschen nicht auf dem letzten Stand - so fehlt im zweiten der Hinweis auf IPSec.

    Ob es (überhaupt) funktioniert, würde ich zuerst mit dem Management Studio prüfen, um erste Probleme zu erkennen und zu beseitigen.[1] Erst danach sollte man sich an den Versuch machen, das Projekt selbst bereit zu stellen und die CLR Funktionen zu debuggen.

    Anmerkung: Wenn es Dein ersten CLR Projekt ist, wäre es IMHO sinnvoller das zuerst auf einer lokalen Instanz auf dem lokalen Rechner zu probieren.

    Gruß Elmar

    [1] Eine Hilfestellung wäre "Unable to start T-SQL Debugging. Could not attach to SQL Server process on ‘DatabaseName’. The RPC server is unavailable."


    Freitag, 7. November 2014 19:08
    Beantworter

Alle Antworten

  • Hallo Michael,

    F5 ist nicht wirklich zum Bereitstellen gedacht, sondern startet wirklich das Debugging, nur um eine CLR zu debuggen muss sie zunächst bereit gestellt werden.

    Das eigentliche Bereitstellen ohne Debugging erfolgt übers Menü "Erstellen" => "Projektname bereitstellen", geht das den bei Dir?

    Siehe auch Bereitstellen von CLR-Datenbankobjekten


    Olaf Helper

    [ Blog] [ Xing] [ MVP]


    Freitag, 7. November 2014 15:01
  • Hallo Olaf,

    vielen Dank für Deine Antwort. Bei Ausführen des Menüpunktes "Erstellen => xxx bereitstellen" passiert augenscheinlich gar nichts - auch im Ausgabefenster regt sich nichts.

    Hingegen, wenn ich F5 drücke, erhalte ich folgende Informationen:

    Anschließend dann die in der Ausgangsfrage gezeigte Nachricht.

    Den von Dir verlinkten Artikel habe ich schon gelesen; leider hilft er mir nicht weiter. Kann das sein, dass das etwas mit den "Visual Studio Remote Tools" zu tun hat (ich hab ehrlich gesagt keine Ahnung, was das ist)? Ich hab gelesen, dass die nicht übers Internet funktionieren.

    Viele Grüße

    Michael

    Freitag, 7. November 2014 17:25
  • Hallo Michael,

    zunächst müssten die beiden Rechner - Server wie Client - konfiguriert werden:

    Remotedebugging und -diagnose (bitte alle Abschnitte durcharbeiten, beginnend mit dem Download der für Dich passenden Version der Remote Tools)

    und Konfigurieren des Transact-SQL-Debuggers

    Wobei es exakt eingestellt werden sollte, denn ein ungesicherter Server wäre mir zu gefährlich ;(

    Bei beiden auch die englischen Texte durchschauen - dazu in der URL de-de durch en-us ersetzen -, gelegentlich sind die deutschen nicht auf dem letzten Stand - so fehlt im zweiten der Hinweis auf IPSec.

    Ob es (überhaupt) funktioniert, würde ich zuerst mit dem Management Studio prüfen, um erste Probleme zu erkennen und zu beseitigen.[1] Erst danach sollte man sich an den Versuch machen, das Projekt selbst bereit zu stellen und die CLR Funktionen zu debuggen.

    Anmerkung: Wenn es Dein ersten CLR Projekt ist, wäre es IMHO sinnvoller das zuerst auf einer lokalen Instanz auf dem lokalen Rechner zu probieren.

    Gruß Elmar

    [1] Eine Hilfestellung wäre "Unable to start T-SQL Debugging. Could not attach to SQL Server process on ‘DatabaseName’. The RPC server is unavailable."


    Freitag, 7. November 2014 19:08
    Beantworter
  • Hallo Elmar,

    vielen Dank für Deine Antwort und die Links. Ich habe sie noch nicht durchgelesen, da ich wieder in der Firma bin und innerhalb des Firmen-LANs funktioniert es (was für mich das Wichtigste ist).

    Ich werde meine Frage dennoch als gelöst markieren und mich ggf. wieder mit einer neuen melden, falls es mit den Remote Tools nicht klappt.

    Der fragliche SQL Server ist übrigens ein Testserver in einer VM, den ich problemlos zurücksetzen kann, falls was schiefgehen sollte.

    Danke und Grüße

    Michael

    Montag, 10. November 2014 15:29
  • Hallo Michael,

    der Ausgabe nach, wurde das CLR Assembly nicht direkt gegen den SQL Server deployed:

    sondern hat eine SQL Datei erstellt, mit dessen Skript das Assembly manuell in den SQL Server übernehmen musst. Also SSMS starten, das Skript öffnen und durchsehen, was es macht und dann ggf. ausführen.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]


    Montag, 10. November 2014 16:03
  • Hallo Olaf,

    das ist wahr - das hätte ich aus der Meldung auch selbst lesen können.

    Vielen Dank.

    Michael

    Dienstag, 11. November 2014 12:45