Wie DBO Schemanamen zu zwingen?
-
11-07-2019 - |
Frage
Ich bin mit "SQL Server-Projekt" in VS 2008 UDF in C # erstellen Ich verwende DEPLOY Befehl dann DLL in MS SQL Server 2005
zu veröffentlichenAlle funktioniert gut, außer alle bestehenden UDF werden von mir Besitz (als Benutzer) Aber ich wollte dbo-Schema halten (zB: dbo.UDF_TEST - nicht jonny.UDF_TEST)
Jede Idee, wie Thar verwalten?
Lösung 2
Ich habe einen anderen Ansatz gefunden alles in VS tun erlaubt.
Ich habe hinzugefügt SQL-Skript Projekt mit dem Namen "Postdeployscript.sql":
ERKLÄREN @SQL NVARCHAR (200)
SET @SQL = 'ändern Schema dbo Transfer' + CURRENT_USER + '. [UDF_GET_AUDIT_VALUE]
execute (@SQL)
GO
Skript wird automaticcally von VS während depolyment Prozess ausgeführt und ändert Schemata von aktuellen Benutzer DBO.
Nachteile: Sie müssen jede UDF / USP hinzufügen Sie ceating manuell
PS: Bitte beachten Sie auch Predeployscript.sql verwenden können einige commmands auszuführen vor der Bereitstellung
Andere Tipps
stellen Sie die UDF von einem Konto, das Sysadmin oder dbo in der Datenbank ist. Sie können die DLL bauen und sie dann manuell, indem Sie in Management Studio als dbo in der Datenbank und Ausführen dieser Befehle bereitstellen:
CREATE ASSEMBLY Geocode FROM
'C: \ PATH \ YourUDF.dll' WITH
PERMISSION_SET = SAFE
oder
- in Visual Studio in der Lösung Explorer klicken Sie auf das UDF Projekt (nicht die Lösung). Go
- Eigenschaften.
- Klicken Sie auf die Registerkarte Datenbank.
- Sie können die Verbindung ändern string, und auch die Montage ändern Besitzer hier.