J'ai précédemment créé un assemblage avec VS 2010 et l'ai signé avec une clé. J'ai couru un script comme celui-ci ci-dessous: le DBMise à jour d'un assemblage avec une clé asymétrique
USE master;
GO
CREATE ASYMMETRIC KEY SQLCLRPSBatch20Key FROM EXECUTABLE FILE = 'C:\Unsafe\MyDLL.dll';
CREATE LOGIN SQLCLRPSBatch20Login FROM ASYMMETRIC KEY SQLCLRPSBatch20Key;
GRANT UNSAFE ASSEMBLY TO SQLCLRPSBatch20Login;
GO
use MyDB;
GO
// create assembly script here to install unsafe assembly
Maintenant, dois-je faire cela et de créer une nouvelle clé et connectez-vous à chaque fois que je laisse tomber l'assemblage et réinstalle le mettre à jour?
Quand je fais cela, je reçois:
Msg 15396, Level 16, State 1, Line 2
An asymmetric key with name 'SQLCLRPSBatch20Key' already exists or this asymmetric key already has been added to the database.
Msg 15151, Level 16, State 1, Line 3
Cannot find the asymmetric key 'SQLCLRPSBatch20Key', because it does not exist or you do not have permission.
Msg 15151, Level 16, State 1, Line 4
Cannot find the login 'SQLCLRPSBatch20Login', because it does not exist or you do not have permission.
Je pense que oui puisque l'assemblée a été crée et signé de la même façon, je viens de l'installer. Est-ce correct?
oh okay donc je dois le faire la première fois, car il a été signé avec la clé, non? – cdub
Oui. Pour le prouver à vous-même, consultez sys.crypt_properties avant de vous déconnecter, de vous déconnecter, de vous reconnecter et de le vérifier à nouveau. Vous verrez que la signature de votre assemblage persiste. –