Der Fehler ist korrekt, Sie können VARCHAR(MAX) nicht implizit (oder explizit) umwandeln zu sql_variant . Wenn Name ist ein VARCHAR(MAX) Sie müssen es in einen kompatiblen Typ konvertieren (wie VARCHAR(8000) um ihn als Parameter an sys.fn_sqlvarbasetostr() zu übergeben
siehe msdn:
Wenn Sie die Funktionalität von sys.fn_sqlvarbasetostr() benötigen und Ihre col nicht herunterkonvertieren können, ohne Daten zu verlieren, müssen Sie möglicherweise Ihre eigene Version dieser Funktion rollen. CLR wäre eine gute Wette.